diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-29 18:37:26 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2018-10-31 21:03:06 +0000 |
commit | 2f3654275e44f9719818a848da9a0b576d5a1b53 (patch) | |
tree | ff75764bbb2e3037f73f95a96ac5ed2fcba93465 /docs/2_LaunchTheExample.md | |
parent | 2a7b4defe300dfe5eb19f775bd819e2d300b7453 (diff) |
Docs reorganization and update
Docs reorganization and update using the latest afb-test improvments and
try to make it clearer.
Change-Id: If022cdb46364ef250361bdcd420d45b360f10a2e
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'docs/2_LaunchTheExample.md')
-rw-r--r-- | docs/2_LaunchTheExample.md | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/docs/2_LaunchTheExample.md b/docs/2_LaunchTheExample.md deleted file mode 100644 index 1ef3de7..0000000 --- a/docs/2_LaunchTheExample.md +++ /dev/null @@ -1,232 +0,0 @@ -# Launch The Example - -## From a terminal (on your build host) - -To launch your tests, enter this command. - -```bash -export BUILD_DIR_PATH = "$(pwd)/build" -./afb-test.sh <BUILD_DIR_PATH> -``` - -On afb-daemon startup you should have all the app-framework config displayed: - -```shell ----BEGIN-OF-CONFIG--- --- console: ./AFB-console.out --- rootdir: . --- roothttp: --- rootbase: /opa --- rootapi: /api --- workdir: . --- uploaddir: . --- token: 1 --- name: afbd-test --- aliases: --- dbus_clients: --- dbus_servers: --- ws_clients: --- ws_servers: --- so_bindings: --- ldpaths: /opt/AGL/lib64/afb:lib --- weak_ldpaths: --- calls: --- exec: --- httpdPort: 1234 --- cacheTimeout: 100000 --- apiTimeout: 20 --- cntxTimeout: 32000000 --- nbSessionMax: 10 --- mode: local --- tracereq: common --- traceditf: no --- tracesvc: no --- traceevt: no --- no_ldpaths: no --- noHttpd: no --- background: no --- monitoring: no --- random_token: no ----END-OF-CONFIG--- -INFO: entering foreground mode -INFO: running with pid 20430 -INFO: API monitor added -INFO: binding monitor added to set main -INFO: Scanning dir=[/opt/AGL/lib64/afb] for bindings -INFO: binding [/opt/AGL/lib64/afb/demoContext.so] is a valid AFB binding V1 -INFO: binding [/opt/AGL/lib64/afb/demoContext.so] calling registering function afbBindingV1Register -INFO: API context added -INFO: binding /opt/AGL/lib64/afb/demoContext.so loaded with API prefix context -INFO: binding [/opt/AGL/lib64/afb/helloWorld.so] looks like an AFB binding V2 -INFO: binding hello calling preinit function -NOTICE: [API hello] hello binding comes to live -INFO: API hello added -INFO: binding hello added to set main -INFO: binding [/opt/AGL/lib64/afb/tic-tac-toe.so] looks like an AFB binding V2 -INFO: API tictactoe added -INFO: binding tictactoe added to set main -INFO: binding [/opt/AGL/lib64/afb/demoPost.so] is a valid AFB binding V1 -INFO: binding [/opt/AGL/lib64/afb/demoPost.so] calling registering function afbBindingV1Register -INFO: API post added -INFO: binding /opt/AGL/lib64/afb/demoPost.so loaded with API prefix post -INFO: binding [/opt/AGL/lib64/afb/ave.so] looks like an AFB binding Vdyn -... -... -... -NOTICE: API salut started -INFO: API tictactoe starting... -NOTICE: API tictactoe started -NOTICE: Waiting port=1234 rootdir=. -NOTICE: Browser URL= http://localhost:1234 -``` - -Then in a new terminal launch the client: - -``` bash -afb-client-demo ws://localhost:1234/api?token=1 -afTest launch_all_tests -``` - -You should get something like: - -``` bash -{"response":{"info":"Launching tests"},"jtype":"afb-reply","request":{"status":"success","uuid":"3fa17ce6-0029-4ef9-8e0d-38dba2a9cf38"}} -{"event":"afTest\/results","data":{"info":"Success : 72 Failures : 6"},"jtype":"afb-event"} -``` - -Here you can see that the verb succeeded and that we have 71 Success for 5 failures. - -And on your afb-daemon terminal you have all information about your tests step-by-step (note that it depends on the level of verbosity you gave to the afb-daemon (-vvv option)). - -```shell -DEBUG: received websocket request for afTest/launch_all_tests: null -HOOK: [xreq-000001:afTest/launch_all_tests] BEGIN -HOOK: [xreq-000001:afTest/launch_all_tests] json() -> "null" -HOOK: [xreq-000002:monitor/set] BEGIN -HOOK: [xreq-000002:monitor/set] reply[denied](null, invalid token's identity) -HOOK: [xreq-000002:monitor/set] END -HOOK: [xreq-000003:monitor/trace] BEGIN -HOOK: [xreq-000003:monitor/trace] reply[denied](null, invalid token's identity) -HOOK: [xreq-000003:monitor/trace] END -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -... -... -... -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -~~~~~~~~~~ BEGIN ALL TESTS ~~~~~~~~~~ -HOOK: [xreq-000001:afTest/launch_all_tests] reply[success]({ "info": "Launching tests" }, (null)) -# XML output to var/jUnitResults.xml -# Started on Wed Jul 11 15:42:44 2018 -# Starting class: testPingSuccess -# Starting test: testPingSuccess.testFunction -~~~~~ Begin testPingSuccess ~~~~~ -HOOK: [xreq-000004:hello/ping] BEGIN -HOOK: [xreq-000004:hello/ping] json() -> null -HOOK: [xreq-000004:hello/ping] reply[success]("Some String", Ping Binder Daemon tag=pingSample count=1 query=null) -HOOK: [xreq-000004:hello/ping] END -~~~~~ End testPingSuccess ~~~~~ -# Starting class: testPingSuccessAndResponse -# Starting test: testPingSuccessAndResponse.testFunction -HOOK: [xreq-000005:hello/ping] BEGIN -HOOK: [xreq-000005:hello/ping] json() -> null -HOOK: [xreq-000005:hello/ping] reply[success]("Some String", Ping Binder Daemon tag=pingSample count=2 query=null) -HOOK: [xreq-000005:hello/ping] END -# Starting class: testPingSuccessResponseFail -# Starting test: testPingSuccessResponseFail.testFunction -HOOK: [xreq-000006:hello/ping] BEGIN -HOOK: [xreq-000006:hello/ping] json() -> null -HOOK: [xreq-000006:hello/ping] reply[success]("Some String", Ping Binder Daemon tag=pingSample count=3 query=null) -HOOK: [xreq-000006:hello/ping] END -# Failure: ./var/aft.lua:224: expected: "Unexpected String" -# actual: "Some String" -... -... -... -~~~~~~~~~~ END ALL TESTS ~~~~~~~~~~ -HOOK: [xreq-000001:afTest/launch_all_tests] END - -``` - -## On target - -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 <path> -``` - -By default, the test widgets should be located in /usr/AGL/apps/testwgt. -This it will install the widget, launch the tests then display the result -on standard output. After that it will kill test app and remove it. - -You can produce a widget buy entering ```make widget``` in *build/*. - -Here is an example: - -```bash - -qemux86-64:~# afm-test /usr/AGL/apps/testwgt/aftest-test.wgt -PASS: aftest-test@5.99 started with pid=3857 -null -null -1..62 -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 1 TestListverb.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 2 TestGetVerb.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 3 Test_turning_on.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ Begin Test Assert Equals ~~~~~ -~~~~~ End Test Assert Equals ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 4 testAssertEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 5 testAssertNotEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 6 testAssertItemsEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 7 testAssertAlmostEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 8 testAssertNotAlmostEquals.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 9 testAssertEvalToTrue.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 10 testAssertEvalToFalse.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -[...] -PASS: 60 testAssertVerbStatusError.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 61 testAssertVerbResponseEqualsError.testFunction -~~~~~ Begin Test ~~~~~ -~~~~~ End Test ~~~~~ -PASS: 62 testAssertVerbCbError.testFunction -# Ran 62 tests in 0.003 seconds, 62 successes, 0 failures -~~~~~~~~~~ END ALL TESTS ~~~~~~~~~~ -PASS: aftest-test@5.99 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.
\ No newline at end of file |