diff --git a/src/test/scala/leon/test/LeonTestSuite.scala b/src/test/scala/leon/test/LeonTestSuite.scala index fec6f08f9056fa59fde72acf9541d6afcce922b1..fedf6ceff80a892d7288c8b67bc83da50b5c3941 100644 --- a/src/test/scala/leon/test/LeonTestSuite.scala +++ b/src/test/scala/leon/test/LeonTestSuite.scala @@ -1,8 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test +package leon.test +import leon._ +import leon.{LeonContext,Settings} import leon.utils._ import scala.io.Source @@ -14,6 +15,12 @@ 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/" + def now() = { System.currentTimeMillis } @@ -129,18 +136,35 @@ trait LeonTestSuite extends FunSuite with Timeouts with BeforeAndAfterEach { } } - private val all : String=>Boolean = (s : String) => true + protected val all : String=>Boolean = (s : String) => true - def filesInResourceDir(dir : String, filter : String=>Boolean = all) : Iterable[File] = { + + def resourceDir(dir : String) : File = { import scala.collection.JavaConversions._ val d = this.getClass.getClassLoader.getResource(dir) if(d == null || d.getProtocol != "file") { - assert(false, "Tests have to be run from within `sbt`, for otherwise the test files will be harder to access (and we dislike that).") + // We are in Eclipse. The only way we are saved is by hard-coding the path + new File(resourceDirHard + dir) + } + else { + new File(d.toURI()) } + } + + + + + def filesInResourceDir(dir : String, filter : String=>Boolean = all) : Iterable[File] = { + import scala.collection.JavaConversions._ + + val d = this.getClass.getClassLoader.getResource(dir) - val asFile = new File(d.toURI()) + val asFile = if(d == null || d.getProtocol != "file") { + // We are in Eclipse. The only way we are saved is by hard-coding the path + new File(resourceDirHard + dir) + } else new File(d.toURI()) asFile.listFiles().filter(f => filter(f.getPath())) } diff --git a/src/test/scala/leon/test/TestSilentReporter.scala b/src/test/scala/leon/test/TestSilentReporter.scala index 7f2fb45aec47598d19979b6bae9eac0d1e705187..47e3d83a7a8f42e01f3cbb86ddbca765daaa1228 100644 --- a/src/test/scala/leon/test/TestSilentReporter.scala +++ b/src/test/scala/leon/test/TestSilentReporter.scala @@ -1,7 +1,7 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test +package leon.test +import leon.{DefaultReporter,Settings} class TestSilentReporter extends DefaultReporter(Settings()) { var lastErrors: List[String] = Nil diff --git a/src/test/scala/leon/test/evaluators/EvaluatorsTests.scala b/src/test/scala/leon/test/evaluators/EvaluatorsTests.scala index 055eb3ed62107fdf20b51140139a9fccdfa9f0bd..402cf0225843e10ab5345292b47d6c649644ec1e 100644 --- a/src/test/scala/leon/test/evaluators/EvaluatorsTests.scala +++ b/src/test/scala/leon/test/evaluators/EvaluatorsTests.scala @@ -1,11 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package evaluators +package leon.test.evaluators import leon._ - -import leon.evaluators._ +import leon.evaluators._ import leon.utils.{TemporaryInputPhase, PreprocessingPhase} import leon.frontends.scalac.ExtractionPhase @@ -15,7 +13,7 @@ import leon.purescala.Definitions._ import leon.purescala.Trees._ import leon.purescala.TypeTrees._ -class EvaluatorsTests extends LeonTestSuite { +class EvaluatorsTests extends leon.test.LeonTestSuite { private implicit lazy val leonContext = testContext private val evaluatorConstructors : List[(LeonContext,Program)=>Evaluator] = List( @@ -446,7 +444,7 @@ class EvaluatorsTests extends LeonTestSuite { } test("Infinite Recursion") { - import codegen._ + import leon.codegen._ val p = """|object Program { | import leon.lang._ @@ -462,7 +460,7 @@ class EvaluatorsTests extends LeonTestSuite { } test("Wrong Contracts") { - import codegen._ + import leon.codegen._ val p = """|object Program { | import leon.lang._ diff --git a/src/test/scala/leon/test/purescala/DataGen.scala b/src/test/scala/leon/test/purescala/DataGen.scala index 9259e483a9af05a2516a78b366276c2f5120a2f1..f537a06a3bf6b732901a7ec25e3133f572166780 100644 --- a/src/test/scala/leon/test/purescala/DataGen.scala +++ b/src/test/scala/leon/test/purescala/DataGen.scala @@ -1,9 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala import leon._ +import leon.test._ import leon.utils.{TemporaryInputPhase, PreprocessingPhase} import leon.frontends.scalac.ExtractionPhase diff --git a/src/test/scala/leon/test/purescala/LikelyEq.scala b/src/test/scala/leon/test/purescala/LikelyEq.scala index 1fd61a4c56ad4921a3437fd628c32a08d803fa31..7c45186ec72956260dd7d6a774f875952aef623e 100644 --- a/src/test/scala/leon/test/purescala/LikelyEq.scala +++ b/src/test/scala/leon/test/purescala/LikelyEq.scala @@ -1,9 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala import leon._ +import leon.test._ import leon.evaluators._ import leon.purescala.Common._ import leon.purescala.Definitions._ diff --git a/src/test/scala/leon/test/purescala/LikelyEqSuite.scala b/src/test/scala/leon/test/purescala/LikelyEqSuite.scala index 1a5cf7e5418f2f8b1d916322637b934219351c1a..0901ecd2dd430e53d7c1bc152215628e0115f90b 100644 --- a/src/test/scala/leon/test/purescala/LikelyEqSuite.scala +++ b/src/test/scala/leon/test/purescala/LikelyEqSuite.scala @@ -1,8 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala +import leon._ +import leon.test._ import leon.purescala.Common._ import leon.purescala.Trees._ diff --git a/src/test/scala/leon/test/purescala/TransformationTests.scala b/src/test/scala/leon/test/purescala/TransformationTests.scala index 2a126a2443763ab18f1c2efd5b8068d126a87ce3..4575865d74661439fbaf0aac04b7202096d5f89c 100644 --- a/src/test/scala/leon/test/purescala/TransformationTests.scala +++ b/src/test/scala/leon/test/purescala/TransformationTests.scala @@ -1,9 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala import leon._ +import leon.test._ import leon.utils.{TemporaryInputPhase, PreprocessingPhase} import leon.frontends.scalac.ExtractionPhase diff --git a/src/test/scala/leon/test/purescala/TreeNormalizationsTests.scala b/src/test/scala/leon/test/purescala/TreeNormalizationsTests.scala index a414e536ab3c1c82d8c30d1b512fef83dc56dff2..d655761f25a3c3c39404a913e22e52d77f081d01 100644 --- a/src/test/scala/leon/test/purescala/TreeNormalizationsTests.scala +++ b/src/test/scala/leon/test/purescala/TreeNormalizationsTests.scala @@ -1,7 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala + +import leon._ +import leon.test._ import leon.purescala.Common._ import leon.purescala.Definitions._ diff --git a/src/test/scala/leon/test/purescala/TreeOpsTests.scala b/src/test/scala/leon/test/purescala/TreeOpsTests.scala index 988c3ffd45e467d65427c50bb5d6f77aa2b4d07f..d028ae8d9b16a5d49b502ad3bf589dcdb3ae6329 100644 --- a/src/test/scala/leon/test/purescala/TreeOpsTests.scala +++ b/src/test/scala/leon/test/purescala/TreeOpsTests.scala @@ -1,7 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala + +import leon._ +import leon.test._ import leon.LeonContext diff --git a/src/test/scala/leon/test/purescala/TreeTests.scala b/src/test/scala/leon/test/purescala/TreeTests.scala index 6abdf231ad0b43951daa8d9af894835cd8d28564..aae0705e5135b64ce38fd6b8aaf78209986d3ef6 100644 --- a/src/test/scala/leon/test/purescala/TreeTests.scala +++ b/src/test/scala/leon/test/purescala/TreeTests.scala @@ -1,7 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package purescala +package leon.test.purescala + +import leon._ +import leon.test._ import leon.purescala.Common._ import leon.purescala.Definitions._ diff --git a/src/test/scala/leon/test/solvers/EnumerationSolverTests.scala b/src/test/scala/leon/test/solvers/EnumerationSolverTests.scala index ac1f4926dca26196f35d06709b618adc7f887f57..b5bfc4466e3c84fe603315e94b37ac895fe77aa2 100644 --- a/src/test/scala/leon/test/solvers/EnumerationSolverTests.scala +++ b/src/test/scala/leon/test/solvers/EnumerationSolverTests.scala @@ -1,9 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package solvers +package leon.test.solvers import leon._ +import leon.test._ import leon.utils.Interruptible import leon.solvers._ import leon.solvers.combinators._ diff --git a/src/test/scala/leon/test/solvers/TimeoutSolverTests.scala b/src/test/scala/leon/test/solvers/TimeoutSolverTests.scala index 109895cdce5ab76ef41fc70dfe60ca0ea54ade15..0c4bd2791ed8371542f7b3918260b52914c26794 100644 --- a/src/test/scala/leon/test/solvers/TimeoutSolverTests.scala +++ b/src/test/scala/leon/test/solvers/TimeoutSolverTests.scala @@ -1,9 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package solvers +package leon.test.solvers import leon._ +import leon.test._ import leon.utils.Interruptible import leon.solvers._ import leon.solvers.combinators._ diff --git a/src/test/scala/leon/test/solvers/z3/FairZ3SolverTests.scala b/src/test/scala/leon/test/solvers/z3/FairZ3SolverTests.scala index 0e520d18260d14d96885c4e445d403c3ead81b8f..7ed2aa9bd46fe71affe48441f6478018584615f4 100644 --- a/src/test/scala/leon/test/solvers/z3/FairZ3SolverTests.scala +++ b/src/test/scala/leon/test/solvers/z3/FairZ3SolverTests.scala @@ -1,8 +1,8 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package solvers.z3 +package leon.test.solvers.z3 +import leon.test._ import leon.purescala.Common._ import leon.purescala.Definitions._ import leon.purescala.Trees._ diff --git a/src/test/scala/leon/test/solvers/z3/FairZ3SolverTestsNewAPI.scala b/src/test/scala/leon/test/solvers/z3/FairZ3SolverTestsNewAPI.scala index 8ce8d3796422bd41869b5cf42a9d8afeffa0e5e1..7f489e729b20cd549821778fe2534ee434bc79c2 100644 --- a/src/test/scala/leon/test/solvers/z3/FairZ3SolverTestsNewAPI.scala +++ b/src/test/scala/leon/test/solvers/z3/FairZ3SolverTestsNewAPI.scala @@ -1,8 +1,8 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package solvers.z3 +package leon.test.solvers.z3 +import leon.test._ import leon.purescala.Common._ import leon.purescala.Definitions._ import leon.purescala.Trees._ diff --git a/src/test/scala/leon/test/solvers/z3/UninterpretedZ3SolverTests.scala b/src/test/scala/leon/test/solvers/z3/UninterpretedZ3SolverTests.scala index d4ac0f2e5f036dbb3e14080d1410af458a07d6be..a0579dbd460a4c2589068e0dd5f03aa0c72a6ae4 100644 --- a/src/test/scala/leon/test/solvers/z3/UninterpretedZ3SolverTests.scala +++ b/src/test/scala/leon/test/solvers/z3/UninterpretedZ3SolverTests.scala @@ -1,7 +1,8 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package solvers.z3 +package leon.test.solvers.z3 + +import leon.test._ import leon.purescala.Common._ import leon.purescala.Definitions._ diff --git a/src/test/scala/leon/test/synthesis/AlgebraSuite.scala b/src/test/scala/leon/test/synthesis/AlgebraSuite.scala index 22b4380a1863840939556f5e53edd5cfa5faa344..bfd30c7b4443dc70603b9e143ee2343c01342464 100644 --- a/src/test/scala/leon/test/synthesis/AlgebraSuite.scala +++ b/src/test/scala/leon/test/synthesis/AlgebraSuite.scala @@ -1,7 +1,7 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package synthesis +package leon.test.synthesis +import leon.test._ import leon.synthesis.Algebra._ diff --git a/src/test/scala/leon/test/synthesis/LinearEquationsSuite.scala b/src/test/scala/leon/test/synthesis/LinearEquationsSuite.scala index 84282bbe85cc5a189a255f6b0cccb269682f71a4..2906f7b2cdbe020c5221b1d8fea3f58d394361f7 100644 --- a/src/test/scala/leon/test/synthesis/LinearEquationsSuite.scala +++ b/src/test/scala/leon/test/synthesis/LinearEquationsSuite.scala @@ -1,7 +1,7 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package synthesis +package leon.test.synthesis +import leon.test._ import leon.purescala.Trees._ import leon.purescala.TypeTrees._ diff --git a/src/test/scala/leon/test/synthesis/SynthesisRegressionSuite.scala b/src/test/scala/leon/test/synthesis/SynthesisRegressionSuite.scala index a6794621b422602d2e7c03326f5ed3d6a4aa4a5e..7531e24ccb99e3879139a30b11db8f3983026bcb 100644 --- a/src/test/scala/leon/test/synthesis/SynthesisRegressionSuite.scala +++ b/src/test/scala/leon/test/synthesis/SynthesisRegressionSuite.scala @@ -1,8 +1,7 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test -package synthesis +package leon.test.synthesis +import leon.test._ import leon._ import leon.purescala.Definitions._ @@ -33,7 +32,7 @@ class SynthesisRegressionSuite extends LeonTestSuite { val opts = SynthesisOptions(searchBound = Some(bound), allSeeing = true) - val pipeline = frontends.scalac.ExtractionPhase andThen leon.utils.PreprocessingPhase + val pipeline = leon.frontends.scalac.ExtractionPhase andThen leon.utils.PreprocessingPhase val program = pipeline.run(ctx)(f.getAbsolutePath :: Nil) diff --git a/src/test/scala/leon/test/synthesis/SynthesisSuite.scala b/src/test/scala/leon/test/synthesis/SynthesisSuite.scala index ea7a93310f7757c5d0b672e326980a8f0a9874e6..cbcc3f2305e5f624174d9c7edce6c997d12d417f 100644 --- a/src/test/scala/leon/test/synthesis/SynthesisSuite.scala +++ b/src/test/scala/leon/test/synthesis/SynthesisSuite.scala @@ -1,8 +1,7 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon.test -package synthesis - +package leon.test.synthesis +import leon.test._ import leon._ import leon.purescala.Definitions._ import leon.purescala.Trees._ diff --git a/src/test/scala/leon/test/termination/TerminationRegression.scala b/src/test/scala/leon/test/termination/TerminationRegression.scala index 208917ec6c873f080e915b6d7dd61e8137c561fd..da5436d0375a43a22a259b0c46069d0b260722a6 100644 --- a/src/test/scala/leon/test/termination/TerminationRegression.scala +++ b/src/test/scala/leon/test/termination/TerminationRegression.scala @@ -1,8 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test -package termination +package leon.test.termination + +import leon._ +import leon.test._ import leon.termination._ diff --git a/src/test/scala/leon/test/verification/LibraryVerificationRegression.scala b/src/test/scala/leon/test/verification/LibraryVerificationRegression.scala index a1d7c26906d0429fc28c9dba8d4d23f431889a55..faf107ebb18d05480c93dcccbc21c35c37ef515c 100644 --- a/src/test/scala/leon/test/verification/LibraryVerificationRegression.scala +++ b/src/test/scala/leon/test/verification/LibraryVerificationRegression.scala @@ -1,8 +1,10 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test -package verification +package leon.test.verification + +import leon._ +import leon.test._ + import java.io.File diff --git a/src/test/scala/leon/test/verification/PureScalaVerificationRegression.scala b/src/test/scala/leon/test/verification/PureScalaVerificationRegression.scala index c553003064c0926460bdb92f1e8d0ebf14ce36a2..86b394053f4945ad86872fbbb70bbd231aa9885a 100644 --- a/src/test/scala/leon/test/verification/PureScalaVerificationRegression.scala +++ b/src/test/scala/leon/test/verification/PureScalaVerificationRegression.scala @@ -1,8 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test -package verification +package leon.test.verification + +import leon._ +import leon.test._ import leon.verification.{AnalysisPhase,VerificationReport} diff --git a/src/test/scala/leon/test/verification/XLangVerificationRegression.scala b/src/test/scala/leon/test/verification/XLangVerificationRegression.scala index 726b039e0c977b8e31a82d69f5b9b0912eedadc6..680948c287021165fea09f9e9bc1915872d5a724 100644 --- a/src/test/scala/leon/test/verification/XLangVerificationRegression.scala +++ b/src/test/scala/leon/test/verification/XLangVerificationRegression.scala @@ -1,8 +1,9 @@ /* Copyright 2009-2014 EPFL, Lausanne */ -package leon -package test -package verification +package leon.test.verification + +import leon._ +import leon.test._ import leon.verification.VerificationReport import leon.xlang.XlangAnalysisPhase