10000 Enable some tests with GCC. · scala-js/scala-js@56ed96e · GitHub
[go: up one dir, main page]

Skip to content

Commit 56ed96e

Browse files
committed
Enable some tests with GCC.
They were failing when we introduced them, but they have apparently been fixed since.
1 parent 6013f01 commit 56ed96e

File tree

2 files changed

+18
-26
lines changed

2 files changed

+18
-26
lines changed

test-suite/js/src/test/scala/org/scalajs/testsuite/compiler/OptimizerTest.scala

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import org.junit.Assert._
2020
import org.junit.Assume._
2121

2222
import org.scalajs.testsuite.utils.AssertThrows.assertThrows
23-
import org.scalajs.testsuite.utils.Platform._
2423

2524
class OptimizerTest {
2625
import OptimizerTest._
@@ -321,22 +320,16 @@ class OptimizerTest {
321320
}
322321

323322
@Test def foldingDoubleWithDecimalAndString(): Unit = {
324-
assumeFalse("GCC wrongly optimizes this code", usesClosureCompiler)
325-
326323
assertEquals("1.2323919403474454e+21hello", 1.2323919403474454E21 + "hello")
327324
assertEquals("hello1.2323919403474454e+21", "hello" + 1.2323919403474454E21)
328325
}
329326

330327
@Test def foldingDoubleThatJVMWouldPrintInScientificNotationAndString(): Unit = {
331-
assumeFalse("GCC wrongly optimizes this code", usesClosureCompiler)
332-
333328
assertEquals("123456789012345hello", 123456789012345d + "hello")
334329
assertEquals("hello123456789012345", "hello" + 123456789012345d)
335330
}
336331

337332
@Test def foldingDoublesToString(): Unit = {
338-
assumeFalse("GCC wrongly optimizes this code", usesClosureCompiler)
339-
340333
@noinline def toStringNoInline(v: Double): String = v.toString
341334
@inline def test(v: Double): Unit =
342335
assertEquals(toStringNoInline(v), v.toString)

test-suite/shared/src/test/scala/org/scalajs/testsuite/compiler/LongTest.scala

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ class LongTest {
3636

3737
// Helpers
3838

39+
final def assertExactEquals(expected: Float, actual: Float): Unit =
40+
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
41+
42+
final def assertExactEquals(expected: Double, actual: Double): Unit =
43+
assertTrue(s"expected: $expected; actual: $actual", expected.equals(actual))
44+
3945
@noinline def hideFromOptimizer(x: Long): Long = x
4046

4147
@noinline def hideDoubleFromOptimizer(x: Double): Double = x
@@ -616,18 +622,16 @@ class LongTest {
616622
}
617623

618624
@Test def toFloat(): Unit = {
619-
@inline def test(expected: Float, x: Long, epsilon: Float = 0.0f): Unit = {
620-
assertEquals(expected, x.toFloat, epsilon)
621-
assertEquals(expected, hideFromOptimizer(x).toFloat, epsilon)
625+
@inline def test(expected: Float, x: Long): Unit = {
626+
assertExactEquals(expected, x.toFloat)
627+
assertExactEquals(expected, hideFromOptimizer(x).toFloat)
622628
}
623629

624630
test(0, lg(0))
625631
test(-1, lg(-1))
626632

627-
// Closure seems to incorrectly rewrite the constant on the right :-(
628-
val epsilon = if (usesClosureCompiler) 1E4f else 0.0f
629-
test(9.223372E18f, MaxVal, epsilon)
630-
test(-9.223372E18f, MinVal, epsilon)
633+
test(9.223372E18f, MaxVal)
634+
test(-9.223372E18f, MinVal)
631635

632636
test(4.7971489E18f, lg(-1026388143, 1116923232))
633637
test(-2.24047663E18f, lg(-1288678667, -521651607))
@@ -670,18 +674,16 @@ class LongTest {
670674
}
671675

672676
@Test def toDouble(): Unit = {
673-
@inline def test(expected: Double, x: Long, epsilon: Double = 0.0): Unit = {
674-
assertEquals(expected, x.toDouble, epsilon)
675-
assertEquals(expected, hideFromOptimizer(x).toDouble, epsilon)
677+
@inline def test(expected: Double, x: Long): Unit = {
678+
assertExactEquals(expected, x.toDouble)
679+
assertExactEquals(expected, hideFromOptimizer(x).toDouble)
676680
}
677681

678682
test(0, lg(0))
679683
test(-1, lg(-1))
680684

681-
// Closure seems to incorrectly rewrite the constant on the right :-(
682-
val epsilon = if (usesClosureCompiler) 1E4 else 0.0
683-
test(9.223372036854776E18, MaxVal, epsilon)
684-
test(-9.223372036854776E18, MinVal, epsilon)
685+
test(9.223372036854776E18, MaxVal)
686+
test(-9.223372036854776E18, MinVal)
685687

686688
test(3.4240179834317537E18, lg(-151011088, 797216310))
687689
test(8.5596043411285968E16, lg(-508205099, 19929381))
@@ -727,11 +729,8 @@ class LongTest {
727729
test(lg(0), -Double.MinPositiveValue)
728730
test(MaxVal, twoPow63)
729731
test(MaxVal, twoPow63NextUp)
730-
if (!usesClosureCompiler) {
731-
// GCC incorrectly rewrites the Double constants on the rhs
732-
test(lg(-1024, 2147483647), twoPow63NextDown)
733-
test(MinVal, -twoPow63)
734-
}
732+
test(lg(-1024, 2147483647), twoPow63NextDown)
733+
test(MinVal, -twoPow63)
735734
test(MinVal, -twoPow63NextUp)
736735
test(lg(1024, -2147483648), -twoPow63NextDown)
737736

0 commit comments

Comments
 (0)
0