summaryrefslogtreecommitdiff
path: root/tools/bit/adb.cpp
diff options
context:
space:
mode:
author Xin Li <delphij@google.com> 2017-11-14 12:31:11 -0800
committer Xin Li <delphij@google.com> 2017-11-14 12:31:11 -0800
commit220871a697290529278ed16db508eda8e12f3fc7 (patch)
treebc13101b63c6fe39a9d92706ecb7ded7f98f5a9c /tools/bit/adb.cpp
parent802f191b2b84a1b1b82c7f6f3268846084b35dfb (diff)
parent98e12851336b7db16e583f9afac63ecc97465980 (diff)
Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master. Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7 Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d
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 93fda5434307..fa7d3d4031d4 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);