summaryrefslogtreecommitdiff
path: root/runtime/class_loader_context_test.cc
diff options
context:
space:
mode:
author David Srbecky <dsrbecky@google.com> 2023-08-01 17:21:12 +0100
committer David Srbecky <dsrbecky@google.com> 2023-08-03 09:57:16 +0000
commite644f39c976671bb8786db49a1c5de7795b87db1 (patch)
tree5c59c62648162c7781916fd68608b0ccd61a8d72 /runtime/class_loader_context_test.cc
parentf4d1d5b9b1c3a91baf2c66030f7504fbd5498b28 (diff)
Allow location duplicates when encoding class loader context
Bug: 293664704 Test: Run the app from the above bug Test: m test-art-host-gtest-art_runtime_tests64 Change-Id: Ib2e3f0987c6cbc5f3cad1639a2259fc9882e0477
Diffstat (limited to 'runtime/class_loader_context_test.cc')
-rw-r--r--runtime/class_loader_context_test.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc
index 98b8eed5d5..47a7f2d739 100644
--- a/runtime/class_loader_context_test.cc
+++ b/runtime/class_loader_context_test.cc
@@ -1258,6 +1258,17 @@ TEST_F(ClassLoaderContextTest, EncodeForDex2oatIMC) {
ASSERT_EQ(expected_encoding, context->EncodeContextForDex2oat(""));
}
+TEST_F(ClassLoaderContextTest, EncodeForDex2oatDuplicates) {
+ std::string dex_name = GetTestDexFileName("Main");
+ std::unique_ptr<ClassLoaderContext> context =
+ ClassLoaderContext::Create("PCL[" + dex_name + ":" + dex_name + "]");
+ ASSERT_TRUE(context->OpenDexFiles());
+
+ std::string encoding = context->EncodeContextForDex2oat("");
+ std::string expected_encoding = "PCL[" + dex_name + "]";
+ ASSERT_EQ(expected_encoding, context->EncodeContextForDex2oat(""));
+}
+
TEST_F(ClassLoaderContextTest, EncodeContextsSinglePath) {
jobject class_loader = LoadDexInPathClassLoader("Main", nullptr);
std::unique_ptr<ClassLoaderContext> context =