From 164e7967b1f47586338805e2ebfdee02a5de85db Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Thu, 6 Jul 2017 16:20:11 -0700 Subject: [PATCH] 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 --- tools/bit/adb.cpp | 17 +++++++++++++---- tools/bit/main.cpp | 4 ++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/tools/bit/adb.cpp b/tools/bit/adb.cpp index 0c8424de566d6..c8faf5c667228 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 d056ba53ca841..4c68b02ddf602 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");