This supports specifying a file system path to test(s) to run. The path can be
a java test class file, a java package directory, or a parent directory
containing many tests.
This change allows users to run tests independently from test_defs.xml.
BUG 2133198
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.
This attempts to address bug 1872940 where runtest will attempt to
run the test before all the new packages pushed via adb sync are
actually installed. This won't completely fix the bug in all cases,
but hopefully will help most situations.
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.
This change is to adapt runtest to the InstrumentationTestRunner change which
dumps coverage data to the app's local data folder, instead of a fixed file on
the sdcard.
Also fixed adb_interace.StartInstrumentationForPackage, added better handling
when generating coverage for tests with unknown coverage targets, and reduced
the duplicate definitions of the "coverage_targets.xml" definition file.
Don't fail if valgrind (system version not the google3 one) is missing.
If the test fail, print the output of the test.
Added .pyc to the gitignore file.
"runtest -c .<className>" will now be equivalent to
"runtest -c <package>.<className>", where package is the test-app's package as defined in test_defs.xml.
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