diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-25 09:09:51 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-25 09:09:51 -0800 |
commit | 0e6015d46df35a57c5acaf4fea2b0555ddd9b18e (patch) | |
tree | 534b28161f7195b56adaecffe4199bdd4ee2d708 /test/files/run | |
parent | dacab70646561159b4c34c2d751e03b61eeee369 (diff) | |
parent | 1dab5bf91361b8d6073db05ba1dff1bc01a83220 (diff) | |
download | scala-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/files/run')
-rw-r--r-- | test/files/run/t6987.check | 1 | ||||
-rw-r--r-- | test/files/run/t6987.scala | 43 |
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 +} |