diff options
Diffstat (limited to 'runtime/common_runtime_test.cc')
-rw-r--r-- | runtime/common_runtime_test.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/runtime/common_runtime_test.cc b/runtime/common_runtime_test.cc index 05ec9e6d54..135dc7be73 100644 --- a/runtime/common_runtime_test.cc +++ b/runtime/common_runtime_test.cc @@ -433,6 +433,43 @@ bool CommonRuntimeTestImpl::StartDex2OatCommandLine(/*out*/std::vector<std::stri return true; } +std::string CommonRuntimeTestImpl::GetImageDirectory() { + if (IsHost()) { + const char* host_dir = getenv("ANDROID_HOST_OUT"); + CHECK(host_dir != nullptr); + return std::string(host_dir) + "/framework"; + } else { + return std::string("/data/art-test"); + } +} + +std::string CommonRuntimeTestImpl::GetImageLocation() { + return GetImageDirectory() + "/core.art"; +} + +std::string CommonRuntimeTestImpl::GetSystemImageFile() { + return GetImageDirectory() + "/" + GetInstructionSetString(kRuntimeISA) + "/core.art"; +} + +void CommonRuntimeTestImpl::EnterTransactionMode() { + CHECK(!Runtime::Current()->IsActiveTransaction()); + Runtime::Current()->EnterTransactionMode(/*strict=*/ false, /*root=*/ nullptr); +} + +void CommonRuntimeTestImpl::ExitTransactionMode() { + Runtime::Current()->ExitTransactionMode(); + CHECK(!Runtime::Current()->IsActiveTransaction()); +} + +void CommonRuntimeTestImpl::RollbackAndExitTransactionMode() { + Runtime::Current()->RollbackAndExitTransactionMode(); + CHECK(!Runtime::Current()->IsActiveTransaction()); +} + +bool CommonRuntimeTestImpl::IsTransactionAborted() { + return Runtime::Current()->IsTransactionAborted(); +} + CheckJniAbortCatcher::CheckJniAbortCatcher() : vm_(Runtime::Current()->GetJavaVM()) { vm_->SetCheckJniAbortHook(Hook, &actual_); } |