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
This commit is contained in:
Makoto Onuki
2017-07-06 16:20:11 -07:00
parent bfce224cd9
commit 164e7967b1
2 changed files with 17 additions and 4 deletions

View File

@@ -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);

View File

@@ -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");