summaryrefslogtreecommitdiff
path: root/simpleperf/read_dex_file_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/read_dex_file_test.cpp')
-rw-r--r--simpleperf/read_dex_file_test.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/simpleperf/read_dex_file_test.cpp b/simpleperf/read_dex_file_test.cpp
index 7e727689..843a964c 100644
--- a/simpleperf/read_dex_file_test.cpp
+++ b/simpleperf/read_dex_file_test.cpp
@@ -20,18 +20,24 @@
#include <algorithm>
+#include "dso.h"
#include "get_test_data.h"
#include "test_util.h"
#include "utils.h"
+using namespace simpleperf;
+
TEST(read_dex_file, smoke) {
- std::vector<DexFileSymbol> symbols;
- ASSERT_TRUE(ReadSymbolsFromDexFile(GetTestData("base.vdex"), {0x28}, &symbols));
+ std::vector<Symbol> symbols;
+ auto symbol_callback = [&](DexFileSymbol* symbol) {
+ symbols.emplace_back(symbol->name, symbol->addr, symbol->size);
+ };
+ ASSERT_TRUE(ReadSymbolsFromDexFile(GetTestData("base.vdex"), {0x28}, symbol_callback));
ASSERT_EQ(12435u, symbols.size());
- DexFileSymbol target;
- target.offset = 0x6c77e;
- target.len = 0x16;
- target.name = art_api::dex::DexString(
- "com.example.simpleperf.simpleperfexamplewithnative.MixActivity$1.run");
- ASSERT_NE(std::find(symbols.begin(), symbols.end(), target), symbols.end());
+ auto it = std::find_if(symbols.begin(), symbols.end(),
+ [](const Symbol& symbol) { return symbol.addr == 0x6c77e; });
+ ASSERT_NE(it, symbols.end());
+ ASSERT_EQ(it->addr, 0x6c77e);
+ ASSERT_EQ(it->len, 0x16);
+ ASSERT_STREQ(it->Name(), "com.example.simpleperf.simpleperfexamplewithnative.MixActivity$1.run");
}