Update Transaction for boot image extension.

And clean up transaction-related code to keep test code
out of the production binaries.

Test: Add TransactionTest#Constraints to transaction_test.
Test: m test-art-host-gtest
Test: testrunner.py --host
Test: aosp_taimen-userdebug boots.
Change-Id: Iefe5f1cfde95f564069249148f9e7d71564d7a10
diff --git a/runtime/common_runtime_test.h b/runtime/common_runtime_test.h
index 3595c73..e1ab3df 100644
--- a/runtime/common_runtime_test.h
+++ b/runtime/common_runtime_test.h
@@ -168,6 +168,16 @@
   // Called to finish up runtime creation and filling test fields. By default runs root
   // initializers, initialize well-known classes, and creates the heap thread pool.
   virtual void FinalizeSetup();
+
+  // Returns the directory where the pre-compiled core.art can be found.
+  static std::string GetImageDirectory();
+  static std::string GetImageLocation();
+  static std::string GetSystemImageFile();
+
+  static void EnterTransactionMode();
+  static void ExitTransactionMode();
+  static void RollbackAndExitTransactionMode() REQUIRES_SHARED(Locks::mutator_lock_);
+  static bool IsTransactionAborted();
 };
 
 template <typename TestType>