summaryrefslogtreecommitdiff
path: root/simpleperf/cmd_record_test.cpp
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2018-08-13 15:58:25 -0700
committerYabin Cui <yabinc@google.com>2018-08-14 11:10:08 -0700
commit6e173a4bf8ea66718c7fc9053cd9d2e3f79aa341 (patch)
tree7efe0585463aa46e86aa76f7fecd51694eddf09d /simpleperf/cmd_record_test.cpp
parent9d3d54a4642c0b7047fda7555d1eec164b0fd052 (diff)
downloadextras-6e173a4bf8ea66718c7fc9053cd9d2e3f79aa341.tar.gz
simpleperf: set kernel resources used for profiling on Android >=Q.
On Android >=Q, some debug system properties are used to set max sample freq, cpu percentage and kernel buffer size used for recording. This patches uses these debug properties to set needed kernel resources. To set cpu percentage used for recording, add --cpu-percent option. Bug: 110706031 Test: run simpleperf_unit_test. Change-Id: I532ce417099c5a39ae89bdadfe76e512241904dd
Diffstat (limited to 'simpleperf/cmd_record_test.cpp')
-rw-r--r--simpleperf/cmd_record_test.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/simpleperf/cmd_record_test.cpp b/simpleperf/cmd_record_test.cpp
index b58fbf4f..39b5c5fa 100644
--- a/simpleperf/cmd_record_test.cpp
+++ b/simpleperf/cmd_record_test.cpp
@@ -107,7 +107,7 @@ TEST(record_cmd, freq_option) {
CheckEventType(tmpfile.path, "cpu-cycles", 0, 99u);
ASSERT_TRUE(RunRecordCmd({"-e", "cpu-clock", "-f", "99"}, tmpfile.path));
CheckEventType(tmpfile.path, "cpu-clock", 0, 99u);
- ASSERT_TRUE(RunRecordCmd({"-f", std::to_string(UINT_MAX)}));
+ ASSERT_FALSE(RunRecordCmd({"-f", std::to_string(UINT_MAX)}));
}
TEST(record_cmd, multiple_freq_or_sample_period_option) {
@@ -720,3 +720,10 @@ TEST(record_cmd, kernel_bug_making_zero_dyn_size) {
return true;
}));
}
+
+TEST(record_cmd, cpu_percent_option) {
+ TEST_REQUIRE_HW_COUNTER();
+ ASSERT_TRUE(RunRecordCmd({"--cpu-percent", "50"}));
+ ASSERT_FALSE(RunRecordCmd({"--cpu-percent", "0"}));
+ ASSERT_FALSE(RunRecordCmd({"--cpu-percent", "101"}));
+}