Add test mapping to run the libunwind tests.

Created a special target, libunwindstack_unit_test, that doesn't
include the test that dlopen's a shared library. It appears atest
doesn't understand how to handle the require keyword.

Also, move the shared library into the libunwindstack_test directory
itself.

Test: Ran atest libunwindstack_unit_test.
Change-Id: I967919b1d74a08669b61d0363d80861685725609
This commit is contained in:
Christopher Ferris 2019-09-03 10:18:42 -07:00
parent a9ffef27e1
commit 7aba5142e9
3 changed files with 30 additions and 7 deletions

View file

@ -153,12 +153,12 @@ cc_test_library {
shared_libs: [
"libunwindstack",
],
relative_install_path: "libunwindstack_test",
}
cc_test {
name: "libunwindstack_test",
cc_defaults {
name: "libunwindstack_testlib_flags",
defaults: ["libunwindstack_flags"],
isolated: true,
srcs: [
"tests/ArmExidxDecodeTest.cpp",
@ -183,7 +183,6 @@ cc_test {
"tests/ElfTestUtils.cpp",
"tests/IsolatedSettings.cpp",
"tests/JitDebugTest.cpp",
"tests/LocalUnwinderTest.cpp",
"tests/LogFake.cpp",
"tests/MapInfoCreateMemoryTest.cpp",
"tests/MapInfoGetBuildIDTest.cpp",
@ -253,11 +252,28 @@ cc_test {
"tests/files/offline/straddle_arm/*",
"tests/files/offline/straddle_arm64/*",
],
}
cc_test {
name: "libunwindstack_test",
defaults: ["libunwindstack_testlib_flags"],
isolated: true,
srcs: [
"tests/LocalUnwinderTest.cpp",
],
required: [
"libunwindstack_local",
],
}
// Skip LocalUnwinderTest until atest understands required properly.
cc_test {
name: "libunwindstack_unit_test",
defaults: ["libunwindstack_testlib_flags"],
isolated: true,
}
//-------------------------------------------------------------------------
// Tools
//-------------------------------------------------------------------------

View file

@ -0,0 +1,7 @@
{
"presubmit": [
{
"name": "libunwindstack_unit_test"
}
]
}

View file

@ -170,10 +170,10 @@ TEST_F(LocalUnwinderTest, unwind_after_dlopen) {
std::string testlib(testing::internal::GetArgvs()[0]);
auto const value = testlib.find_last_of('/');
if (value == std::string::npos) {
testlib = "../";
if (value != std::string::npos) {
testlib = testlib.substr(0, value + 1);
} else {
testlib = testlib.substr(0, value + 1) + "../";
testlib = "";
}
testlib += "libunwindstack_local.so";