diff options
Diffstat (limited to 'simpleperf/read_dex_file_test.cpp')
-rw-r--r-- | simpleperf/read_dex_file_test.cpp | 22 |
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"); } |