--- /dev/null
+# TC Selector
+
+- smart tool for selecting TCs before building efl-test-suite
+- dramatically reduce the build time to less than 1 min.
+
+# Dependencies
+
+- Logger class - requires 'colorlog' module. install it by
+`sudo python3 -m pip install colorlog`
+
+
+# how to run
+`git clone https://github.sec.samsung.net/UIFW-SRID/TCSelector/`
+<br/>
+
+`python3 main.py`
+
+- How to use the tool
+
+```console
+$ python3 main.py
+
+Commands:
+
+ build To do gbs build
+ build clean To do clean gbs build
+ build custom To do custom gbs build
+ run <device name> To execute TCs on device(mobile,wear,rpi), e.g. run mobile
+ help/? To show the help commands
+ quit/q Exit from the program
+```
+# Commands
+
+## `build`
+It will perform a normal gbs build operation.
+
+```console
+--> build <-- User use 'build' command for gbs build
+Enter the path of efl-test-suite: ~/efl-test-suite <--- user enters the path of efl-test-suite directory
+2020-08-26 12:12:28 - WARNING - path entered: /home/sri/efl-test-suite
+Enter the list of TCs to be built(separated by comma, e.g. utc_elm_panes_content_left_size_get_set.c, utc_edje_edit_part_exist.c): utc_elm_panes_content_left_size_get_set.c, utc_edje_edit_part_exist.c <-- user enters the TCs he wants to build.
+2020-08-26 12:12:40 - WARNING - TCs selected: utc_elm_panes_content_left_size_get_set.c, utc_edje_edit_part_exist.c
+2020-08-26 12:12:41 - INFO - Copying... /home/sri/efl-test-suite to /tmp/
+2020-08-26 12:12:43 - INFO - Copying done to /tmp/efl-test-suite/
+2020-08-26 12:12:43 - INFO - TC utc_elm_panes_content_left_size_get_set.c added into tslist
+2020-08-26 12:12:43 - INFO - utc_elm_panes_content_left_size_get_set.c: added.
+2020-08-26 12:12:43 - INFO - TC utc_edje_edit_part_exist.c added into tslist
+2020-08-26 12:12:43 - INFO - utc_edje_edit_part_exist.c: added.
+2020-08-26 12:20:10 - INFO - Starting gbs build for armv7l
+2020-08-26 12:20:10 - INFO - changed the directory to /tmp/efl-test-suite/
+2020-08-26 12:20:10 - WARNING - Starting the GBS build
+info: generate repositories ...
+warning: No local package repository for arch armv7l
+..
+
+..
+
+[ 33s] + umask 022
+[ 33s] + cd /home/abuild/rpmbuild/BUILD
+[ 33s] + cd efl-test-suite-1.3.0
+[ 33s] + /bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/efl-test-suite-1.3.0-3.arm
+[ 33s] + exit 0
+[ 33s] ... checking for files with abuild user/group
+[ 33s]
+[ 33s] sri-Samsung-DeskTop-System finished "build efl-test-suite.spec" at Wed Aug 26 06:51:21 UTC 2020.
+[ 33s]
+info: finished building efl-test-suite
+info: updating local repo
+File::Glob::glob() will disappear in perl 5.30. Use File::Glob::bsd_glob() instead. at /usr/bin/depanneur line 2154.
+info: *** Build Status Summary ***
+=== Total succeeded built packages: (1) ===
+info: generated html format report:
+ /home/sri/GBS-ROOT/local/repos/standard/armv7l/index.html
+info: generated RPM packages can be found from local repo:
+ /home/sri/GBS-ROOT/local/repos/standard/armv7l/RPMS
+info: generated source RPM packages can be found from local repo:
+ /home/sri/GBS-ROOT/local/repos/standard/armv7l/SRPMS
+info: build logs can be found in:
+ /home/sri/GBS-ROOT/local/repos/standard/armv7l/logs
+info: build roots located in:
+ /home/sri/GBS-ROOT/local/BUILD-ROOTS/scratch.armv7l.*
+info: Done
+2020-08-26 12:21:22 - WARNING - Build is finished
+```
+
+## `build clean`
+It will perform a clean gbs build operation downloading and installing various dependencies and packages
+## `build custom`
+It will perform gbs build with custom build.conf. The user is required to input the build command with build.conf path
+## `run device`
+`device` can be `mobile, wear, or rpi`. For now, `mobile and wear` are only supported. `rpi` support is under development.
+<br/> <br/>
+The user will be required to input GBS-ROOT path to get the location of `efl-test-suite rpm`
+and latest `check rpm` will be downloaded from tizen repository automatically in TC selector folder and both rpms will be pushed and installed on the device.
+TCs execution will begin afterwards and results will be pulled and saved at the path desired by the user.
+
+```console
+->>> run mobile
+2020-09-23 14:44:45 - INFO - Device is connected to the system.
+2020-09-23 14:44:45 - WARNING - Flash tizen image and push plugins into the device before starting execution.
+To cancel, Enter N/n; Enter Y/y, when the setup is ready to resume: y
+Enter the path of your efl-test-suite RPMS directory: ~/GBS-ROOT/local/repos/standard/armv7l/RPMS <--- user enters the path of RPMS directory
+2020-09-23 14:44:55 - INFO - Path entered: /home/sri/GBS-ROOT/local/repos/standard/armv7l/RPMS/efl-test-suite-1.3.0-3.armv7l.rpm
+2020-09-23 14:44:55 - INFO - efl rpm can be found at /tmp/RPMS/
+Switched to 'root' account mode
+WARNING: Your data are to be sent over an unencrypted connection and could be read by others.
+pushed efl-test-suite-1.3.0-3.armv7l.rpm 100% 15MB 16493KB/s
+1 file(s) pushed. 0 file(s) skipped.
+//home/sri/GBS-ROOT/local/repos/standard/armv7l/RPMS/efl-test-suite-1.3.0-3.armv7l.rpm 12781KB/s (16149201 bytes in 1.233s)
+2020-09-23 14:45:04 - INFO - efl-test-suite-1.3.0-3.armv7l.rpm pushed successfully.
+2020-09-23 14:44:55 - INFO - check rpm is downloaded at /tmp/RPMS/
+WARNING: Your data are to be sent over an unencrypted connection and could be read by others.
+pushed check-0.14.0-13.17.armv7l.rpm 100% 24KB 0KB/s
+1 file(s) pushed. 0 file(s) skipped.
+/tmp/RPMS/check-0.14.0-13.17.armv7l.rpm 119KB/s (25053 bytes in 0.204s)
+2020-09-23 14:45:04 - INFO - check-0.14.0-13.17.armv7l.rpm pushed successfully.
+Preparing... ################################# [100%]
+Updating / installing...
+ 1:efl-test-suite-1.3.0-3 ################################# [100%]
+2020-09-23 14:45:38 - INFO - efl-test-suite-1.3.0-3.armv7l.rpm installed successfully on the device.
+Preparing... ################################# [100%]
+Updating / installing...
+ 1:check-0.14.0-13.17 ################################# [100%]
+2020-09-23 14:45:39 - INFO - check-0.14.0-13.17.armv7l.rpm installed successfully on the device.
+2020-09-23 14:45:39 - WARNING - Please setup wifi, lockscreen, screen timeout settings before starting execution.
+To cancel, Enter N/n; Enter Y/y, when the setup is ready to resume: y
+Starts the test for Mobile Profile scenaraios
+==================================================
+----- Recommended checklist BEFORE execution -----
+It just recommendation to check your mistake about
+TC preconditions.
+You can ignore this messages if your preparation
+is perfect.
+
+1. Check display state. (always should bright)
+
+2. Check lockscreen if exist. (should unlock)
+
+3. Check disk space of results dir
+ (If not enough, move to another mounting point)
+
+4. Install 'python' and 'python-lxml'.
+ (If you want to create html result successfully)
+
+5. Check internet connection
+ (If you will test 'ecore_con' or 'elm_map' ...)
+==================================================
+
+
+--
+
+
+--
+
+
+==================================================
+--------------------- Failed ---------------------
+--------------------- Errors ---------------------
+==================================================
+==================================================
+----- Recommended checklist AFTER execution -----
+Please check crash dump dir
+Sometimes some crashed case does not be counted
+into a total result
+==================================================
+Checked 25, passed 25, failed 0, errors 0
+Execute Finished!
+
+Enter the path where you want to save results: ~/
+2020-09-23 14:50:24 - WARNING - path entered: /home/sri/
+pulled exec-tar-result-1602218349.journal 100% 2884 B 0KB/s
+1 file(s) pulled. 0 file(s) skipped.
+/opt/usr/efl-test-suite/TC/results/exec-tar-result-1602218349.journal 19KB/s (2884 bytes in 0.143s)
+pulled exec-tar-result-1602218349.timing 100% 950 B 0KB/s
+1 file(s) pulled. 0 file(s) skipped.
+/opt/usr/efl-test-suite/TC/results/exec-tar-result-1602218349.timing 6KB/s (950 bytes in 0.143s)
+pulled exec-tar-result-1602218349.xml 100% 8593 B 0KB/s
+1 file(s) pulled. 0 file(s) skipped.
+/opt/usr/efl-test-suite/TC/results/exec-tar-result-1602218349.xml 57KB/s (8593 bytes in 0.146s)
+pulled build-tar-result-1602218218.journal 100% 30KB 0KB/s
+1 file(s) pulled. 0 file(s) skipped.
+/opt/usr/efl-test-suite/TC/results/build-tar-result-1602218218.journal 164KB/s (30919 bytes in 0.183s)
+2020-09-23 14:50:25 - INFO - Results saved at /home/sri//result_mobile_23-09-2020_14:50:24
+->>> q
+```