From ca1de3836e0be33e38e05438aa2b7b1a501e0c57 Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Tue, 18 Aug 2015 15:17:37 +0200 Subject: [PATCH 1/7] Mark test source-dependencies/trait-super as fixed It appears to have been fixed by #2160 --- .../sbt-test/source-dependencies/trait-super/{pending => test} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sbt/src/sbt-test/source-dependencies/trait-super/{pending => test} (100%) diff --git a/sbt/src/sbt-test/source-dependencies/trait-super/pending b/sbt/src/sbt-test/source-dependencies/trait-super/test similarity index 100% rename from sbt/src/sbt-test/source-dependencies/trait-super/pending rename to sbt/src/sbt-test/source-dependencies/trait-super/test From 1b2750be7a9d3a389a264b95c45a4ceaab3d0a34 Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Tue, 18 Aug 2015 15:38:36 +0200 Subject: [PATCH 2/7] Mark passing pending scripted tests as failures --- scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala b/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala index 6e5dc8f38..764ad7916 100644 --- a/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala +++ b/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala @@ -81,6 +81,7 @@ final class ScriptedTests(resourceBaseDirectory: File, bufferLog: Boolean, launc prescripted(testDirectory) runTest() buffered.info("+ " + label + pendingString) + if (pending) throw new PendingTestSuccessException(label) } catch { case e: xsbt.test.TestException => testFailed() @@ -89,6 +90,9 @@ final class ScriptedTests(resourceBaseDirectory: File, bufferLog: Boolean, launc case _ => e.printStackTrace } if (!pending) throw e + case e: PendingTestSuccessException => + testFailed() + throw e case e: Exception => testFailed() if (!pending) throw e @@ -209,3 +213,7 @@ object CompatibilityLevel extends Enumeration { case Minimal28 => "2.8.1" } } +class PendingTestSuccessException(label: String) extends Exception { + override def getMessage: String = + s"The pending test $label succeeded. Mark this test as passing to remove this failure." +} From bce77a1eccfad5bf34904b4b350930ec810490dd Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Wed, 19 Aug 2015 08:26:21 +0200 Subject: [PATCH 3/7] Continue to run tests after passing pending test --- scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala b/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala index 764ad7916..d2164dfd6 100644 --- a/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala +++ b/scripted/sbt/src/main/scala/sbt/test/ScriptedTests.scala @@ -40,7 +40,7 @@ final class ScriptedTests(resourceBaseDirectory: File, bufferLog: Boolean, launc None } else { try { scriptedTest(str, testDirectory, prescripted, log); None } - catch { case e: xsbt.test.TestException => Some(str) } + catch { case _: xsbt.test.TestException | _: PendingTestSuccessException => Some(str) } } } } @@ -92,6 +92,7 @@ final class ScriptedTests(resourceBaseDirectory: File, bufferLog: Boolean, launc if (!pending) throw e case e: PendingTestSuccessException => testFailed() + buffered.error(" Mark as passing to remove this failure.") throw e case e: Exception => testFailed() From d84573c9d3f3ff2e6bb5d8ab8db9f7d75ae7a29e Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Wed, 19 Aug 2015 09:11:02 +0200 Subject: [PATCH 4/7] Include pending scripted tests in * and *aofb --- project/Scripted.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/project/Scripted.scala b/project/Scripted.scala index 6202e3992..163b3223c 100644 --- a/project/Scripted.scala +++ b/project/Scripted.scala @@ -19,10 +19,11 @@ object Scripted { case class ScriptedTestPage(page: Int, total: Int) def scriptedParser(scriptedBase: File): Parser[Seq[String]] = { - val pairs = (scriptedBase * AllPassFilter * AllPassFilter * "test").get map { (f: File) => + val scriptedFiles: NameFilter = ("test": NameFilter) | "pending" + val pairs = (scriptedBase * AllPassFilter * AllPassFilter * scriptedFiles).get map { (f: File) => val p = f.getParentFile (p.getParentFile.getName, p.getName) - }; + } val pairMap = pairs.groupBy(_._1).mapValues(_.map(_._2).toSet); val id = charClass(c => !c.isWhitespace && c != '/').+.string From 29e6764a0551100c3306eca424151df7e1595f42 Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Wed, 19 Aug 2015 11:29:13 +0200 Subject: [PATCH 5/7] Mark passing pending scripted tests as passing The following scripted tests are pending but pass: - dependency-management / gh-1484-npe - source-dependencies / implicit-search-companion-scope - tests / arguments-new The test dependency-management / publish-local passes but is considered as flaky, and is thus disabled (see 6424adadcbe81d282239d013fa005870dc558969). --- .../sbt-test/dependency-management/gh-1484-npe/{pending => test} | 0 .../dependency-management/publish-local/{pending => disabled} | 0 .../implicit-search-companion-scope/{pending => test} | 0 sbt/src/sbt-test/tests/arguments-new/{pending => test} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename sbt/src/sbt-test/dependency-management/gh-1484-npe/{pending => test} (100%) rename sbt/src/sbt-test/dependency-management/publish-local/{pending => disabled} (100%) rename sbt/src/sbt-test/source-dependencies/implicit-search-companion-scope/{pending => test} (100%) rename sbt/src/sbt-test/tests/arguments-new/{pending => test} (100%) diff --git a/sbt/src/sbt-test/dependency-management/gh-1484-npe/pending b/sbt/src/sbt-test/dependency-management/gh-1484-npe/test similarity index 100% rename from sbt/src/sbt-test/dependency-management/gh-1484-npe/pending rename to sbt/src/sbt-test/dependency-management/gh-1484-npe/test diff --git a/sbt/src/sbt-test/dependency-management/publish-local/pending b/sbt/src/sbt-test/dependency-management/publish-local/disabled similarity index 100% rename from sbt/src/sbt-test/dependency-management/publish-local/pending rename to sbt/src/sbt-test/dependency-management/publish-local/disabled diff --git a/sbt/src/sbt-test/source-dependencies/implicit-search-companion-scope/pending b/sbt/src/sbt-test/source-dependencies/implicit-search-companion-scope/test similarity index 100% rename from sbt/src/sbt-test/source-dependencies/implicit-search-companion-scope/pending rename to sbt/src/sbt-test/source-dependencies/implicit-search-companion-scope/test diff --git a/sbt/src/sbt-test/tests/arguments-new/pending b/sbt/src/sbt-test/tests/arguments-new/test similarity index 100% rename from sbt/src/sbt-test/tests/arguments-new/pending rename to sbt/src/sbt-test/tests/arguments-new/test From 337bca1c74c5dccd1fbc5199fa372a77c154ea53 Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Wed, 19 Aug 2015 16:16:16 +0200 Subject: [PATCH 6/7] Disable project / session-save --- sbt/src/sbt-test/project/session-save/{pending => disabled} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sbt/src/sbt-test/project/session-save/{pending => disabled} (100%) diff --git a/sbt/src/sbt-test/project/session-save/pending b/sbt/src/sbt-test/project/session-save/disabled similarity index 100% rename from sbt/src/sbt-test/project/session-save/pending rename to sbt/src/sbt-test/project/session-save/disabled From 2bed67a44d93272c495166070c8cdd7949622e29 Mon Sep 17 00:00:00 2001 From: Martin Duhem Date: Thu, 27 Aug 2015 09:54:20 +0200 Subject: [PATCH 7/7] Disable test dependency-management/mvn-local It is very flaky with Travis. --- .../sbt-test/dependency-management/mvn-local/{test => disabled} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sbt/src/sbt-test/dependency-management/mvn-local/{test => disabled} (100%) diff --git a/sbt/src/sbt-test/dependency-management/mvn-local/test b/sbt/src/sbt-test/dependency-management/mvn-local/disabled similarity index 100% rename from sbt/src/sbt-test/dependency-management/mvn-local/test rename to sbt/src/sbt-test/dependency-management/mvn-local/disabled