rewrote quickstart, build-process
[AGL/documentation.git] / docs / 4_APIs_and_Services / 4.4_AGL_Test_Framework / 3_Launch_the_tests / Launch_the_tests.md
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 (file)
index 43993f4..0000000
+++ /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.