From 18d982896409cd5016dcfed0183f1c475a311558 Mon Sep 17 00:00:00 2001
From: Samuel Gruetter <samuel.gruetter@epfl.ch>
Date: Tue, 2 Jun 2015 21:41:18 +0200
Subject: [PATCH] run TerminationRegression test also on all tests for
 verification

---
 .../termination/TerminationRegression.scala     | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/test/scala/leon/test/termination/TerminationRegression.scala b/src/test/scala/leon/test/termination/TerminationRegression.scala
index 15b6bc3c4..4c2383164 100644
--- a/src/test/scala/leon/test/termination/TerminationRegression.scala
+++ b/src/test/scala/leon/test/termination/TerminationRegression.scala
@@ -54,17 +54,18 @@ class TerminationRegression extends LeonTestSuite {
     }
   }
 
-  private def forEachFileIn(cat : String, forError: Boolean = false)(block : Output=>Unit) {
-    val fs = filesInResourceDir(
-      "regression/termination/" + cat,
-      _.endsWith(".scala"))
-
-    for(f <- fs) {
+  private def forEachFileIn(files: Iterable[File], forError: Boolean = false)(block : Output=>Unit) {
+    for(f <- files) {
       mkTest(f, Seq(), forError)(block)
     }
   }
 
-  forEachFileIn("valid") { output =>
+  def validFiles = filesInResourceDir("regression/termination/valid",            _.endsWith(".scala")) ++
+                   filesInResourceDir("regression/verification/purescala/valid", _.endsWith(".scala"))
+
+  def loopingFiles = filesInResourceDir("regression/termination/looping", _.endsWith(".scala"))
+
+  forEachFileIn(validFiles) { output =>
     val Output(report, reporter) = output
     val failures = report.results.collect { case (fd, guarantee) if !guarantee.isGuaranteed => fd }
     assert(failures.isEmpty, "Functions " + failures.map(_.id) + " should terminate")
@@ -73,7 +74,7 @@ class TerminationRegression extends LeonTestSuite {
     assert(reporter.warningCount === 0)
   }
 
-  forEachFileIn("looping") { output =>
+  forEachFileIn(loopingFiles) { output =>
     val Output(report, reporter) = output
     val looping = report.results.filter { case (fd, guarantee) => fd.id.name.startsWith("looping") }
     assert(looping.forall(p => p._2.isInstanceOf[LoopsGivenInputs] || p._2.isInstanceOf[CallsNonTerminating]),
-- 
GitLab