Properly delete temp files during run-test
Bug: 22190679
Change-Id: Ic5cb98d296df924d9ee724c757c526ad70744612
diff --git a/test/099-vmdebug/src/Main.java b/test/099-vmdebug/src/Main.java
index a8db069..add2ff6 100644
--- a/test/099-vmdebug/src/Main.java
+++ b/test/099-vmdebug/src/Main.java
@@ -20,6 +20,9 @@
import java.util.Map;
public class Main {
+ private static final String TEMP_FILE_NAME_PREFIX = "test";
+ private static final String TEMP_FILE_NAME_SUFFIX = ".trace";
+
public static void main(String[] args) throws Exception {
String name = System.getProperty("java.vm.name");
if (!"Dalvik".equals(name)) {
@@ -32,21 +35,31 @@
private static File createTempFile() throws Exception {
try {
- return File.createTempFile("test", ".trace");
+ return File.createTempFile(TEMP_FILE_NAME_PREFIX, TEMP_FILE_NAME_SUFFIX);
} catch (IOException e) {
System.setProperty("java.io.tmpdir", "/data/local/tmp");
try {
- return File.createTempFile("test", ".trace");
+ return File.createTempFile(TEMP_FILE_NAME_PREFIX, TEMP_FILE_NAME_SUFFIX);
} catch (IOException e2) {
System.setProperty("java.io.tmpdir", "/sdcard");
- return File.createTempFile("test", ".trace");
+ return File.createTempFile(TEMP_FILE_NAME_PREFIX, TEMP_FILE_NAME_SUFFIX);
}
}
}
private static void testMethodTracing() throws Exception {
- File tempFile = createTempFile();
- tempFile.deleteOnExit();
+ File tempFile = null;
+ try {
+ tempFile = createTempFile();
+ testMethodTracingToFile(tempFile);
+ } finally {
+ if (tempFile != null) {
+ tempFile.delete();
+ }
+ }
+ }
+
+ private static void testMethodTracingToFile(File tempFile) throws Exception {
String tempFileName = tempFile.getPath();
if (VMDebug.getMethodTracingMode() != 0) {
diff --git a/test/802-deoptimization/src/DeoptimizationController.java b/test/802-deoptimization/src/DeoptimizationController.java
index c926669..d6e662d 100644
--- a/test/802-deoptimization/src/DeoptimizationController.java
+++ b/test/802-deoptimization/src/DeoptimizationController.java
@@ -22,24 +22,27 @@
* Controls deoptimization using dalvik.system.VMDebug class.
*/
public class DeoptimizationController {
+ private static final String TEMP_FILE_NAME_PREFIX = "test";
+ private static final String TEMP_FILE_NAME_SUFFIX = ".trace";
+
private static File createTempFile() throws Exception {
try {
- return File.createTempFile("test", ".trace");
+ return File.createTempFile(TEMP_FILE_NAME_PREFIX, TEMP_FILE_NAME_SUFFIX);
} catch (IOException e) {
System.setProperty("java.io.tmpdir", "/data/local/tmp");
try {
- return File.createTempFile("test", ".trace");
+ return File.createTempFile(TEMP_FILE_NAME_PREFIX, TEMP_FILE_NAME_SUFFIX);
} catch (IOException e2) {
System.setProperty("java.io.tmpdir", "/sdcard");
- return File.createTempFile("test", ".trace");
+ return File.createTempFile(TEMP_FILE_NAME_PREFIX, TEMP_FILE_NAME_SUFFIX);
}
}
}
public static void startDeoptimization() {
+ File tempFile = null;
try {
- File tempFile = createTempFile();
- tempFile.deleteOnExit();
+ tempFile = createTempFile();
String tempFileName = tempFile.getPath();
VMDebug.startMethodTracing(tempFileName, 0, 0, false, 1000);
@@ -48,6 +51,10 @@
}
} catch (Exception exc) {
exc.printStackTrace(System.err);
+ } finally {
+ if (tempFile != null) {
+ tempFile.delete();
+ }
}
}