diff --git a/openjdk/openjdk.mk b/openjdk/openjdk.mk
index 9a7b39674a..b3d60d1845 100644
--- a/openjdk/openjdk.mk
+++ b/openjdk/openjdk.mk
@@ -155,6 +155,13 @@ ifneq ($(JDK_VERSION),8)
endif
endif
+# Suitable values: 'docker' or 'podman'
+CONTAINER_TEST_ENGINE=docker
+# Run container tests on latest UBI 8 base image
+OPENJDK_CONTAINER_TEST_OPTS:=-Djdk.test.docker.image.name=registry.access.redhat.com/ubi8/ubi -Djdk.test.docker.image.version=latest
+ifneq ($(CONTAINER_TEST_ENGINE),docker)
+ OPENJDK_CONTAINER_TEST_OPTS += -Djdk.test.container.command=$(CONTAINER_TEST_ENGINE)
+endif
PROBLEM_LIST_FILE:=excludes/ProblemList_openjdk$(JDK_VERSION).txt
PROBLEM_LIST_DEFAULT:=excludes/ProblemList_openjdk11.txt
TEST_VARIATION_DUMP:=
diff --git a/openjdk/playlist.xml b/openjdk/playlist.xml
index b8304b4111..02612796ff 100644
--- a/openjdk/playlist.xml
+++ b/openjdk/playlist.xml
@@ -90,6 +90,124 @@
hotspot
+
+ hotspot_container
+
+ NoOptions
+
+ $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \
+ $(JTREG_BASIC_OPTIONS) $(JVM_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \
+ -w $(Q)$(REPORTDIR)$(D)work$(Q) \
+ -r $(Q)$(REPORTDIR)$(D)report$(Q) \
+ -jdk:$(Q)$(TEST_JDK_HOME)$(Q) \
+ -exclude:$(Q)$(JTREG_HOTSPOT_TEST_DIR)$(D)ProblemList.txt$(Q) \
+ -exclude:$(Q)$(TEST_RESROOT)$(D)$(PROBLEM_LIST_FILE)$(Q) \
+ ${FEATURE_PROBLEM_LIST_FILE} \
+ ${VENDOR_PROBLEM_LIST_FILE} \
+ ${OPENJDK_CONTAINER_TEST_OPTS} \
+ $(Q)$(JTREG_HOTSPOT_TEST_DIR):hotspot_containers$(Q); \
+ $(TEST_STATUS)
+
+ 11+
+
+
+ dev
+
+
+ openjdk
+
+
+ hotspot
+
+ os.linux
+
+
+ hotspot_container_jdk8
+
+ NoOptions
+
+ $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \
+ $(JTREG_BASIC_OPTIONS) $(JVM_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \
+ -w $(Q)$(REPORTDIR)$(D)work$(Q) \
+ -r $(Q)$(REPORTDIR)$(D)report$(Q) \
+ -jdk:$(Q)$(TEST_JDK_HOME)$(Q) \
+ -exclude:$(Q)$(JTREG_HOTSPOT_TEST_DIR)$(D)ProblemList.txt$(Q) \
+ -exclude:$(Q)$(TEST_RESROOT)$(D)$(PROBLEM_LIST_FILE)$(Q) \
+ ${FEATURE_PROBLEM_LIST_FILE} \
+ ${VENDOR_PROBLEM_LIST_FILE} \
+ ${OPENJDK_CONTAINER_TEST_OPTS} \
+ $(Q)$(OPENJDK_DIR)$(D)hotspot$(D)test$(D)runtime$(D)containers$(Q); \
+ $(TEST_STATUS)
+
+ 8
+
+
+ dev
+
+
+ openjdk
+
+
+ hotspot
+
+ os.linux
+
+
+ jdk_container
+
+ NoOptions
+
+ $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \
+ $(JTREG_BASIC_OPTIONS) $(JDK_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \
+ -w $(Q)$(REPORTDIR)$(D)work$(Q) \
+ -r $(Q)$(REPORTDIR)$(D)report$(Q) \
+ -jdk:$(Q)$(TEST_JDK_HOME)$(Q) \
+ -exclude:$(Q)$(JTREG_JDK_TEST_DIR)$(D)ProblemList.txt$(Q) \
+ -exclude:$(Q)$(TEST_RESROOT)$(D)$(PROBLEM_LIST_FILE)$(Q) \
+ ${FEATURE_PROBLEM_LIST_FILE} \
+ ${VENDOR_PROBLEM_LIST_FILE} \
+ ${OPENJDK_CONTAINER_TEST_OPTS} \
+ $(Q)$(OPENJDK_DIR)$(D)test$(D)jdk$(D)jdk$(D)internal$(D)platform$(Q); \
+ $(TEST_STATUS)
+
+ 11+
+
+
+ dev
+
+
+ openjdk
+
+ os.linux
+
+
+ jdk_container_jdk8
+
+ NoOptions
+
+ $(JAVA_COMMAND) -Xmx512m -jar $(Q)$(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar$(Q) \
+ $(JTREG_BASIC_OPTIONS) $(JDK_NATIVE_OPTIONS) -vmoptions:$(Q)-Xmx512m $(JVM_OPTIONS) $(VMOPTION_HEADLESS)$(Q) \
+ -w $(Q)$(REPORTDIR)$(D)work$(Q) \
+ -r $(Q)$(REPORTDIR)$(D)report$(Q) \
+ -jdk:$(Q)$(TEST_JDK_HOME)$(Q) \
+ -exclude:$(Q)$(JTREG_JDK_TEST_DIR)$(D)ProblemList.txt$(Q) \
+ -exclude:$(Q)$(TEST_RESROOT)$(D)$(PROBLEM_LIST_FILE)$(Q) \
+ ${FEATURE_PROBLEM_LIST_FILE} \
+ ${VENDOR_PROBLEM_LIST_FILE} \
+ ${OPENJDK_CONTAINER_TEST_OPTS} \
+ $(Q)$(OPENJDK_DIR)$(D)jdk$(D)test$(D)jdk$(D)internal$(D)platform$(Q); \
+ $(TEST_STATUS)
+
+ 8
+
+
+ dev
+
+
+ openjdk
+
+ os.linux
+
hotspot_compiler