Hack examples test for old runtimes to use comparison with JVM
This enables us to compare with jvm instead of DX output
Bug: 185205222
Change-Id: I5f137bc55219b65442fecc08d291e5521001047f
diff --git a/src/test/examples/filledarray/FilledArray.java b/src/test/examples/filledarray/FilledArray.java
index 4e0c652..46065e2 100644
--- a/src/test/examples/filledarray/FilledArray.java
+++ b/src/test/examples/filledarray/FilledArray.java
@@ -76,7 +76,13 @@
}
System.out.println("floats");
for (int i = 0; i < floats.length; i++) {
- System.out.println(floats[i]);
+ // Art versions up to 6.0.1 prints Float.MIN_VALUE as:
+ // 1.17549435E-38
+ // instead of
+ // 1.1754944E-38
+ String value = "" + floats[i];
+ value = value.replace("1.17549435E-38", "1.1754944E-38");
+ System.out.println(value);
}
for (int i = 0; i < localFloats.length; i++) {
System.out.println(localFloats[i]);
diff --git a/src/test/examples/regress_70736958/Test.java b/src/test/examples/regress_70736958/Test.java
index 020af6f..3186043 100644
--- a/src/test/examples/regress_70736958/Test.java
+++ b/src/test/examples/regress_70736958/Test.java
@@ -179,7 +179,9 @@
System.out.println("mJ = " + t.mJ);
System.out.println("mF = " + t.mF);
System.out.println("mD = " + t.mD);
- System.out.println("mArray = " + Arrays.toString(t.mArray));
+ // Art 6 and prior will print 1.61018893E9 instead of 1.6101889E9
+ System.out.println(
+ "mArray = " + Arrays.toString(t.mArray).replaceAll("1.61018893E9", "1.6101889E9"));
}
}
diff --git a/src/test/examples/regress_72361252/Test.java b/src/test/examples/regress_72361252/Test.java
index 98d687e..055d80a 100644
--- a/src/test/examples/regress_72361252/Test.java
+++ b/src/test/examples/regress_72361252/Test.java
@@ -298,6 +298,8 @@
System.out.println("mJ = " + t.mJ);
System.out.println("mF = " + t.mF);
System.out.println("mD = " + t.mD);
- System.out.println("mArray = " + Arrays.deepToString(t.mArray));
+ // Art 6 and prior will incorrectly print "1.78618509E9" instead of "1.7861851E9"
+ System.out.println(
+ "mArray = " + Arrays.deepToString(t.mArray).replace("1.78618509E9", "1.7861851E9"));
}
}
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
index 2c1b299..8a0cd0e 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
@@ -178,15 +178,6 @@
// This results in Class.isLocalClass always being false and Class.isMemberClass always
// being true even when the converse is the case when running on the JVM.
.put("enclosingmethod.Main", TestCondition.any())
- // Early art versions incorrectly print Float.MIN_VALUE.
- .put("filledarray.FilledArray",
- TestCondition.match(TestCondition.runtimesUpTo(Version.V6_0_1)))
- // Early art versions incorrectly print doubles.
- .put("regress_70736958.Test",
- TestCondition.match(TestCondition.runtimesUpTo(Version.V6_0_1)))
- // Early art versions incorrectly print doubles.
- .put("regress_72361252.Test",
- TestCondition.match(TestCondition.runtimesUpTo(Version.V6_0_1)))
.build();
}