summaryrefslogtreecommitdiff
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
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
-rw-r--r--tools/bit/adb.cpp17
-rw-r--r--tools/bit/main.cpp4
2 files changed, 17 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);
diff --git a/tools/bit/main.cpp b/tools/bit/main.cpp
index d056ba53ca84..4c68b02ddf60 100644
--- a/tools/bit/main.cpp
+++ b/tools/bit/main.cpp
@@ -342,6 +342,10 @@ print_usage(FILE* out) {
fprintf(out, " Builds and installs CtsProtoTestCases.apk, and runs the testWrite\n");
fprintf(out, " and testRepeated test methods on that class.\n");
fprintf(out, "\n");
+ fprintf(out, " bit CtsProtoTestCases:android.util.proto.cts.\n");
+ fprintf(out, " Builds and installs CtsProtoTestCases.apk, and runs the tests in the java package\n");
+ fprintf(out, " \"android.util.proto.cts\".\n");
+ fprintf(out, "\n");
fprintf(out, " Launching an Activity\n");
fprintf(out, " ---------------------\n");
fprintf(out, " To launch an activity, specify the activity class name after\n");