summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-05-14 23:50:36 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-05-14 23:50:36 +0000
commit5552beb813d2a5ae60c4eef9a4a5646b7ab430d7 (patch)
tree4463561c6fa441a5922c9cb5c671bffc9d864adf
parentc29e0cd01e44066cb49463ac497eb0becdcf6ffe (diff)
parent3231ba48934f04d61fa954e555d0f7fedc579e12 (diff)
downloadextras-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.cpp17
-rw-r--r--simpleperf/cmd_stat_test.cpp5
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);