summaryrefslogtreecommitdiff
path: root/simpleperf
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2017-02-10 21:50:42 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-10 21:50:42 +0000
commite2aa6127c75a75d80d01103e4255f87572f8b4ff (patch)
treea248e0cf25196031b122b349170766cdaa33b95a /simpleperf
parentaf82458da1431eadfbc5028c4873fdbd8cc11c91 (diff)
parente254ac7919179fabf14ba1d76716ee90a277eae3 (diff)
downloadextras-e2aa6127c75a75d80d01103e4255f87572f8b4ff.tar.gz
Merge "simpleperf: fix an error in checking monitored targets." am: 264b69316c am: 4801c5f9af am: ff836c2652
am: e254ac7919 Change-Id: I688978bb05b6361edabfe040ee134c3d0e9f4e2a
Diffstat (limited to 'simpleperf')
-rw-r--r--simpleperf/cmd_record_test.cpp11
-rw-r--r--simpleperf/event_selection_set.cpp2
2 files changed, 12 insertions, 1 deletions
diff --git a/simpleperf/cmd_record_test.cpp b/simpleperf/cmd_record_test.cpp
index 35e871fe..c3fb8f26 100644
--- a/simpleperf/cmd_record_test.cpp
+++ b/simpleperf/cmd_record_test.cpp
@@ -385,3 +385,14 @@ TEST(record_cmd, stop_when_no_more_targets) {
while (tid == 0);
ASSERT_TRUE(RecordCmd()->Run({"-o", tmpfile.path, "-t", std::to_string(tid)}));
}
+
+TEST(record_cmd, donot_stop_when_having_targets) {
+ std::vector<std::unique_ptr<Workload>> workloads;
+ CreateProcesses(1, &workloads);
+ std::string pid = std::to_string(workloads[0]->GetPid());
+ uint64_t start_time_in_ns = GetSystemClock();
+ TemporaryFile tmpfile;
+ ASSERT_TRUE(RecordCmd()->Run({"-o", tmpfile.path, "-p", pid, "--duration", "3"}));
+ uint64_t end_time_in_ns = GetSystemClock();
+ ASSERT_GT(end_time_in_ns - start_time_in_ns, static_cast<uint64_t>(2e9));
+}
diff --git a/simpleperf/event_selection_set.cpp b/simpleperf/event_selection_set.cpp
index 71c6c723..bc1f5a8b 100644
--- a/simpleperf/event_selection_set.cpp
+++ b/simpleperf/event_selection_set.cpp
@@ -813,7 +813,7 @@ bool EventSelectionSet::HasSampler() {
for (auto& group : groups_) {
for (auto& sel : group) {
if (!sel.event_fds.empty()) {
- return false;
+ return true;
}
for (auto& sampler : sel.inplace_samplers) {
if (!sampler->IsClosed()) {