Rewrite assembler_test_base.h

Simplify the code in preparation of move to LLVM prebuilt tools.

Bug: 147817558
Test: m test-art-host-gtest
Change-Id: Iba277235255fd7d7f0965749b0b2d4a9567ced1f
diff --git a/compiler/utils/jni_macro_assembler_test.h b/compiler/utils/jni_macro_assembler_test.h
index 067a595..e77177e 100644
--- a/compiler/utils/jni_macro_assembler_test.h
+++ b/compiler/utils/jni_macro_assembler_test.h
@@ -33,7 +33,7 @@
 namespace art {
 
 template<typename Ass>
-class JNIMacroAssemblerTest : public testing::Test {
+class JNIMacroAssemblerTest : public AssemblerTestBase {
  public:
   Ass* GetAssembler() {
     return assembler_.get();
@@ -50,32 +50,18 @@
     DriverWrapper(assembly_string, test_name);
   }
 
-  // This is intended to be run as a test.
-  bool CheckTools() {
-    return test_helper_->CheckTools();
-  }
-
  protected:
   JNIMacroAssemblerTest() {}
 
   void SetUp() override {
+    AssemblerTestBase::SetUp();
     allocator_.reset(new ArenaAllocator(&pool_));
     assembler_.reset(CreateAssembler(allocator_.get()));
-    test_helper_.reset(
-        new AssemblerTestInfrastructure(GetArchitectureString(),
-                                        GetAssemblerCmdName(),
-                                        GetAssemblerParameters(),
-                                        GetObjdumpCmdName(),
-                                        GetObjdumpParameters(),
-                                        GetDisassembleCmdName(),
-                                        GetDisassembleParameters(),
-                                        GetAssemblyHeader()));
-
     SetUpHelpers();
   }
 
   void TearDown() override {
-    test_helper_.reset();  // Clean up the helper.
+    AssemblerTestBase::TearDown();
     assembler_.reset();
     allocator_.reset();
   }
@@ -88,43 +74,6 @@
   // Override this to set up any architecture-specific things, e.g., register vectors.
   virtual void SetUpHelpers() {}
 
-  // Get the typically used name for this architecture, e.g., aarch64, x86_64, ...
-  virtual std::string GetArchitectureString() = 0;
-
-  // Get the name of the assembler, e.g., "as" by default.
-  virtual std::string GetAssemblerCmdName() {
-    return "as";
-  }
-
-  // Switches to the assembler command. Default none.
-  virtual std::string GetAssemblerParameters() {
-    return "";
-  }
-
-  // Get the name of the objdump, e.g., "objdump" by default.
-  virtual std::string GetObjdumpCmdName() {
-    return "objdump";
-  }
-
-  // Switches to the objdump command. Default is " -h".
-  virtual std::string GetObjdumpParameters() {
-    return " -h";
-  }
-
-  // Get the name of the objdump, e.g., "objdump" by default.
-  virtual std::string GetDisassembleCmdName() {
-    return "objdump";
-  }
-
-  // Switches to the objdump command. As it's a binary, one needs to push the architecture and
-  // such to objdump, so it's architecture-specific and there is no default.
-  virtual std::string GetDisassembleParameters() = 0;
-
-  // If the assembly file needs a header, return it in a sub-class.
-  virtual const char* GetAssemblyHeader() {
-    return nullptr;
-  }
-
  private:
   // Override this to pad the code with NOPs to a certain size if needed.
   virtual void Pad(std::vector<uint8_t>& data ATTRIBUTE_UNUSED) {
@@ -137,13 +86,12 @@
     MemoryRegion code(&(*data)[0], data->size());
     assembler_->FinalizeInstructions(code);
     Pad(*data);
-    test_helper_->Driver(*data, assembly_text, test_name);
+    Driver(*data, assembly_text, test_name);
   }
 
   MallocArenaPool pool_;
   std::unique_ptr<ArenaAllocator> allocator_;
   std::unique_ptr<Ass> assembler_;
-  std::unique_ptr<AssemblerTestInfrastructure> test_helper_;
 
   DISALLOW_COPY_AND_ASSIGN(JNIMacroAssemblerTest);
 };