summaryrefslogtreecommitdiff
path: root/test/pending
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2010-01-05 16:57:30 +0000
committerPhilipp Haller <hallerp@gmail.com>2010-01-05 16:57:30 +0000
commitdf1139ee182f049113965f1cada035babca344e7 (patch)
treebf80aa731d580b04aa07bdcaa7f2f80cad191d2b /test/pending
parentbdf13aaa1d535b7b941dc707b78f7ab5ddf8d04d (diff)
downloadscala-df1139ee182f049113965f1cada035babca344e7.tar.gz
scala-df1139ee182f049113965f1cada035babca344e7.tar.bz2
scala-df1139ee182f049113965f1cada035babca344e7.zip
Moved plugin neg tests to pending. No review.
Diffstat (limited to 'test/pending')
-rw-r--r--test/pending/neg/plugin-after-terminal.check2
-rw-r--r--test/pending/neg/plugin-after-terminal.flags2
-rw-r--r--test/pending/neg/plugin-after-terminal/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/pending/neg/plugin-after-terminal/misc/build.sh14
-rw-r--r--test/pending/neg/plugin-after-terminal/misc/scalac-plugin.xml5
-rw-r--r--test/pending/neg/plugin-after-terminal/src/ThePlugin.scala31
-rw-r--r--test/pending/neg/plugin-after-terminal/testsource.scala4
-rw-r--r--test/pending/neg/plugin-before-parser.check2
-rw-r--r--test/pending/neg/plugin-before-parser.flags2
-rw-r--r--test/pending/neg/plugin-before-parser/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/pending/neg/plugin-before-parser/misc/build.sh14
-rw-r--r--test/pending/neg/plugin-before-parser/misc/scalac-plugin.xml5
-rw-r--r--test/pending/neg/plugin-before-parser/src/ThePlugin.scala32
-rw-r--r--test/pending/neg/plugin-before-parser/testsource.scala4
-rw-r--r--test/pending/neg/plugin-cyclic-dependency.check2
-rw-r--r--test/pending/neg/plugin-cyclic-dependency.flags2
-rw-r--r--test/pending/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/pending/neg/plugin-cyclic-dependency/misc/build.sh14
-rw-r--r--test/pending/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml5
-rw-r--r--test/pending/neg/plugin-cyclic-dependency/src/ThePlugin.scala41
-rw-r--r--test/pending/neg/plugin-cyclic-dependency/testsource.scala4
-rw-r--r--test/pending/neg/plugin-multiple-rafter.check4
-rw-r--r--test/pending/neg/plugin-multiple-rafter.flags2
-rw-r--r--test/pending/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/pending/neg/plugin-multiple-rafter/misc/build.sh14
-rw-r--r--test/pending/neg/plugin-multiple-rafter/misc/scalac-plugin.xml5
-rw-r--r--test/pending/neg/plugin-multiple-rafter/src/ThePlugin.scala31
-rw-r--r--test/pending/neg/plugin-multiple-rafter/testsource.scala4
-rw-r--r--test/pending/neg/plugin-rafter-before-1.check2
-rw-r--r--test/pending/neg/plugin-rafter-before-1.flags2
-rw-r--r--test/pending/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/pending/neg/plugin-rafter-before-1/misc/build.sh14
-rw-r--r--test/pending/neg/plugin-rafter-before-1/misc/scalac-plugin.xml5
-rw-r--r--test/pending/neg/plugin-rafter-before-1/src/ThePlugin.scala31
-rw-r--r--test/pending/neg/plugin-rafter-before-1/testsource.scala4
-rw-r--r--test/pending/neg/plugin-rightafter-terminal.check2
-rw-r--r--test/pending/neg/plugin-rightafter-terminal.flags2
-rw-r--r--test/pending/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha11
-rwxr-xr-xtest/pending/neg/plugin-rightafter-terminal/misc/build.sh14
-rw-r--r--test/pending/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml5
-rw-r--r--test/pending/neg/plugin-rightafter-terminal/src/ThePlugin.scala32
-rw-r--r--test/pending/neg/plugin-rightafter-terminal/testsource.scala4
42 files changed, 368 insertions, 0 deletions
diff --git a/test/pending/neg/plugin-after-terminal.check b/test/pending/neg/plugin-after-terminal.check
new file mode 100644
index 0000000000..096efe09cd
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal.check
@@ -0,0 +1,2 @@
+error: [phase assembly, after dependency on terminal phase not allowed: afterterminal => terminal]
+one error found
diff --git a/test/pending/neg/plugin-after-terminal.flags b/test/pending/neg/plugin-after-terminal.flags
new file mode 100644
index 0000000000..6a44376213
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-after-terminal/lib/plugins.jar
+
diff --git a/test/pending/neg/plugin-after-terminal/lib/plugins.jar.desired.sha1 b/test/pending/neg/plugin-after-terminal/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..3e382f3a12
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+f174c50c4363c492362a05c72dd45b0da18fdcd8 ?plugins.jar
diff --git a/test/pending/neg/plugin-after-terminal/misc/build.sh b/test/pending/neg/plugin-after-terminal/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/pending/neg/plugin-after-terminal/misc/scalac-plugin.xml b/test/pending/neg/plugin-after-terminal/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..90ff27dc2a
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal/misc/scalac-plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/pending/neg/plugin-after-terminal/src/ThePlugin.scala b/test/pending/neg/plugin-after-terminal/src/ThePlugin.scala
new file mode 100644
index 0000000000..f3c913086e
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal/src/ThePlugin.scala
@@ -0,0 +1,31 @@
+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 = "afterterminal"
+ val description = "Declares one plugin that wants to be after the terminal phase"
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]("terminal")
+
+ val phaseName = ThePlugin.this.name
+
+ 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/plugin-after-terminal/testsource.scala b/test/pending/neg/plugin-after-terminal/testsource.scala
new file mode 100644
index 0000000000..519d162fdf
--- /dev/null
+++ b/test/pending/neg/plugin-after-terminal/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("afterterminal")
+}
+
diff --git a/test/pending/neg/plugin-before-parser.check b/test/pending/neg/plugin-before-parser.check
new file mode 100644
index 0000000000..9a407923b1
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser.check
@@ -0,0 +1,2 @@
+error: [phase assembly, before dependency on parser phase not allowed: parser => beforeparser]
+one error found
diff --git a/test/pending/neg/plugin-before-parser.flags b/test/pending/neg/plugin-before-parser.flags
new file mode 100644
index 0000000000..632530922c
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-before-parser/lib/plugins.jar
+
diff --git a/test/pending/neg/plugin-before-parser/lib/plugins.jar.desired.sha1 b/test/pending/neg/plugin-before-parser/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..e82eed76ce
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+d7b100ad483484b598b7cd643424bd2e33898a0d ?plugins.jar
diff --git a/test/pending/neg/plugin-before-parser/misc/build.sh b/test/pending/neg/plugin-before-parser/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/pending/neg/plugin-before-parser/misc/scalac-plugin.xml b/test/pending/neg/plugin-before-parser/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..90ff27dc2a
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser/misc/scalac-plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/pending/neg/plugin-before-parser/src/ThePlugin.scala b/test/pending/neg/plugin-before-parser/src/ThePlugin.scala
new file mode 100644
index 0000000000..8714a55dc4
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser/src/ThePlugin.scala
@@ -0,0 +1,32 @@
+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 = "beforeparser"
+ val description = "Declares one plugin that wants to be before the parser phase"
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]()
+ override val runsBefore = List[String]("parser")
+
+ val phaseName = ThePlugin.this.name
+
+ 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/plugin-before-parser/testsource.scala b/test/pending/neg/plugin-before-parser/testsource.scala
new file mode 100644
index 0000000000..9928aaa83c
--- /dev/null
+++ b/test/pending/neg/plugin-before-parser/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("beforeparser")
+}
+
diff --git a/test/pending/neg/plugin-cyclic-dependency.check b/test/pending/neg/plugin-cyclic-dependency.check
new file mode 100644
index 0000000000..a29bc3f5be
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency.check
@@ -0,0 +1,2 @@
+error: fatal error: Cycle in compiler phase dependencies detected, phase cyclicdependency1 reacted twice!
+one error found
diff --git a/test/pending/neg/plugin-cyclic-dependency.flags b/test/pending/neg/plugin-cyclic-dependency.flags
new file mode 100644
index 0000000000..8716aaa65f
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-cyclic-dependency/lib/plugins.jar
+
diff --git a/test/pending/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1 b/test/pending/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..7e565e9e61
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+7e6be9e33a87194e7061f94f6be115619f91ada2 ?plugins.jar
diff --git a/test/pending/neg/plugin-cyclic-dependency/misc/build.sh b/test/pending/neg/plugin-cyclic-dependency/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/pending/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml b/test/pending/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..90ff27dc2a
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency/misc/scalac-plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/pending/neg/plugin-cyclic-dependency/src/ThePlugin.scala b/test/pending/neg/plugin-cyclic-dependency/src/ThePlugin.scala
new file mode 100644
index 0000000000..1dfc15cb28
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency/src/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/plugin-cyclic-dependency/testsource.scala b/test/pending/neg/plugin-cyclic-dependency/testsource.scala
new file mode 100644
index 0000000000..f1513ec9a0
--- /dev/null
+++ b/test/pending/neg/plugin-cyclic-dependency/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("cyclicdependency")
+}
+
diff --git a/test/pending/neg/plugin-multiple-rafter.check b/test/pending/neg/plugin-multiple-rafter.check
new file mode 100644
index 0000000000..c54f884feb
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter.check
@@ -0,0 +1,4 @@
+error: fatal error: Multiple phases want to run right after the phase explicitouter
+Phases: erasure, multi-rafter,
+Re-run with -Xgenerate-phase-graph <filename> to better see the problem.
+one error found
diff --git a/test/pending/neg/plugin-multiple-rafter.flags b/test/pending/neg/plugin-multiple-rafter.flags
new file mode 100644
index 0000000000..dcae7f2f96
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-multiple-rafter/lib/plugins.jar
+
diff --git a/test/pending/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1 b/test/pending/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..f4905fcbd4
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+2bda582b574287429ad5ee2e1d9a3effc88b0a5f ?plugins.jar
diff --git a/test/pending/neg/plugin-multiple-rafter/misc/build.sh b/test/pending/neg/plugin-multiple-rafter/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/pending/neg/plugin-multiple-rafter/misc/scalac-plugin.xml b/test/pending/neg/plugin-multiple-rafter/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..90ff27dc2a
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter/misc/scalac-plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/pending/neg/plugin-multiple-rafter/src/ThePlugin.scala b/test/pending/neg/plugin-multiple-rafter/src/ThePlugin.scala
new file mode 100644
index 0000000000..4c761517c1
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter/src/ThePlugin.scala
@@ -0,0 +1,31 @@
+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 = "multi-rafter"
+ val description = ""
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]()
+ override val runsRightAfter = Some("explicitouter")
+ val phaseName = ThePlugin.this.name
+
+ 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/plugin-multiple-rafter/testsource.scala b/test/pending/neg/plugin-multiple-rafter/testsource.scala
new file mode 100644
index 0000000000..f73db1eb60
--- /dev/null
+++ b/test/pending/neg/plugin-multiple-rafter/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("multi-rafter")
+}
+
diff --git a/test/pending/neg/plugin-rafter-before-1.check b/test/pending/neg/plugin-rafter-before-1.check
new file mode 100644
index 0000000000..19ed4d2fba
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1.check
@@ -0,0 +1,2 @@
+error: fatal error: phase erasure want to run right after explicitouter, but some phase has declared to run before erasure. Re-run with -Xgenerate-phase-graph <filename> to better see the problem.
+one error found
diff --git a/test/pending/neg/plugin-rafter-before-1.flags b/test/pending/neg/plugin-rafter-before-1.flags
new file mode 100644
index 0000000000..8bf03145b9
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-rafter-before-1/lib/plugins.jar
+
diff --git a/test/pending/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1 b/test/pending/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..8ad591b6ea
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+af91fd67ccef349e7f8ea662615e17796a339485 ?plugins.jar
diff --git a/test/pending/neg/plugin-rafter-before-1/misc/build.sh b/test/pending/neg/plugin-rafter-before-1/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/pending/neg/plugin-rafter-before-1/misc/scalac-plugin.xml b/test/pending/neg/plugin-rafter-before-1/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..90ff27dc2a
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1/misc/scalac-plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/pending/neg/plugin-rafter-before-1/src/ThePlugin.scala b/test/pending/neg/plugin-rafter-before-1/src/ThePlugin.scala
new file mode 100644
index 0000000000..c42a914066
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1/src/ThePlugin.scala
@@ -0,0 +1,31 @@
+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 = "rafter-before-1"
+ val description = ""
+ val components = List[PluginComponent](thePhase1)
+
+ private object thePhase1 extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]("refchecks")
+ override val runsBefore = List[String]("erasure")
+ val phaseName = ThePlugin.this.name
+
+ 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/plugin-rafter-before-1/testsource.scala b/test/pending/neg/plugin-rafter-before-1/testsource.scala
new file mode 100644
index 0000000000..836459db22
--- /dev/null
+++ b/test/pending/neg/plugin-rafter-before-1/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("rafter-before-1")
+}
+
diff --git a/test/pending/neg/plugin-rightafter-terminal.check b/test/pending/neg/plugin-rightafter-terminal.check
new file mode 100644
index 0000000000..6fe4f63c82
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal.check
@@ -0,0 +1,2 @@
+error: [phase assembly, right after dependency on terminal phase not allowed: rightafterterminal => terminal]
+one error found
diff --git a/test/pending/neg/plugin-rightafter-terminal.flags b/test/pending/neg/plugin-rightafter-terminal.flags
new file mode 100644
index 0000000000..948a318668
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal.flags
@@ -0,0 +1,2 @@
+-Xplugin:files/neg/plugin-rightafter-terminal/lib/plugins.jar
+
diff --git a/test/pending/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1 b/test/pending/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1
new file mode 100644
index 0000000000..c2e2b9cd43
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal/lib/plugins.jar.desired.sha1
@@ -0,0 +1 @@
+8cccde4914da2058dca893783c231cda23855603 ?plugins.jar
diff --git a/test/pending/neg/plugin-rightafter-terminal/misc/build.sh b/test/pending/neg/plugin-rightafter-terminal/misc/build.sh
new file mode 100755
index 0000000000..8899009d7f
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal/misc/build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+SCALAC="../../../../build/pack/bin/scalac -deprecation -cp ../../../../build/quick/classes/compiler/"
+
+BASE=`pwd`
+
+if [[ -d "${BASE}/src" ]] ; then
+
+ mkdir -p build
+ ${SCALAC} -d build src/*.scala
+ jar cf lib/plugins.jar -C misc/ scalac-plugin.xml -C build .
+ rm -rf build
+fi
+
diff --git a/test/pending/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml b/test/pending/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml
new file mode 100644
index 0000000000..90ff27dc2a
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal/misc/scalac-plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+ <name>beforeparser</name>
+ <classname>scala.test.plugins.ThePlugin</classname>
+</plugin>
+
diff --git a/test/pending/neg/plugin-rightafter-terminal/src/ThePlugin.scala b/test/pending/neg/plugin-rightafter-terminal/src/ThePlugin.scala
new file mode 100644
index 0000000000..47dd06ec8a
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal/src/ThePlugin.scala
@@ -0,0 +1,32 @@
+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 = "rightafterterminal"
+ val description = "Declares one plugin that wants to be right after the terminal phase"
+ val components = List[PluginComponent](thePhase)
+
+ private object thePhase extends PluginComponent {
+ val global = ThePlugin.this.global
+
+ val runsAfter = List[String]()
+ override val runsRightAfter = Some("terminal")
+
+ val phaseName = ThePlugin.this.name
+
+ 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/plugin-rightafter-terminal/testsource.scala b/test/pending/neg/plugin-rightafter-terminal/testsource.scala
new file mode 100644
index 0000000000..7af767b638
--- /dev/null
+++ b/test/pending/neg/plugin-rightafter-terminal/testsource.scala
@@ -0,0 +1,4 @@
+object Test extends Application {
+ println("rightafterterminal")
+}
+