diff options
author | David Srbecky <dsrbecky@google.com> | 2020-07-01 13:19:17 +0100 |
---|---|---|
committer | David Srbecky <dsrbecky@google.com> | 2020-07-09 13:21:59 +0000 |
commit | d6e14e0b6a3447d6e89a93d0a017e92b11dc5f6f (patch) | |
tree | 4e30db113ef4352874e57022a654b341e71f1a92 /compiler/utils/jni_macro_assembler_test.h | |
parent | be7fe3b5466e10c4c49f027f10a801e1a4a9216c (diff) |
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
Diffstat (limited to 'compiler/utils/jni_macro_assembler_test.h')
-rw-r--r-- | compiler/utils/jni_macro_assembler_test.h | 60 |
1 files changed, 4 insertions, 56 deletions
diff --git a/compiler/utils/jni_macro_assembler_test.h b/compiler/utils/jni_macro_assembler_test.h index 067a5953b8..e77177e43e 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 @@ class JNIMacroAssemblerTest : public testing::Test { 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 @@ class JNIMacroAssemblerTest : public testing::Test { // 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 @@ class JNIMacroAssemblerTest : public testing::Test { 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); }; |