summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-01-25 09:09:51 -0800
committerPaul Phillips <paulp@improving.org>2013-01-25 09:09:51 -0800
commit0e6015d46df35a57c5acaf4fea2b0555ddd9b18e (patch)
tree534b28161f7195b56adaecffe4199bdd4ee2d708 /test
parentdacab70646561159b4c34c2d751e03b61eeee369 (diff)
parent1dab5bf91361b8d6073db05ba1dff1bc01a83220 (diff)
downloadscala-0e6015d46df35a57c5acaf4fea2b0555ddd9b18e.tar.gz
scala-0e6015d46df35a57c5acaf4fea2b0555ddd9b18e.tar.bz2
scala-0e6015d46df35a57c5acaf4fea2b0555ddd9b18e.zip
Merge pull request #1951 from JamesIry/SI-6987_2.10.x
SI-6987 Fixes fsc compile server verbose output
Diffstat (limited to 'test')
-rw-r--r--test/files/run/t6987.check1
-rw-r--r--test/files/run/t6987.scala43
2 files changed, 44 insertions, 0 deletions
diff --git a/test/files/run/t6987.check b/test/files/run/t6987.check
new file mode 100644
index 0000000000..86fc96c679
--- /dev/null
+++ b/test/files/run/t6987.check
@@ -0,0 +1 @@
+got successful verbose results!
diff --git a/test/files/run/t6987.scala b/test/files/run/t6987.scala
new file mode 100644
index 0000000000..37e91d61ae
--- /dev/null
+++ b/test/files/run/t6987.scala
@@ -0,0 +1,43 @@
+import java.io._
+import tools.nsc.{CompileClient, CompileServer}
+import java.util.concurrent.{CountDownLatch, TimeUnit}
+
+object Test extends App {
+ val startupLatch = new CountDownLatch(1)
+ // we have to explicitly launch our server because when the client launches a server it uses
+ // the "scala" shell command meaning whatever version of scala (and whatever version of libraries)
+ // happens to be in the path gets used
+ val t = new Thread(new Runnable {
+ def run() = {
+ CompileServer.execute(() => startupLatch.countDown(), Array[String]())
+ }
+ })
+ t setDaemon true
+ t.start()
+ if (!startupLatch.await(2, TimeUnit.MINUTES))
+ sys error "Timeout waiting for server to start"
+
+ val baos = new ByteArrayOutputStream()
+ val ps = new PrintStream(baos)
+
+ val success = (scala.Console withOut ps) {
+ // shut down the server via the client using the verbose flag
+ CompileClient.process(Array("-shutdown", "-verbose"))
+ }
+
+ // now make sure we got success and a verbose result
+ val msg = baos.toString()
+
+ if (success) {
+ if (msg contains "Settings after normalizing paths") {
+ println("got successful verbose results!")
+ } else {
+ println("did not get the string expected, full results were:")
+ println(msg)
+ }
+ } else {
+ println("got a failure. Full results were:")
+ println(msg)
+ }
+ scala.Console.flush
+}