diff options
author | Som Snytt <som.snytt@gmail.com> | 2013-05-18 08:46:43 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2013-05-19 13:29:46 -0700 |
commit | 4ab66d1613da276712692001ed8f9f3c009736ab (patch) | |
tree | 61388d728cc7dc5d9f3d40f2c620b5bb28aae791 /test/pending/neg/t7494-cyclic-dependency | |
parent | e0bd62c5f24fba233a879f6b97cd61152183c3a0 (diff) | |
download | scala-4ab66d1613da276712692001ed8f9f3c009736ab.tar.gz scala-4ab66d1613da276712692001ed8f9f3c009736ab.tar.bz2 scala-4ab66d1613da276712692001ed8f9f3c009736ab.zip |
SI-7494 Tests for status quo
Exploit SI-6446 fix to move old pending tests for plugins to the
active pool.
Also, nuance the partest runner to allow the compiler to crash
with a FatalError if a check file is present.
Some of the plugin tests make phase assembly throw.
One of the legacy tests was moved back to pending:
There seems to be a race for who shall be deemed truly dependent.
Back to pending for you!
apm@mara:~/projects/snytt/test$ ./partest files/neg/t7494-cyclic-dependency/
Selected 1 tests drawn from specified tests
> starting 1 test in neg
ok 1 - neg/t7494-cyclic-dependency
1/1 passed (elapsed time: 00:00:04)
Test Run PASSED
apm@mara:~/projects/snytt/test$ ./partest files/neg/t7494-cyclic-dependency/
Selected 1 tests drawn from specified tests
> starting 1 test in neg
!! 1 - neg/t7494-cyclic-dependency [output differs]
> 0/1 passed, 1 failed in neg
>>>>> Transcripts from failed tests >>>>>
> partest files/neg/t7494-cyclic-dependency
% scalac t7494-cyclic-dependency/ThePlugin.scala
% scalac t7494-cyclic-dependency/sample_2.scala
error: Cycle in compiler phase dependencies detected, phase cyclicdependency1 reacted twice!
% diff files/neg/t7494-cyclic-dependency-neg.log files/neg/t7494-cyclic-dependency.check
@@ -1 +1 @@
-error: Cycle in compiler phase dependencies detected, phase cyclicdependency1 reacted twice!
+error: Cycle in compiler phase dependencies detected, phase cyclicdependency2 reacted twice!
0/1 passed, 1 failed (elapsed time: 00:00:04)
Test Run FAILED
Diffstat (limited to 'test/pending/neg/t7494-cyclic-dependency')
4 files changed, 53 insertions, 0 deletions
diff --git a/test/pending/neg/t7494-cyclic-dependency/ThePlugin.scala b/test/pending/neg/t7494-cyclic-dependency/ThePlugin.scala new file mode 100644 index 0000000000..bd94ce60d7 --- /dev/null +++ b/test/pending/neg/t7494-cyclic-dependency/ThePlugin.scala @@ -0,0 +1,41 @@ +package scala.test.plugins + +import scala.tools.nsc +import nsc.Global +import nsc.Phase +import nsc.plugins.Plugin +import nsc.plugins.PluginComponent + +class ThePlugin(val global: Global) extends Plugin { + import global._ + + val name = "cyclicdependency" + val description = "Declares two phases that have a cyclic dependency" + val components = List[PluginComponent](thePhase1,thePhase2) + + private object thePhase1 extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]("tailcalls","cyclicdependency2") + + val phaseName = ThePlugin.this.name + "1" + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private object thePhase2 extends PluginComponent { + val global = ThePlugin.this.global + + val runsAfter = List[String]("dce","cyclicdependency1") + + val phaseName = ThePlugin.this.name + "2" + + def newPhase(prev: Phase) = new ThePhase(prev) + } + + private class ThePhase(prev: Phase) extends Phase(prev) { + def name = ThePlugin.this.name + def run {} + } +} + diff --git a/test/pending/neg/t7494-cyclic-dependency/sample_2.flags b/test/pending/neg/t7494-cyclic-dependency/sample_2.flags new file mode 100644 index 0000000000..db25b88a12 --- /dev/null +++ b/test/pending/neg/t7494-cyclic-dependency/sample_2.flags @@ -0,0 +1 @@ +-Xplugin:. -Xplugin-require:cyclicdependency diff --git a/test/pending/neg/t7494-cyclic-dependency/sample_2.scala b/test/pending/neg/t7494-cyclic-dependency/sample_2.scala new file mode 100644 index 0000000000..73cdc64e40 --- /dev/null +++ b/test/pending/neg/t7494-cyclic-dependency/sample_2.scala @@ -0,0 +1,6 @@ + +package sample + +// just a sample that is compiled with the sample plugin enabled +object Sample extends App { +} diff --git a/test/pending/neg/t7494-cyclic-dependency/scalac-plugin.xml b/test/pending/neg/t7494-cyclic-dependency/scalac-plugin.xml new file mode 100644 index 0000000000..2558d6fd03 --- /dev/null +++ b/test/pending/neg/t7494-cyclic-dependency/scalac-plugin.xml @@ -0,0 +1,5 @@ +<plugin> + <name>ignored</name> + <classname>scala.test.plugins.ThePlugin</classname> +</plugin> + |