Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Currently not all components are included and contribution to fill the gap is welcomed.

test using script

Test instructions

Build and booting with test image

  • add meta-ivi-test layers to <your build directory>/conf/bblayers.conf


Code Block
BBLAYERS += " \
    ##your source code root##/poky/../meta-ivi/meta-ivi-test \
    "
build test-image
export TEMPLATECONF=`pwd`/meta-ivi/meta-ivi/conf
source poky/oe-init-build-env build
MACHINE=qemux86-64 bitbake test-image
  • boot with test-image
Code Block
languagebash
../meta-ivi/scripts/runqemu test-image qemux86-64 nographic

Test run

  • run all tests of all s/w


Code Block
root@qemux86-64:~# /opt/tests/test-fw.sh
##########
audiomanager
##########
[ number of tests: 7 ]
[ run_1 ][ PASSED ] 19 tests.
...
  • list up of specific s/w with tests


Code Block
root@qemux86-64:~# /opt/tests/test-fw.sh list
audiomanager 7
audiomanagerplugins 5
capicxx-perf 1
common-api-test 1
dlt-daemon 2
...
  • run all tests of specific s/w


Code Block
root@qemux86-64:~# /opt/tests/test-fw.sh dlt-daemon
##########
dlt-daemon
##########
[ number of tests: 2 ]
[ run_1 ] PASSED
[ run_2 ] PASSED
...
  • run a test of specific test


Code Block
root@qemux86-64:~# /opt/tests/test-fw.sh dlt-daemon 1
##########
dlt-daemon
##########
[ run_1 ]
testFile1Run1 successful
testFile1Run2 successful
testFile2Run1 successful
...

How to create test cases

  • target directory of test program is /opt/tests/<s/w name>
Code Block
root@qemux86-64:~# ls -F /opt/tests/
audiomanager/ node-startup-controller/
audiomanagerplugins/ node-state-manager/
bluez5/ persistence-administrator/
capicxx-perf/ persistence-client-library/
...
  • create script for test-fw.sh
  • Filename should be /opt/tests/<s/w name>/<s/w name>_t.inc


Code Block
languagebash
root@qemux86-64:~# ls -F /opt/tests/audiomanager
AmControlInterfaceTest* AmRouterTest* AmTelnetServerTest*
AmMapHandlerTest* AmRoutingInterfaceTest* audiomanager_t.inc*
AmRouterMapTest* AmSocketHandlerTest*
root@qemux86-64:~# 
root@qemux86-64:~# 
root@qemux86-64:~# 
root@qemux86-64:~# 
root@qemux86-64:~# cat /opt/tests/audiomanager/audiomanager_t.inc
#!/bin/sh
get_list() {
return 2
}
get_title() {
echo "dlt-daemon"
}
_run_dir=/opt/tests/dlt-daemon
run_1() {
# If argument 1 is exist, please, reduce log messages
if [ "x${1}" != "x" ]; then
${_run_dir}/dlt-test-filetransfer > /tmp/t
_c1=$?
if [ "x${_c1}" = "x0" ]; then
echo " PASSED"
else
echo " FAILED"
fi
else
${_run_dir}/dlt-test-filetransfer
fi
}
run_2() {
if [ "x${1}" != "x" ]; then
...
}
script have to provide 3 functions at least
get_list() -> return the number of testcases
get_title() -> return the string of test title
actual test function. The name must be run_x() like
run_1()
run_2()
...
Note
In run_X() functions, If argument 1 is exist, please, reduce log messages
Warning

DEPRECATED, this is as of this writing the same information as above but will be updated. Kept for reference for now.

See test_of_meta-ivi.pptx for instructions on how to build, run and add new tests.

build and test manually

Warning

This information is partially incorrect, we might want to remove it and/or move it into the git repository.


  1. add meta-ivi-test layers to <your build directory>/conf/bblayers.conf

    Code Block
    languagexml
    BBLAYERS += " \
        ##your source code root##/poky/../meta-ivi/meta-ivi-test \
        "
  2. add test package to your image by modifying <your build directory>/conf/bblayers.conf.

    Code Block
    languagebash
    IMAGE_INSTALL_append += " \
        audiomanager-test \
        common-api-test \
        "
  3. after build, you can see the directory /opt/tests in your s/w image

    Code Block
    languagebash
    root@qemux86-64:~# ls -F /opt/tests/
    audiomanager/               node-startup-controller/
    audiomanagerplugins/        node-state-manager/
    bluez5/                     persistence-administrator/
    capicxx-perf/               persistence-client-library/
    common-api-test/            test-fw.sh*
  4. run test with following instructions
    1. Test of AudioManager
    2. Test of wayland-ivi-extension
    3. Test of Common API C++ runtime.
    4. Test of persistence-administrator
    5. Test of persistence-client-library (PCL)
    6. Test of persistence-common-object
    7. Test of dlt-daemon
    8. Test of node-state-manager
    9. Test of node-health-monitor
    10. Test of node-startup-controller
    11. Test of bluez5