Testing environment {#auto_testing}
===================
-The new test environment from Tizen is the Web-TCT test suite. This was written for testing web components, but can easily be used for testing Dali.
+The current test environment from Tizen is the Web-TCT test suite. This was written for testing web components, but can easily be used for testing Dali. The tests remain compatible with the previous TET test suite.
Each of the DALi repositories, **dali-core**, **dali-adaptor** and **dali-toolkit**, have their own test suites under the `automated-tests` folder. Within the src folder are a number of secondary folders - these correspond to 'API' tests and internal (for desktop testing only)
cd automated-tests
./build.sh
-This will build dali-adaptor, dali-adaptor-internal and dali-platform-abstraction test sets.
+This will build dali-adaptor, dali-adaptor-internal, dali-graphics and dali-platform-abstraction test sets.
Test sets can be built individually:
./execute.sh
-This will execute dali and dali-internal test sets. Note that the output summary for the first will be printed before running the second.
+To execute a subset of tests, you can run individual test sets, e.g.
+
+ ./execute.sh dali-adaptor
+
+To execute a specific test, just pass it on the command line:
+
+ ./execute.sh UtcDaliApplicationNew01
+
+To execute a matching subset of tests, use the prefix option:
+
+ ./execute.sh -p UtcDaliApplication
-By default the tests execute in parallel, which is faster but does not produce any test case output files. Use this to execute the tests in series and log test output to stdout/err
+will execute all tests that start with the prefix "UtcDaliApplication".
- ./execute.sh -S
To use test kit lite, (which is very slow),
firefox --new-window summary.xml
-To execute a subset of tests, you can run individual test sets, e.g.
-
- ./execute.sh dali-adaptor
To get full coverage output (you need to first build dali libraries with
--coverage), run
sudo ./tcbuild build dali-adaptor
sudo ./tcbuild build dali-adaptor-internal
+ sudo ./tcbuild build dali-graphics
sudo ./tcbuild build dali-platform-abstraction
./tcbuild install dali-adaptor
./tcbuild install dali-adaptor-internal
+ ./tcbuild install dali-graphics
./tcbuild install dali-platform-abstraction
Ensure your handset's filesystem is writable:
Adding tests
============
-To Managed API
---------------
-
-If you are adding test cases for new or existing managed API (CAPI), you need to add your changes to the src/dali mirror, and copy your change to the managed test suite in core-api. You need to inform HQ of your update.
-
For internal API
----------------
Note that **the parentheses in the method signature must not be empty** (i.e., it must violate our coding convention and follow __exactly__ this pattern: `int UtcDaliMyTestcaseName(void)`), as it's parsed by an awk script to auto-generate the testcase arrays in the main header file. Neither may any comments on the same line contain empty parentheses.
-You can contine to use the TET api, e.g. `tet_infoline`, `tet_result` and our test check methods `DALI_TEST_CHECK`, `DALI_TEST_EQUALS`, etc.
+You can use the previous TET api, e.g. `tet_infoline`, `tet_result` and our test check methods `DALI_TEST_CHECK`, `DALI_TEST_EQUALS`, etc.
If you need any non-test methods or variables, ensure they are wrapped in an anonymous namespace.
On desktop, you can debug the tests by running gdb on the test program:
$ cd automated-tests
- $ gdb build/src/dali-adaptor/tct-dali-adaptor-core
+ $ ./execute.sh -d <TestCase>
gdb> r <TestCase>
replace `<TestCase>` with the name of the failing testcase.
For example, using testcase UtcDaliLoadCompletion from the dali-platform-abstraction test suite:
- $ gdb build/src/dali-platform-abstraction/tct-dali-platform-abstraction-core
+ $ ./execute.sh -d UtcDaliLoadCompletion
gdb> r UtcDaliLoadCompletion