summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/ManifestClassGenerator_test.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2018-01-16 17:05:10 -0800
committerAdam Lesinski <adamlesinski@google.com>2018-01-16 17:06:33 -0800
commita4fb17bbbba59c5ee92402eb8c5da4e3c52560b2 (patch)
tree5b89566ac4d6cbd47a892211be26ff5948d6a28f /tools/aapt2/java/ManifestClassGenerator_test.cpp
parentd6808dc0c00ba45fd589449647f792daf9fa8126 (diff)
aapt2: Fix issue with Manifest duplicate handling
Fixed a memory-corruption issue that led to multiple duplicate permission entries being generated for Manifest.java. Bug: 71641288 Test: make aapt2_tests Change-Id: I8cd37929c4883aaba2beebbf874c7ee3234d51d8
Diffstat (limited to 'tools/aapt2/java/ManifestClassGenerator_test.cpp')
-rw-r--r--tools/aapt2/java/ManifestClassGenerator_test.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/aapt2/java/ManifestClassGenerator_test.cpp b/tools/aapt2/java/ManifestClassGenerator_test.cpp
index c324238d3ecb..f4e10ab2e584 100644
--- a/tools/aapt2/java/ManifestClassGenerator_test.cpp
+++ b/tools/aapt2/java/ManifestClassGenerator_test.cpp
@@ -129,13 +129,16 @@ TEST(ManifestClassGeneratorTest, LastSeenPermissionWithSameLeafNameTakesPreceden
std::unique_ptr<xml::XmlResource> manifest = test::BuildXmlDom(R"(
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<permission android:name="android.permission.ACCESS_INTERNET" />
- <permission android:name="com.android.aapt.test.ACCESS_INTERNET" />
+ <permission android:name="com.android.sample.ACCESS_INTERNET" />
+ <permission android:name="com.android.permission.UNRELATED_PERMISSION" />
+ <permission android:name="com.android.aapt.test.ACCESS_INTERNET" /> -->
</manifest>)");
std::string actual;
ASSERT_TRUE(GetManifestClassText(context.get(), manifest.get(), &actual));
EXPECT_THAT(actual, HasSubstr("ACCESS_INTERNET=\"com.android.aapt.test.ACCESS_INTERNET\";"));
EXPECT_THAT(actual, Not(HasSubstr("ACCESS_INTERNET=\"android.permission.ACCESS_INTERNET\";")));
+ EXPECT_THAT(actual, Not(HasSubstr("ACCESS_INTERNET=\"com.android.sample.ACCESS_INTERNET\";")));
}
static ::testing::AssertionResult GetManifestClassText(IAaptContext* context, xml::XmlResource* res,