summaryrefslogtreecommitdiff
path: root/test/files/run/t5717.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2013-03-15 08:54:58 -0700
committerSom Snytt <som.snytt@gmail.com>2013-03-22 14:41:56 -0700
commitcc485a9c4f5764753a7d2d64815c2de84268d5ec (patch)
treeb2c80c2ee288313a0c47ec15a897fbae55ce80f4 /test/files/run/t5717.scala
parent482bef8079e2a2fecc2b8f77eb7c6da648125e3c (diff)
downloadscala-cc485a9c4f5764753a7d2d64815c2de84268d5ec.tar.gz
scala-cc485a9c4f5764753a7d2d64815c2de84268d5ec.tar.bz2
scala-cc485a9c4f5764753a7d2d64815c2de84268d5ec.zip
SI-5717 error when bytecode cannot be written
If there's an existing file foo when emitting a class file for foo.Bar, then emit an error at foo.Bar, similar to what javac does. The error message looks something like: foo.scala:4: error: error writing object Foo: ./mypkg/Foo.class: ./mypkg is not a directory
Diffstat (limited to 'test/files/run/t5717.scala')
-rwxr-xr-xtest/files/run/t5717.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/files/run/t5717.scala b/test/files/run/t5717.scala
new file mode 100755
index 0000000000..a0997f5a49
--- /dev/null
+++ b/test/files/run/t5717.scala
@@ -0,0 +1,21 @@
+import scala.tools.partest._
+import java.io.File
+
+object Test extends StoreReporterDirectTest {
+ def code = ???
+
+ def compileCode(code: String) = {
+ val classpath = List(sys.props("partest.lib"), testOutput.path) mkString sys.props("path.separator")
+ compileString(newCompiler("-cp", classpath, "-d", testOutput.path))(code)
+ }
+ // TODO
+ // Don't assume output is on physical disk
+ // Let the compiler tell us output dir
+ // val sc = newCompiler("-cp", classpath, "-d", testOutput.path)
+ // val out = sc.settings.outputDirs.getSingleOutput.get
+ def show(): Unit = {
+ // Don't crash when we find a file 'a' where package 'a' should go.
+ scala.reflect.io.File(testOutput.path + "/a").writeAll("a")
+ compileCode("package a { class B }")
+ }
+}