diff options
author | 2018-05-11 19:40:17 +0000 | |
---|---|---|
committer | 2018-05-11 19:43:32 +0000 | |
commit | 2c7e13b120926d3c3c18d649cd9849ea31b81477 (patch) | |
tree | 74766773ba254c40b44b53012156061ff2527c88 /runtime/class_loader_context_test.cc | |
parent | b12c46f8382ca939f55abc0c20fb48fb17b2c1be (diff) |
Revert "Do not load app image for class collisions"
This reverts commit d8860b42e47d48fcc47db9d0daf5a1b9432180a1.
Bug: 77342775
Bug: 79200502
Bug: 79575750
Reason for revert: Some regressions in boot time.
Test: test-art-host
Change-Id: Id5e5844b5156d048a54011708378c7cdb0650f68
Diffstat (limited to 'runtime/class_loader_context_test.cc')
-rw-r--r-- | runtime/class_loader_context_test.cc | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/runtime/class_loader_context_test.cc b/runtime/class_loader_context_test.cc index 5e3f48c100..4689ae4c3f 100644 --- a/runtime/class_loader_context_test.cc +++ b/runtime/class_loader_context_test.cc @@ -608,17 +608,6 @@ TEST_F(ClassLoaderContextTest, CreateContextForClassLoader) { VerifyClassLoaderPCLFromTestDex(context.get(), 3, "ForClassLoaderA"); } - -TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextFirstElement) { - std::string context_spec = "PCL[]"; - std::unique_ptr<ClassLoaderContext> context = ParseContextWithChecksums(context_spec); - ASSERT_TRUE(context != nullptr); - PretendContextOpenedDexFiles(context.get()); - // Ensure that the special shared library marks as verified for the first thing in the class path. - ASSERT_EQ(context->VerifyClassLoaderContextMatch(OatFile::kSpecialSharedLibrary), - ClassLoaderContext::VerificationResult::kVerifies); -} - TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatch) { std::string context_spec = "PCL[a.dex*123:b.dex*456];DLC[c.dex*890]"; std::unique_ptr<ClassLoaderContext> context = ParseContextWithChecksums(context_spec); @@ -630,36 +619,28 @@ TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatch) { VerifyClassLoaderPCL(context.get(), 0, "a.dex:b.dex"); VerifyClassLoaderDLC(context.get(), 1, "c.dex"); - ASSERT_EQ(context->VerifyClassLoaderContextMatch(context_spec), - ClassLoaderContext::VerificationResult::kVerifies); + ASSERT_TRUE(context->VerifyClassLoaderContextMatch(context_spec)); std::string wrong_class_loader_type = "PCL[a.dex*123:b.dex*456];PCL[c.dex*890]"; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_class_loader_type), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_class_loader_type)); std::string wrong_class_loader_order = "DLC[c.dex*890];PCL[a.dex*123:b.dex*456]"; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_class_loader_order), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_class_loader_order)); std::string wrong_classpath_order = "PCL[b.dex*456:a.dex*123];DLC[c.dex*890]"; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_classpath_order), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_classpath_order)); std::string wrong_checksum = "PCL[a.dex*999:b.dex*456];DLC[c.dex*890]"; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_checksum), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_checksum)); std::string wrong_extra_class_loader = "PCL[a.dex*123:b.dex*456];DLC[c.dex*890];PCL[d.dex*321]"; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_extra_class_loader), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_extra_class_loader)); std::string wrong_extra_classpath = "PCL[a.dex*123:b.dex*456];DLC[c.dex*890:d.dex*321]"; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_extra_classpath), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_extra_classpath)); std::string wrong_spec = "PCL[a.dex*999:b.dex*456];DLC["; - ASSERT_EQ(context->VerifyClassLoaderContextMatch(wrong_spec), - ClassLoaderContext::VerificationResult::kMismatch); + ASSERT_FALSE(context->VerifyClassLoaderContextMatch(wrong_spec)); } TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatchAfterEncoding) { @@ -671,8 +652,7 @@ TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatchAfterEncoding) { std::unique_ptr<ClassLoaderContext> context = CreateContextForClassLoader(class_loader_d); std::string context_with_no_base_dir = context->EncodeContextForOatFile(""); - ASSERT_EQ(context->VerifyClassLoaderContextMatch(context_with_no_base_dir), - ClassLoaderContext::VerificationResult::kVerifies); + ASSERT_TRUE(context->VerifyClassLoaderContextMatch(context_with_no_base_dir)); std::string dex_location = GetTestDexFileName("ForClassLoaderA"); size_t pos = dex_location.rfind('/'); @@ -681,8 +661,7 @@ TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatchAfterEncoding) { std::string context_with_base_dir = context->EncodeContextForOatFile(parent); ASSERT_NE(context_with_base_dir, context_with_no_base_dir); - ASSERT_EQ(context->VerifyClassLoaderContextMatch(context_with_base_dir), - ClassLoaderContext::VerificationResult::kVerifies); + ASSERT_TRUE(context->VerifyClassLoaderContextMatch(context_with_base_dir)); } TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatchAfterEncodingMultidex) { @@ -690,8 +669,7 @@ TEST_F(ClassLoaderContextTest, VerifyClassLoaderContextMatchAfterEncodingMultide std::unique_ptr<ClassLoaderContext> context = CreateContextForClassLoader(class_loader); - ASSERT_EQ(context->VerifyClassLoaderContextMatch(context->EncodeContextForOatFile("")), - ClassLoaderContext::VerificationResult::kVerifies); + ASSERT_TRUE(context->VerifyClassLoaderContextMatch(context->EncodeContextForOatFile(""))); } } // namespace art |