With this change, also refactored runtest as follows: Modified the
test suite schema and python implementation to have an inheritance
structure. Each test type has its own python module, which will
also handle the logic of running the test.
Adds cts test definitions to the testrunner/test_defs.xml.
Adds support for runtest --cts arg, which will run all cts tests.
This temporarily relies on the addition of a 'cts' attribute to the test
definition - a new xml format may be defined later that changes how cts tests
are identified.
This change is based on previous unsubmitted CL
https://android-git.corp.google.com/g/Gerrit#change,1702. The only delta wrt
to that change is the use of InstrumentationCtsTestRunner.
Update: rebased to latest donut.
Previously we were looking for test files with this pattern: test_*
I added *_test.[cc|cpp] and *_unittest.[cc|cpp]
The search also scan all the subdirectories of the build_path from
the test definition.
I added a filtering stage where missing tests are ignored.
For instance we may have a source file that has not been built for
the target, in which case it is ignored when we run the target tests.
In android_build.py I added 4 helper functions to get access to the
build environment:
- GetHostBin
- GetProductOut
- GetTargetSystemBin
- GetHostOsArch
Replace all the hardcoded linux-x86 strings with the value returned
by GetHostOsArch.
For instance the libstdc++ testsuite requires BIONIC_TESTS=1 to
actually build the tests.
* development/testrunner/test_defs.py:
Parse the new extra_make_args attribute.
* development/testrunner/runtest.py:
Added support for extra make arguments. Some testsuite requires this to actually be built.
Changed the log statement to log what is actually being done.
* development/testrunner/test_defs.xml:
Added extra make argument to enable the libstdc++ tests.
Automated import of CL 144500
The tests name must start with 'test_'.
Tests should return 0 on success, 1 on failure.
* development/testrunner/test_defs.xml:
Added new element to represent native tests.
* development/testrunner/test_defs.py:
Added handling of the new <test-native> element.
The testsuite has new IsNative method.
TestDefinition's iterator is ordered by test names.
Added GetDescription() method to access the optional description.
* development/testrunner/runtest.py:
Print the description next to the test name if applicable
(runtest_py -l)
Added a _RunNativeTest method to run a test on the target, report
the status and clean up the test after the run.
Added
BUG=1601432
Automated import of CL 144340