diff options
Diffstat (limited to 'runtime/common_runtime_test.h')
-rw-r--r-- | runtime/common_runtime_test.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/runtime/common_runtime_test.h b/runtime/common_runtime_test.h index d7a166719a..54ef68d8d3 100644 --- a/runtime/common_runtime_test.h +++ b/runtime/common_runtime_test.h @@ -75,9 +75,14 @@ class ScratchFile { file_.reset(new File(fd, GetFilename())); } + explicit ScratchFile(File* file) { + CHECK(file != NULL); + filename_ = file->GetPath(); + file_.reset(file); + } + ~ScratchFile() { - int unlink_result = unlink(filename_.c_str()); - CHECK_EQ(0, unlink_result); + Unlink(); } const std::string& GetFilename() const { @@ -92,6 +97,14 @@ class ScratchFile { return file_->Fd(); } + void Unlink() { + if (!OS::FileExists(filename_.c_str())) { + return; + } + int unlink_result = unlink(filename_.c_str()); + CHECK_EQ(0, unlink_result); + } + private: std::string filename_; UniquePtr<File> file_; @@ -258,11 +271,7 @@ class CommonRuntimeTest : public testing::Test { filename += getenv("ANDROID_HOST_OUT"); filename += "/framework/"; } else { -#ifdef __LP64__ - filename += "/data/nativetest/art64/"; -#else filename += "/data/nativetest/art/"; -#endif } filename += "art-test-dex-"; filename += name; |