OSDN Git Service

Simpleperf: fix flaky tests.
authorYabin Cui <yabinc@google.com>
Mon, 27 Jun 2016 23:00:20 +0000 (16:00 -0700)
committerYabin Cui <yabinc@google.com>
Mon, 27 Jun 2016 23:00:20 +0000 (16:00 -0700)
Simpleperf stat/record command may need 1 second to set security.perf_harden
property. So the monitored child threads should run longer than 1 second.

Bug: 29763505
Change-Id: I9bf6dcba03f3fc5c91130f38a08ce0062e104103

simpleperf/cmd_record_test.cpp
simpleperf/cmd_stat_test.cpp

index a89febf..1a468e2 100644 (file)
@@ -171,8 +171,7 @@ TEST(record_cmd, existing_processes) {
   CreateProcesses(2, &workloads);
   std::string pid_list =
       android::base::StringPrintf("%d,%d", workloads[0]->GetPid(), workloads[1]->GetPid());
-  TemporaryFile tmpfile;
-  ASSERT_TRUE(RecordCmd()->Run({"-p", pid_list, "-o", tmpfile.path}));
+  ASSERT_TRUE(RunRecordCmd({"-p", pid_list}));
 }
 
 TEST(record_cmd, existing_threads) {
@@ -182,7 +181,7 @@ TEST(record_cmd, existing_threads) {
   std::string tid_list =
       android::base::StringPrintf("%d,%d", workloads[0]->GetPid(), workloads[1]->GetPid());
   TemporaryFile tmpfile;
-  ASSERT_TRUE(RecordCmd()->Run({"-t", tid_list, "-o", tmpfile.path}));
+  ASSERT_TRUE(RunRecordCmd({"-t", tid_list}));
 }
 
 TEST(record_cmd, no_monitored_threads) {
index 27f1f09..45ed3dc 100644 (file)
@@ -57,7 +57,8 @@ TEST(stat_cmd, event_modifier) {
 void CreateProcesses(size_t count, std::vector<std::unique_ptr<Workload>>* workloads) {
   workloads->clear();
   for (size_t i = 0; i < count; ++i) {
-    auto workload = Workload::CreateWorkload({"sleep", "1"});
+    // Create a workload runs longer than profiling time.
+    auto workload = Workload::CreateWorkload({"sleep", "1000"});
     ASSERT_TRUE(workload != nullptr);
     ASSERT_TRUE(workload->Start());
     workloads->push_back(std::move(workload));
@@ -69,7 +70,7 @@ TEST(stat_cmd, existing_processes) {
   CreateProcesses(2, &workloads);
   std::string pid_list =
       android::base::StringPrintf("%d,%d", workloads[0]->GetPid(), workloads[1]->GetPid());
-  ASSERT_TRUE(StatCmd()->Run({"-p", pid_list}));
+  ASSERT_TRUE(StatCmd()->Run({"-p", pid_list, "sleep", "1"}));
 }
 
 TEST(stat_cmd, existing_threads) {
@@ -78,7 +79,7 @@ TEST(stat_cmd, existing_threads) {
   // Process id can be used as thread id in linux.
   std::string tid_list =
       android::base::StringPrintf("%d,%d", workloads[0]->GetPid(), workloads[1]->GetPid());
-  ASSERT_TRUE(StatCmd()->Run({"-t", tid_list}));
+  ASSERT_TRUE(StatCmd()->Run({"-t", tid_list, "sleep", "1"}));
 }
 
 TEST(stat_cmd, no_monitored_threads) {