summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2013-06-23 21:40:18 +0200
committerSimon Ochsenreither <simon@ochsenreither.de>2013-06-23 21:40:18 +0200
commitc7ee27227f9dbb70e430021199c1fbb9ff44819b (patch)
tree094be46d5a8d17f3f2c94deec7d725b7f20e9445
parentb6bc53479984f9fc0528a8ce3f6f0b582cb4147f (diff)
downloadscala-c7ee27227f9dbb70e430021199c1fbb9ff44819b.tar.gz
scala-c7ee27227f9dbb70e430021199c1fbb9ff44819b.tar.bz2
scala-c7ee27227f9dbb70e430021199c1fbb9ff44819b.zip
SI-7600 [Avian] Skip tests r/stream_length and r/t4294
The issue is that Avian's GC is currently not precise enough to determine the exact lifetime of each local/stack reference, and therefore considers the this reference to be reachable in situations where it could have been collected. This can cause issues (as seen in run/stream_length and run/t4294: `java.lang.OutOfMemoryError`) if code relies on the garbage collection of these values to keep memory consumption constant. This commit simply skips these two tests on Avian until the GC implementation is fixed.
-rw-r--r--test/files/run/stream_length.check5
-rw-r--r--test/files/run/stream_length.scala6
-rw-r--r--test/files/run/t4294.scala7
3 files changed, 16 insertions, 2 deletions
diff --git a/test/files/run/stream_length.check b/test/files/run/stream_length.check
index 9906de773c..d1068f3247 100644
--- a/test/files/run/stream_length.check
+++ b/test/files/run/stream_length.check
@@ -1 +1,6 @@
+#partest !avian
Length: 970299
+
+#partest avian
+!!!TEST SKIPPED!!!
+See SI-7600 for further information.
diff --git a/test/files/run/stream_length.scala b/test/files/run/stream_length.scala
index 2808fbc495..33929f4b57 100644
--- a/test/files/run/stream_length.scala
+++ b/test/files/run/stream_length.scala
@@ -10,6 +10,10 @@ object Test {
}
def main(args: Array[String]) {
- println("Length: " + walk(3, "---").length)
+ if (scala.tools.partest.utils.Properties.isAvian) {
+ println("!!!TEST SKIPPED!!!")
+ println("See SI-7600 for further information.")
+ } else
+ println("Length: " + walk(3, "---").length)
}
}
diff --git a/test/files/run/t4294.scala b/test/files/run/t4294.scala
index fafaf1d8ef..e15c716047 100644
--- a/test/files/run/t4294.scala
+++ b/test/files/run/t4294.scala
@@ -1,7 +1,12 @@
object Test {
def main(args: Array[String]) {
+ // Skip test on Avian, see SI-7600 for further information
+ if (!scala.tools.partest.utils.Properties.isAvian)
+ run()
+ }
+
+ def run(): Unit = {
(Stream.from(1).collect{case x if x > 5000000 => x}: Stream[Int])
-
assert((Stream from 1 take 10 collect { case x if x <= 3 => x*x }).sum == 14)
}
}