New test tools are adding --no-hidden-api-checks when tests have
hidden-api-checks=false in their AndroidTest.xml, however this is not
supported by runtest. As only runtest is available in AOSP, this leaves
no option to make tests of internal classes pass.
Add an option to disable the check in runtest so we can still run tests in
AOSP.
Test: runtest frameworks-net still fails
Test: runtest --no-hidden-api-checks frameworks-net now passes
Change-Id: I9be9674d0bf2588ff509121273379f08d4cb3aea
Currently runtest script installs and then runs test apks with default
"adb install" and "adb shell am instrument" behavior. They are actually
different, "adb install" uses USER_ALL, "am instrument" uses
USER_CURRENT. This cl introduces a way to specify exactly which user a
test should run with in a multiple user environment. This also provides
a work around for b/22976637 for now.
Bug: 19913735
Bug: 22976637
Change-Id: I65e2b2c79768734a8bc9261f8c4693c9f89016b1
This change automatically adds -g to all adb install commands
for runtest. It also allows users to:
1) Specify '-k' as a command line arg to avoid granting permissions.
2) Declare a test suite as 'requiring permissions' within test_defs
Also fixes a potential bug where continuous="false" would translate
to True in the python code.
Bug: 21327566
Change-Id: I62d14e8106174861397b3fd8caa3e567e3538713
The media CTS test apk is quite large, causing installation to often
take (much) longer than the 20 second timeout that runtest uses.
Increasing it to 60 seconds fixes the issue.
Change-Id: I43cc1e094a29f8b1bd18e8f27ff53e183664f2bb
* Combine dalvik.vm.dexopt-flags with existing to disable verification
* Always do a runtime reset (stop;start) instead of rebooting device
* Build dependencies (mma) if regular build fails (mm)
Change-Id: I5e9fcebeea052c3314d1f4146b074637c329c0a0
Stop using 'adb sync' in runtest. It was unreliable even when working
with full platform builds, and doesn't work at all for unbundled apps.
Instead, use output from build command to find produced artifacts and
use 'adb install' where possible.
However, note that this approach won't sync previously built artifacts
to device.
Also adjust to build system support for code coverage. Its no longer
required to build libcore to get code coverage.
Change-Id: I9c5d37897c9570d2d29db3ec82f5c53e60a8f485
This is a rough initial version. It makes several assumptions:
- assumes each test source file is built into module with name equal
to basename of source file
- assumes tests get installed into /data/nativetest
However, given those assumptions, both:
$ runtest --path <path to directory containing gtest source> and
$ runtest --path <path to single source file>
should work.
Coming soon: gtest host support
Bugs 4563370, 4584339
Change-Id: Ia42aeed7f9ee6402b0ceb7b5ccaaa66ac636fe49
Checks if the test to run is a framework test based on path, and if so
disables the davlik verifier by writing to /data/local.prop and
rebooting device.
Change-Id: Ibf94fb921662b5ddf6136dd12360d5de83a3a284
* automatically detect if emma is on device
* build emma into libcore if necessary
* stop runtime before adb sync and restart afterwards
Change-Id: Id5087fdd6c0345f2b9b76658a5083b9260af061e
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.
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.