Skip to content
Permalink
Browse files
8269032: Stringdedup tests are failing if the ergonomically select GC…
… does not support it

Backport-of: 3fc761d97d43429d3fdc0646835c462e0fe1bd3e
  • Loading branch information
GoeLin committed Jan 19, 2022
1 parent c7329f3 commit 3ca676cd30746415a39cca41f0921e8dd1a425af
Showing 7 changed files with 90 additions and 12 deletions.
@@ -27,17 +27,31 @@
* @test TestStringDeduplicationAgeThreshold
* @summary Test string deduplication age threshold
* @bug 8029075
* @requires vm.gc == "null" | vm.gc == "G1" | vm.gc == "Shenandoah"
* @requires vm.gc.G1
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationAgeThreshold
* @run driver gc.stringdedup.TestStringDeduplicationAgeThreshold G1
*/

/*
* @test TestStringDeduplicationAgeThreshold
* @summary Test string deduplication age threshold
* @bug 8029075
* @requires vm.gc.Shenandoah
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationAgeThreshold Shenandoah
*/

public class TestStringDeduplicationAgeThreshold {
public static void main(String[] args) throws Exception {
TestStringDeduplicationTools.selectGC(args);
TestStringDeduplicationTools.testAgeThreshold();
}
}
@@ -27,17 +27,31 @@
* @test TestStringDeduplicationFullGC
* @summary Test string deduplication during full GC
* @bug 8029075
* @requires vm.gc == "null" | vm.gc == "G1" | vm.gc == "Shenandoah"
* @requires vm.gc.G1
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationFullGC
* @run driver gc.stringdedup.TestStringDeduplicationFullGC G1
*/

/*
* @test TestStringDeduplicationFullGC
* @summary Test string deduplication during full GC
* @bug 8029075
* @requires vm.gc.Shenandoah
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationFullGC Shenandoah
*/

public class TestStringDeduplicationFullGC {
public static void main(String[] args) throws Exception {
TestStringDeduplicationTools.selectGC(args);
TestStringDeduplicationTools.testFullGC();
}
}
@@ -27,17 +27,18 @@
* @test TestStringDeduplicationInterned
* @summary Test string deduplication of interned strings
* @bug 8029075
* @requires vm.gc == "null" | vm.gc == "G1"
* @requires vm.gc.G1
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationInterned
* @run driver gc.stringdedup.TestStringDeduplicationInterned G1
*/

public class TestStringDeduplicationInterned {
public static void main(String[] args) throws Exception {
TestStringDeduplicationTools.selectGC(args);
TestStringDeduplicationTools.testInterned();
}
}
@@ -27,17 +27,31 @@
* @test TestStringDeduplicationPrintOptions
* @summary Test string deduplication print options
* @bug 8029075
* @requires vm.gc == "null" | vm.gc == "G1" | vm.gc == "Shenandoah"
* @requires vm.gc.G1
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationPrintOptions
* @run driver gc.stringdedup.TestStringDeduplicationPrintOptions G1
*/

/*
* @test TestStringDeduplicationPrintOptions
* @summary Test string deduplication print options
* @bug 8029075
* @requires vm.gc.Shenandoah
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationPrintOptions Shenandoah
*/

public class TestStringDeduplicationPrintOptions {
public static void main(String[] args) throws Exception {
TestStringDeduplicationTools.selectGC(args);
TestStringDeduplicationTools.testPrintOptions();
}
}
@@ -27,17 +27,31 @@
* @test TestStringDeduplicationTableResize
* @summary Test string deduplication table resize
* @bug 8029075
* @requires vm.gc == "null" | vm.gc == "G1" | vm.gc == "Shenandoah"
* @requires vm.gc.G1
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationTableResize
* @run driver gc.stringdedup.TestStringDeduplicationTableResize G1
*/

/*
* @test TestStringDeduplicationTableResize
* @summary Test string deduplication table resize
* @bug 8029075
* @requires vm.gc.Shenandoah
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationTableResize Shenandoah
*/

public class TestStringDeduplicationTableResize {
public static void main(String[] args) throws Exception {
TestStringDeduplicationTools.selectGC(args);
TestStringDeduplicationTools.testTableResize();
}
}
@@ -50,6 +50,8 @@ class TestStringDeduplicationTools {
private static Unsafe unsafe;
private static byte[] dummy;

private static String selectedGC = null;

static {
try {
Field field = Unsafe.class.getDeclaredField("theUnsafe");
@@ -63,6 +65,10 @@ class TestStringDeduplicationTools {
}
}

public static void selectGC(String[] args) {
selectedGC = args[0];
}

private static Object getValue(String string) {
try {
return valueField.get(string);
@@ -226,6 +232,7 @@ private static OutputAnalyzer runTest(String... extraArgs) throws Exception {
};

ArrayList<String> args = new ArrayList<String>();
args.add("-XX:+Use" + selectedGC + "GC");
args.addAll(Arrays.asList(defaultArgs));
args.addAll(Arrays.asList(extraArgs));

@@ -27,17 +27,31 @@
* @test TestStringDeduplicationYoungGC
* @summary Test string deduplication during young GC
* @bug 8029075
* @requires vm.gc == "null" | vm.gc == "G1" | vm.gc == "Shenandoah"
* @requires vm.gc.G1
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationYoungGC
* @run driver gc.stringdedup.TestStringDeduplicationYoungGC G1
*/

/*
* @test TestStringDeduplicationYoungGC
* @summary Test string deduplication during young GC
* @bug 8029075
* @requires vm.gc.Shenandoah
* @library /test/lib
* @library /
* @modules java.base/jdk.internal.misc:open
* @modules java.base/java.lang:open
* java.management
* @run driver gc.stringdedup.TestStringDeduplicationYoungGC Shenandoah
*/

public class TestStringDeduplicationYoungGC {
public static void main(String[] args) throws Exception {
TestStringDeduplicationTools.selectGC(args);
TestStringDeduplicationTools.testYoungGC();
}
}

1 comment on commit 3ca676c

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on 3ca676c Jan 19, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.