summaryrefslogtreecommitdiff
path: root/simpleperf/cmd_dumprecord_test.cpp
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2019-08-08 18:15:14 -0700
committerYabin Cui <yabinc@google.com>2019-08-20 13:48:34 -0700
commitfc9da9b291525ce321c9c012fb687654268e39ad (patch)
tree1835d99fcd256b31404198810f556eb6c02c4bf9 /simpleperf/cmd_dumprecord_test.cpp
parentd1df5793577ec602a490e353ab6d4472db58862d (diff)
downloadextras-fc9da9b291525ce321c9c012fb687654268e39ad.tar.gz
simpleperf: Add ETMDecoder.
It contains below changes: 1. Add ETMDecoder, which uses OpenCSD library to decode etm data. 2. Fix trace ids in AuxTraceInfoRecord to match those in etm data. 3. Dump build ids for all binaries in record cmd, to find them in etm decoding. 4. Add options in dump cmd to dump etm data. 5. Add a test line in dump cmd test to check that instruction range elements are decoded and dumped. Bug: 135204414 Test: run simpleperf_unit_test. Change-Id: Iad1a1dac3dd9aaed4416ff2c19029c676d610783
Diffstat (limited to 'simpleperf/cmd_dumprecord_test.cpp')
-rw-r--r--simpleperf/cmd_dumprecord_test.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/simpleperf/cmd_dumprecord_test.cpp b/simpleperf/cmd_dumprecord_test.cpp
index 12aadb10..76afc1ca 100644
--- a/simpleperf/cmd_dumprecord_test.cpp
+++ b/simpleperf/cmd_dumprecord_test.cpp
@@ -48,9 +48,11 @@ TEST(cmd_dump, dump_callchain_of_sample_records) {
TEST(cmd_dump, etm_data) {
CaptureStdout capture;
ASSERT_TRUE(capture.Start());
- ASSERT_TRUE(DumpCmd()->Run({GetTestData(PERF_DATA_ETM_TEST_LOOP)}));
+ ASSERT_TRUE(DumpCmd()->Run({"--dump-etm", "raw,packet,element", "--symdir",
+ GetTestDataDir() + "etm", GetTestData(PERF_DATA_ETM_TEST_LOOP)}));
std::string data = capture.Finish();
ASSERT_NE(data.find("record aux:"), std::string::npos);
- ASSERT_NE(data.find("aux_data:"), std::string::npos);
ASSERT_NE(data.find("feature section for auxtrace:"), std::string::npos);
+ // Check if we can decode etm data into instruction range elements.
+ ASSERT_NE(data.find("OCSD_GEN_TRC_ELEM_INSTR_RANGE"), std::string::npos);
}