f5b74f7ded
Testing the ivi_layout API requires two things: - the tests must be written as a controller module to access the API - the tests need a helper client to create some objects that can then be managed via the API This patch adds all the infrastructure and two different kinds of example tests. Internal ivi-shell (ivi_layout) API tests are listed as ivi-*.la files in TESTS in Makefile.am. Weston-tests-env detects these, and runs Weston with ivi-shell, and loads the given module as a controller module, not as a normal plugin. The test controller module ivi-*.la will launch a helper client. For ivi-layout-test.la the helper client is ivi-layout.ivi. The helper client uses the weston-test-runner framework to fork and exec each TEST with a fresh connection to the compositor. The actual test is triggered by the weston_test_runner protocol interface, a new addition to weston-test.xml. The helper client uses weston_test_runner to trigger a test, and the server side of the interface is implemented by the test controller module (ivi-layout-test.la). The server side of weston_test_runner uses the same trick as weston-test-runner.h to gather a list of defined tests. A test is defined with the RUNNER_TEST macro. If a test defined by RUNNER_TEST succeeds, an event is sent to the helper client that it can continue (or exit). If a test fails, a fatal protocol error is sent to the helper client. Once the helper client has iterated over all of its tests, it signals the batch success/failure via process exit code. That is cought in the test controller module, and forwarded as Weston's exit code. In summary: each ivi_layout test is a combination of a client side helper/setup and server side actual tests. v2: Load weston-test.so, because create_client() needs it. v3: add a comment about IVI_TEST_SURFACE_ID_BASE. v4: Rebased to upstream weston-tests-env changes. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> (v2)
101 lines
1.2 KiB
Plaintext
101 lines
1.2 KiB
Plaintext
*.deps
|
|
*.jpg
|
|
*.la
|
|
*.lo
|
|
*.log
|
|
*.o
|
|
*.pc
|
|
*.so
|
|
*.swp
|
|
.*.sw?
|
|
.sw?
|
|
*.sublime-project
|
|
*.sublime-workspace
|
|
*.trs
|
|
*~
|
|
ctags
|
|
cscope.out
|
|
.libs
|
|
.dirstamp
|
|
/aclocal.m4
|
|
/autom4te.cache
|
|
/build-aux/
|
|
/config.guess
|
|
/config.h
|
|
/config.h.in
|
|
/config.log
|
|
/config.mk
|
|
/config.status
|
|
/config.sub
|
|
/configure
|
|
/depcomp
|
|
/install-sh
|
|
/libtool
|
|
/ltmain.sh
|
|
/logs
|
|
/missing
|
|
/stamp-h1
|
|
/test-driver
|
|
/weston.ini
|
|
Makefile
|
|
Makefile.in
|
|
TAGS
|
|
protocol/.*.valid
|
|
protocol/*.[ch]
|
|
|
|
00*.patch
|
|
|
|
weston-calibrator
|
|
weston-clickdot
|
|
weston-cliptest
|
|
weston-dnd
|
|
weston-editor
|
|
weston-eventdemo
|
|
weston-flower
|
|
weston-fullscreen
|
|
weston-gears
|
|
weston-image
|
|
weston-nested
|
|
weston-nested-client
|
|
weston-presentation-shm
|
|
weston-resizor
|
|
weston-scaler
|
|
weston-simple-egl
|
|
weston-simple-shm
|
|
weston-simple-touch
|
|
weston-simple-damage
|
|
weston-smoke
|
|
weston-stacking
|
|
weston-subsurfaces
|
|
weston-transformed
|
|
weston-view
|
|
|
|
weston-keyboard
|
|
libtoytoolkit.a
|
|
weston-desktop-shell
|
|
weston-ivi-shell-user-interface
|
|
weston-info
|
|
weston-screensaver
|
|
weston-screenshooter
|
|
weston-tablet-shell
|
|
weston-terminal
|
|
weston-multi-resource
|
|
weston-simple-im
|
|
git-version.h
|
|
version.h
|
|
weston
|
|
weston-launch
|
|
spring-tool
|
|
|
|
*.weston
|
|
*.test
|
|
*.ivi
|
|
wcap-decode
|
|
matrix-test
|
|
setbacklight
|
|
weston.1
|
|
weston-drm.7
|
|
weston.ini.5
|
|
|
|
/tests/weston-ivi.ini
|