diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-05-14 23:50:36 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-05-14 23:50:36 +0000 |
commit | 5552beb813d2a5ae60c4eef9a4a5646b7ab430d7 (patch) | |
tree | 4463561c6fa441a5922c9cb5c671bffc9d864adf | |
parent | c29e0cd01e44066cb49463ac497eb0becdcf6ffe (diff) | |
parent | 3231ba48934f04d61fa954e555d0f7fedc579e12 (diff) | |
download | extras-oreo-mr1-cts-dev.tar.gz |
Merge "simpleperf: fix *handle_SIGHUP tests." into oreo-mr1-cts-devoreo-mr1-cts-dev
-rw-r--r-- | simpleperf/cmd_record_test.cpp | 17 | ||||
-rw-r--r-- | simpleperf/cmd_stat_test.cpp | 5 |
2 files changed, 18 insertions, 4 deletions
diff --git a/simpleperf/cmd_record_test.cpp b/simpleperf/cmd_record_test.cpp index c3f9cb40..e942332f 100644 --- a/simpleperf/cmd_record_test.cpp +++ b/simpleperf/cmd_record_test.cpp @@ -391,12 +391,21 @@ TEST(record_cmd, support_modifier_for_clock_events) { TEST(record_cmd, handle_SIGHUP) { TemporaryFile tmpfile; - std::thread thread([]() { - sleep(1); + int pipefd[2]; + ASSERT_EQ(0, pipe(pipefd)); + int read_fd = pipefd[0]; + int write_fd = pipefd[1]; + char data[8] = {}; + std::thread thread([&]() { + android::base::ReadFully(read_fd, data, 7); kill(getpid(), SIGHUP); }); - thread.detach(); - ASSERT_TRUE(RecordCmd()->Run({"-o", tmpfile.path, "sleep", "1000000"})); + ASSERT_TRUE(RecordCmd()->Run({"-o", tmpfile.path, "--start_profiling_fd", + std::to_string(write_fd), "sleep", "1000000"})); + thread.join(); + close(write_fd); + close(read_fd); + ASSERT_STREQ(data, "STARTED"); } TEST(record_cmd, stop_when_no_more_targets) { diff --git a/simpleperf/cmd_stat_test.cpp b/simpleperf/cmd_stat_test.cpp index 3cdb4ebd..3876b420 100644 --- a/simpleperf/cmd_stat_test.cpp +++ b/simpleperf/cmd_stat_test.cpp @@ -157,6 +157,11 @@ TEST(stat_cmd, no_modifier_for_clock_events) { } TEST(stat_cmd, handle_SIGHUP) { + if (!GetDefaultAppPackageName().empty()) { + // See http://b/79495636. + GTEST_LOG_(INFO) << "Omit this test in app's context."; + return; + } std::thread thread([]() { sleep(1); kill(getpid(), SIGHUP); |