Fix for gtest missing core classes, attempt 2
common_runtime_test loads both core-libart and
core-oj
Change-Id: I8a4d5750b99aed2e500cad89b841a57fe9c1ca69
diff --git a/runtime/common_runtime_test.cc b/runtime/common_runtime_test.cc
index c299210..15ef489 100644
--- a/runtime/common_runtime_test.cc
+++ b/runtime/common_runtime_test.cc
@@ -197,8 +197,16 @@
MemMap::Init(); // For LoadExpectSingleDexFile
std::string error_msg;
- java_lang_dex_file_ = LoadExpectSingleDexFile(GetLibCoreDexFileName().c_str());
- boot_class_path_.push_back(java_lang_dex_file_);
+
+ java_lang_dex_file_ = nullptr;
+ for (const std::string &core_dex_file_name : GetLibCoreDexFileNames()) {
+ const DexFile* dex_file = LoadExpectSingleDexFile(core_dex_file_name.c_str());
+ boot_class_path_.push_back(dex_file);
+ // Store the first dex file in java_lang_dex_file_
+ if (java_lang_dex_file_ == nullptr) {
+ java_lang_dex_file_ = dex_file;
+ }
+ }
std::string min_heap_string(StringPrintf("-Xms%zdm", gc::Heap::kDefaultInitialSize / MB));
std::string max_heap_string(StringPrintf("-Xmx%zdm", gc::Heap::kDefaultMaximumSize / MB));
@@ -283,8 +291,8 @@
Runtime::Current()->GetHeap()->VerifyHeap(); // Check for heap corruption after the test
}
-std::string CommonRuntimeTest::GetLibCoreDexFileName() {
- return GetDexFileName("core-libart");
+std::vector<std::string> CommonRuntimeTest::GetLibCoreDexFileNames() {
+ return std::vector<std::string>({GetDexFileName("core-oj"), GetDexFileName("core-libart")});
}
std::string CommonRuntimeTest::GetDexFileName(const std::string& jar_prefix) {