From 04ef4c6ed2ea63541c9465bf4b5e7f00ef9b57c4 Mon Sep 17 00:00:00 2001
From: Etienne Kneuss <colder@php.net>
Date: Thu, 21 Aug 2014 16:25:05 +0200
Subject: [PATCH] Fix tests not to rely on hardcoded paths

---
 src/test/scala/leon/test/LeonTestSuite.scala        |  3 ---
 .../scala/leon/test/frontends/FrontEndsTest.scala   | 13 ++++++-------
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/src/test/scala/leon/test/LeonTestSuite.scala b/src/test/scala/leon/test/LeonTestSuite.scala
index fedf6ceff..d3e5321e5 100644
--- a/src/test/scala/leon/test/LeonTestSuite.scala
+++ b/src/test/scala/leon/test/LeonTestSuite.scala
@@ -15,9 +15,6 @@ import org.scalatest.exceptions.TestFailedException
 import java.io.File
 
 trait LeonTestSuite extends FunSuite with Timeouts with BeforeAndAfterEach {
-  
-  // Hard-code output directory, for Eclipse purposes
-  def outputDirHard(path : String) = new File("target/scala-2.10/test-classes/regression/" + path)
   // Hard-code resource directory, for Eclipse purposes
   val resourceDirHard = "src/test/resources/regression/"
   
diff --git a/src/test/scala/leon/test/frontends/FrontEndsTest.scala b/src/test/scala/leon/test/frontends/FrontEndsTest.scala
index 5c1ebd02b..9d091e0ea 100644
--- a/src/test/scala/leon/test/frontends/FrontEndsTest.scala
+++ b/src/test/scala/leon/test/frontends/FrontEndsTest.scala
@@ -4,10 +4,9 @@ import leon._
 import java.io.File
 
 class FrontEndsTest extends leon.test.LeonTestSuite {
-  
-  val inputFilePath  = "frontends"
-  val outputFilePath = "frontends"
-  
+  // Hard-code output directory, for Eclipse purposes
+  lazy val tmpPath = java.nio.file.Files.createTempDirectory("leon-frontends");
+
   private def forEachFileIn(path : String)(block : File => Unit) {
     val fs = filesInResourceDir(path, _.endsWith(".scala"))
 
@@ -33,13 +32,13 @@ class FrontEndsTest extends leon.test.LeonTestSuite {
     purescala.RestoreMethods andThen
     utils.FileOutputPhase
     
-  forEachFileIn(inputFilePath ) { f => 
+  forEachFileIn("frontends" ) { f => 
       testExtr(f)
   }
    
   def testExtr(f : File) {
-    val outFileName1 = outputDirHard(outputFilePath).getAbsolutePath() ++ "/" ++ f.getName 
-    val outFileName2 = outputDirHard(outputFilePath).getAbsolutePath() ++ "/restored" ++ f.getName 
+    val outFileName1 = tmpPath.toString ++ "/" ++ f.getName 
+    val outFileName2 = tmpPath.toString ++ "/restored" ++ f.getName 
     test ("Testing " + f.getName) {
       // Compile original file
       val timeOut = 2
-- 
GitLab