summaryrefslogtreecommitdiff
path: root/tools/bit/adb.cpp
diff options
context:
space:
mode:
author Makoto Onuki <omakoto@google.com> 2017-07-06 16:20:11 -0700
committer Makoto Onuki <omakoto@google.com> 2017-07-06 16:21:26 -0700
commit164e7967b1f47586338805e2ebfdee02a5de85db (patch)
treeafb8764ccc9de450be7b195c29e3423eb24910d4 /tools/bit/adb.cpp
parentbfce224cd95a7019c86cf9fb1241a0c2ebf7ec42 (diff)
Bit: support running all tests in a java package.
If a target name ends with a period, treat it as a package name and run with "-e package" instead of "-e class". Test: bit CtsProviderTestCases:android.provider.cts.contacts. Change-Id: I3a9a0cbef76f57c46c41bf168b7e94eebecaf671
Diffstat (limited to 'tools/bit/adb.cpp')
-rw-r--r--tools/bit/adb.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/tools/bit/adb.cpp b/tools/bit/adb.cpp
index 0c8424de566d..c8faf5c66722 100644
--- a/tools/bit/adb.cpp
+++ b/tools/bit/adb.cpp
@@ -283,10 +283,19 @@ run_instrumentation_test(const string& packageName, const string& runner, const
cmd.AddArg("instrument");
cmd.AddArg("-w");
cmd.AddArg("-m");
- if (className.length() > 0) {
- cmd.AddArg("-e");
- cmd.AddArg("class");
- cmd.AddArg(className);
+ const int classLen = className.length();
+ if (classLen > 0) {
+ if (classLen > 1 && className[classLen - 1] == '.') {
+ cmd.AddArg("-e");
+ cmd.AddArg("package");
+
+ // "am" actually accepts without removing the last ".", but for cleanlines...
+ cmd.AddArg(className.substr(0, classLen - 1));
+ } else {
+ cmd.AddArg("-e");
+ cmd.AddArg("class");
+ cmd.AddArg(className);
+ }
}
cmd.AddArg(packageName + "/" + runner);