From e38eec4d95be516bf06d251ce8753f1f603e6d1b Mon Sep 17 00:00:00 2001 From: ericvergnaud Date: Sat, 4 Oct 2014 11:34:34 +0800 Subject: [PATCH] improve management of test directories --- tool/test/org/antlr/v4/test/BaseTest.java | 26 +++++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/tool/test/org/antlr/v4/test/BaseTest.java b/tool/test/org/antlr/v4/test/BaseTest.java index 0fafb0c72..6ddc4ac07 100644 --- a/tool/test/org/antlr/v4/test/BaseTest.java +++ b/tool/test/org/antlr/v4/test/BaseTest.java @@ -148,10 +148,15 @@ public abstract class BaseTest { @Before public void setUp() throws Exception { - // new output dir for each test - tmpdir = new File(System.getProperty("java.io.tmpdir"), + String prop = System.getProperty("antlr-java-test-dir"); + if(prop!=null && prop.length()>0) + tmpdir = prop; + else + // new output dir for each test + tmpdir = new File(System.getProperty("java.io.tmpdir"), getClass().getSimpleName()+"-"+System.currentTimeMillis()).getAbsolutePath(); -// tmpdir = "/tmp"; + if(new File(tmpdir).exists()) + eraseFiles(); } protected org.antlr.v4.Tool newTool(String[] args) { @@ -1175,10 +1180,17 @@ public abstract class BaseTest { } protected void eraseTempDir() { - File tmpdirF = new File(tmpdir); - if ( tmpdirF.exists() ) { - eraseFiles(); - tmpdirF.delete(); + boolean doErase = true; + String propName = "antlr-java-erase-test-dir"; + String prop = System.getProperty(propName); + if(prop!=null && prop.length()>0) + doErase = Boolean.getBoolean(prop); + if(doErase) { + File tmpdirF = new File(tmpdir); + if ( tmpdirF.exists() ) { + eraseFiles(); + tmpdirF.delete(); + } } }