diff options
| -rw-r--r-- | compiler/utils/assembler_test.h | 14 | ||||
| -rw-r--r-- | runtime/common_runtime_test.h | 3 |
2 files changed, 14 insertions, 3 deletions
diff --git a/compiler/utils/assembler_test.h b/compiler/utils/assembler_test.h index ce1c4de2fa..1b050cf88d 100644 --- a/compiler/utils/assembler_test.h +++ b/compiler/utils/assembler_test.h @@ -19,7 +19,7 @@ #include "assembler.h" -#include "gtest/gtest.h" +#include "common_runtime_test.h" // For ScratchFile #include <cstdio> #include <cstdlib> @@ -30,6 +30,10 @@ namespace art { +// Use a glocal static variable to keep the same name for all test data. Else we'll just spam the +// temp directory. +static std::string tmpnam_; + template<typename Ass, typename Reg, typename Imm> class AssemblerTest : public testing::Test { public: @@ -203,6 +207,10 @@ class AssemblerTest : public testing::Test { void SetUp() OVERRIDE { assembler_.reset(new Ass()); + // Fake a runtime test for ScratchFile + std::string android_data; + CommonRuntimeTest::SetEnvironmentVariables(android_data); + SetUpHelpers(); } @@ -667,7 +675,8 @@ class AssemblerTest : public testing::Test { // Use a consistent tmpnam, so store it. std::string GetTmpnam() { if (tmpnam_.length() == 0) { - tmpnam_ = std::string(tmpnam(nullptr)); + ScratchFile tmp; + tmpnam_ = tmp.GetFilename() + "asm"; } return tmpnam_; } @@ -677,7 +686,6 @@ class AssemblerTest : public testing::Test { std::string resolved_assembler_cmd_; std::string resolved_objdump_cmd_; std::string resolved_disassemble_cmd_; - std::string tmpnam_; static constexpr size_t OBJDUMP_SECTION_LINE_MIN_TOKENS = 6; }; diff --git a/runtime/common_runtime_test.h b/runtime/common_runtime_test.h index 723e32c85f..79d36901df 100644 --- a/runtime/common_runtime_test.h +++ b/runtime/common_runtime_test.h @@ -57,6 +57,9 @@ namespace art { class ScratchFile { public: ScratchFile() { + // ANDROID_DATA needs to be set + CHECK_NE(static_cast<char*>(nullptr), getenv("ANDROID_DATA")) << + "Are you subclassing RuntimeTest?"; filename_ = getenv("ANDROID_DATA"); filename_ += "/TmpFile-XXXXXX"; int fd = mkstemp(&filename_[0]); |