diff options
Diffstat (limited to 'docs/4_APIs_and_Services/4.4_AGL_Test_Framework/3_Launch_the_tests/Launch_the_tests.md')
-rw-r--r-- | docs/4_APIs_and_Services/4.4_AGL_Test_Framework/3_Launch_the_tests/Launch_the_tests.md | 336 |
1 files changed, 0 insertions, 336 deletions
diff --git a/docs/4_APIs_and_Services/4.4_AGL_Test_Framework/3_Launch_the_tests/Launch_the_tests.md b/docs/4_APIs_and_Services/4.4_AGL_Test_Framework/3_Launch_the_tests/Launch_the_tests.md deleted file mode 100644 index 43993f4..0000000 --- a/docs/4_APIs_and_Services/4.4_AGL_Test_Framework/3_Launch_the_tests/Launch_the_tests.md +++ /dev/null @@ -1,336 +0,0 @@ ---- -edit_link: '' -title: Launch the tests -origin_url: >- - https://git.automotivelinux.org/apps/app-afb-test/plain/docs/3_Launch_the_tests.md?h=master ---- - -<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/apis_services/master/app-afb-test-developer-guides-api-services-book.yml --> - -# How to launch the tests ? - -## Natively during the development - -It could be convenient to be able to test the software that you are currently -developing. Then you can ensure that your modifications haven't introduced -regressions, bugs, etc. This depends upon your tests of course. - -As previously saw, you need the `test widget` to be able to launch the tests and -you need also to have the `afb-test` binding installed and the `application -framework binder` to be able to execute your tests. - -Assuming you already installed those components on your development host, then -proceed as the following from the project root directory: - -```bash -cd build -cmake -DBUILD_TEST_WGT=TRUE .. -make -make widget -``` - -To prepare all files needed for the test launch then use the `afm-test` script: - -```bash -# Usage of afm-test command line utility -afm-test --help -Usage: /opt/AGL/bin/afm-test <binding-wgt-rootdir> <test-wgt-rootdir> [-m|--mode <SOLO|SERVICE>] [-t|--timeout <X>] [-l|--lavaoutput] -binding-wgt-rootdir: path to the test wgt file -test-wgt-rootdir: path to the test folder file --m|--mode: SOLO (1 binder) or SERVICE (2 binders) (Default: SOLO) --t|--timeout: timeout in second. (Default 3 seconds) --l|--lavaoutput: Flags indicating the binding to add Lava special test markers. -Error: Test launch failed. Code: 1 -# Launching the test from your build project directory -afm-test package package-test -``` - -### Example with the afb-test selftest suite - -Prepare the launch building the `test widget`: - -```bash -$ cd build -# Cleaning the previous build files -$ rm -rf * -# Configuration step -$ cmake -DBUILD_TEST_WGT=TRUE .. --- The C compiler identification is GNU 8.2.1 --- The CXX compiler identification is GNU 8.2.1 --- Check for working C compiler: /usr/lib64/ccache/cc --- Check for working C compiler: /usr/lib64/ccache/cc -- works --- Detecting C compiler ABI info --- Detecting C compiler ABI info - done --- Detecting C compile features --- Detecting C compile features - done --- Check for working CXX compiler: /usr/lib64/ccache/c++ --- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Detecting CXX compile features --- Detecting CXX compile features - done -Distribution detected (separated by ';' choose one of them) fedora -Include: /home/claneys/.config/app-templates/cmake.d/00-common-var.cmake -Include: /home/claneys/Workspace/Sources/IOTbzh/gerrit.automotivelinux.org/apps/app-afb-test/conf.d/cmake/00-default-osconfig.cmake -Include: /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/cmake.d/01-build_options.cmake --- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2") --- Checking for module 'json-c' --- Found json-c, version 0.13.1 --- Checking for module 'libsystemd>=222' --- Found libsystemd, version 238 --- Checking for module 'afb-daemon>=4.0' --- Found afb-daemon, version 6.90.0 --- Checking for module 'lua>=5.3' --- Found lua, version 5.3.4 -Include: /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/cmake.d/02-variables.cmake --- Check gcc_minimal_version (found gcc version 8.2.1) (found g++ version 8.2.1) -Include: /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/cmake.d/03-macros.cmake -Include: /usr/share/cmake/Modules/CMakeAfbTemplates/cmake/cmake.d/04-extra_targets.cmake --- Overwrite the CMAKE default install prefix with /opt/AGL --- Found CURL: /usr/lib64/libcurl.so (found version "7.59.0") --- Qt's WebSocket AFB Client: Disabled! --- CURL wrapping helpers: Enabled! --- Notice: LUA Controler Support Selected --- Notice: Using default test widget configuration's file. --- If you want to use a customized test-config.xml template then specify TEST_WIDGET_CONFIG_TEMPLATE in your config.cmake file. --- Configuring done --- Generating done --- Build files have been written to: /home/claneys/Workspace/Sources/IOTbzh/gerrit.automotivelinux.org/apps/app-afb-test/build -# Build the binding -$ make -Scanning dependencies of target test-files -[ 3%] Generating test-files -[ 3%] Built target test-files -Scanning dependencies of target project_populate_test-files -[ 6%] Generating package-test/var/test-files -[ 6%] Built target project_populate_test-files -Scanning dependencies of target afb-test-config -[ 9%] Generating afb-test-config -Warning: JSON_CHECKER not found. Not verification made on files ! -[ 9%] Built target afb-test-config -Scanning dependencies of target project_populate_afb-test-config -[ 12%] Generating package-test/etc/afb-test-config -[ 12%] Built target project_populate_afb-test-config -Scanning dependencies of target aftest-config -[ 16%] Generating aftest-config -Warning: JSON_CHECKER not found. Not verification made on files ! -[ 16%] Built target aftest-config -Scanning dependencies of target project_populate_aftest-config -[ 19%] Generating package/etc/aftest-config -[ 19%] Built target project_populate_aftest-config -Scanning dependencies of target fixture-files -[ 22%] Generating fixture-files -[ 22%] Built target fixture-files -Scanning dependencies of target project_populate_fixture-files -[ 25%] Generating package-test/var/fixture-files -[ 25%] Built target project_populate_fixture-files -Scanning dependencies of target afTest-lua -[ 29%] Generating afTest-lua -[ 29%] Built target afTest-lua -Scanning dependencies of target project_populate_afTest-lua -[ 32%] Generating package/var/afTest-lua -[ 32%] Built target project_populate_afTest-lua -Scanning dependencies of target afb-helpers -[ 35%] Building C object afb-helpers/CMakeFiles/afb-helpers.dir/wrap-json.c.o -[ 38%] Building C object afb-helpers/CMakeFiles/afb-helpers.dir/filescan-utils.c.o -[ 41%] Building C object afb-helpers/CMakeFiles/afb-helpers.dir/escape.c.o -[ 45%] Building C object afb-helpers/CMakeFiles/afb-helpers.dir/curl-wrap.c.o -[ 48%] Linking C static library libafb-helpers.a -[ 48%] Built target afb-helpers -Scanning dependencies of target ctl-utilities -[ 51%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-action.c.o -[ 54%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-config.c.o -[ 58%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-onload.c.o -[ 61%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-plugin.c.o -[ 64%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-control.c.o -[ 67%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-event.c.o -[ 70%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-lua.c.o -[ 74%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-timer.c.o -[ 77%] Building C object app-controller-submodule/ctl-lib/CMakeFiles/ctl-utilities.dir/ctl-lua-utils.c.o -[ 80%] Linking C static library libctl-utilities.a -[ 80%] Built target ctl-utilities -Scanning dependencies of target aft -[ 83%] Building C object src/CMakeFiles/aft.dir/aft.c.o -[ 87%] Building C object src/CMakeFiles/aft.dir/mapis.c.o -[ 90%] Linking C shared module aft.so -[ 90%] Built target aft -Scanning dependencies of target project_populate_aft -[ 93%] Generating package/lib/aft.so -[ 93%] Built target project_populate_aft -Scanning dependencies of target populate -[ 96%] Generating package/bin, package/etc, package/lib, package/htdocs, package/var, package-test/bin, package-test/etc, package-test/lib, package-test/htdocs, package-test/var -[ 96%] Built target populate -Scanning dependencies of target afTest_build_done -++ Typical binding launch: afb-daemon --name afTest --port=1234 --workdir=package-test --ldpaths=/opt/AGL/lib64/afb:../package/lib --token= -[ 96%] Built target afTest_build_done -Scanning dependencies of target autobuild -[100%] Built target autobuild -# Build both widgets classic and test -$ make widget -[ 2%] Built target test-files -Scanning dependencies of target packaging_wgt -[ 5%] Generating package/config.xml -[ 8%] Generating package-test/config.xml, package-test/bin/launcher -[ 8%] Built target packaging_wgt -[ 11%] Generating package-test/var/test-files -[ 11%] Built target project_populate_test-files -Warning: JSON_CHECKER not found. Not verification made on files ! -[ 14%] Built target afb-test-config -[ 17%] Generating package-test/etc/afb-test-config -[ 17%] Built target project_populate_afb-test-config -Warning: JSON_CHECKER not found. Not verification made on files ! -[ 20%] Built target aftest-config -[ 23%] Generating package/etc/aftest-config -[ 23%] Built target project_populate_aftest-config -[ 26%] Built target fixture-files -[ 29%] Generating package-test/var/fixture-files -[ 29%] Built target project_populate_fixture-files -[ 32%] Built target afTest-lua -[ 35%] Generating package/var/afTest-lua -[ 35%] Built target project_populate_afTest-lua -[ 50%] Built target afb-helpers -[ 79%] Built target ctl-utilities -[ 88%] Built target aft -[ 91%] Built target project_populate_aft -[ 94%] Built target populate -Scanning dependencies of target widget -[ 97%] Generating aftest.wgt -NOTICE: -- PACKING widget aftest.wgt from directory /home/claneys/Workspace/Sources/IOTbzh/gerrit.automotivelinux.org/apps/app-afb-test/build/package -[100%] Generating aftest-test.wgt -NOTICE: -- PACKING widget aftest-test.wgt from directory /home/claneys/Workspace/Sources/IOTbzh/gerrit.automotivelinux.org/apps/app-afb-test/build/package-test -++ Install widget file using in the target : afm-util install afTest.wgt -[100%] Built target widget -``` - -Launch the test using the mode SERVICE for the `afb-test` because of a recursion -problem which loads 2 times the same binding and causes conflict. So it is -needed to uses 2 binders then each ones loads its binding properly: - -```bash -$ afm-test package package-test/ -m SERVICE -1..4 -# Started on Tue Oct 30 10:32:46 2018 -# Starting class: TestListverb -ok 1 TestListverb.testFunction -# Starting class: TestGetVerb -ok 2 TestGetVerb.testFunction -# Starting class: Test_turning_on -ok 3 Test_turning_on.testFunction -# Starting class: testLockWait -ok 4 testLockWait.testFunction -# Ran 4 tests in 0.001 seconds, 4 successes, 0 failures -~~~~~~~~~~ BEGIN ALL TESTS ~~~~~~~~~~ -1..59 -# Started on Tue Oct 30 10:32:48 2018 -# Starting class: testAssertEquals -~~~~~ Begin Test ~~~~~ -~~~~~ Begin Test Assert Equals ~~~~~ -~~~~~ End Test Assert Equals ~~~~~ -~~~~~ End Test ~~~~~ -ok 1 testAssertEquals.testFunction -# Starting class: testAssertNotEquals -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -ok 2 testAssertNotEquals.testFunction -# Starting class: testAssertItemsEquals -~~~~~ Begin Test ~~~~~ -[...] -~~~~~ End Test ~~~~~ -ok 57 testAssertVerbStatusError.testFunction -# Starting class: testAssertVerbResponseEqualsError -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -ok 58 testAssertVerbResponseEqualsError.testFunction -# Starting class: testAssertVerbCbError -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -ok 59 testAssertVerbCbError.testFunction -# Ran 59 tests in 0.003 seconds, 59 successes, 0 failures -~~~~~~~~~~ END ALL TESTS ~~~~~~~~~~ -Tests correctly launched. -``` - -## Launch test on a target board - -If you are trying to launch your test on a target you'll have to use -a test widget which contains test files, fixture and configuration. -Then use **afm-test**: - -```bash -# afm-test -h -Usage: /usr/bin/afm-test [-l|--lava] [-v|--verb <verb>] <path> --l|--lavaoutput: flag that enable Lava test marker to the output. (Default: disabled) --v|--verb: select a specific verb to launch from the test API. (Default: all) -path: path to the test wgt file -``` - -By default, the test widgets should be located in /usr/AGL/apps/testwgt. This -will install the widget, launch the tests then display the result on standard -output. After that it will kill test binding and remove it. - -### Example on a target - -Here is an example: - -```bash -qemux86-64:~# afm-test /usr/AGL/apps/testwgt/aftest-test.wgt -afm-test /tmp/aftest-test.wgt -PASS: aftest-test@6.90 started with pid=1649 -1..59 -~~~~~ Begin Test ~~~~~ -~~~~~ Begin Test Assert Equals ~~~~~ -~~~~~ End Test Assert Equals ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 1 testAssertEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 2 testAssertNotEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 3 testAssertItemsEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -[...] -PASS: 58 testAssertVerbResponseEqualsError.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 59 testAssertVerbCbError.testFunction -# Ran 59 tests in 0.003 seconds, 59 successes, 0 failures -~~~~~~~~~~ END ALL TESTS ~~~~~~~~~~ -1..63 -~~~~~ Begin Test ~~~~~ -~~~~~ Begin Test Assert Equals ~~~~~ -~~~~~ End Test Assert Equals ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 1 testAssertEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 2 testAssertNotEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 3 testAssertItemsEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -[...] -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 61 TestGetVerb.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 62 Test_turning_on.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 63 testLockWait.testFunction -# Ran 63 tests in 0.003 seconds, 63 successes, 0 failures -~~~~~~~~~~ END ALL TESTS ~~~~~~~~~~ -PASS: aftest-test@6.90 killed and removed -``` - -The command being : ```afm-test /usr/AGL/apps/testwgt/aftest-test.wgt``` - -You can see here that everything ran as on your pc terminal. -**Begin Test** and **End Test** are the -beforeEach and afterEach functions and -**END ALL TESTS** is the after all functions. - - **PASS :** shows the function that is or was running. |