Skip to content

Commit 3be4415

Browse files
authored
Merge pull request #3833 from senivam/jreTests
Test issue related to JRE version
2 parents a881773 + 75fb9c5 commit 3be4415

File tree

1 file changed

+24
-1
lines changed
  • tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json

1 file changed

+24
-1
lines changed

tests/e2e-entity/src/test/java/org/glassfish/jersey/tests/e2e/json/JaxbTest.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
import java.util.LinkedList;
2121
import java.util.List;
2222

23+
import org.eclipse.persistence.internal.helper.JavaVersion;
24+
import org.glassfish.grizzly.utils.ArrayUtils;
25+
import org.glassfish.jersey.internal.util.PropertiesHelper;
2326
import org.glassfish.jersey.tests.e2e.json.entity.AnotherArrayTestBean;
2427
import org.glassfish.jersey.tests.e2e.json.entity.AttrAndCharDataBean;
2528
import org.glassfish.jersey.tests.e2e.json.entity.ComplexBeanWithAttributes;
@@ -95,12 +98,32 @@ public JaxbTest(final JsonTestSetup jsonTestSetup) throws Exception {
9598
super(jsonTestSetup);
9699
}
97100

101+
/**
102+
* check if the current JVM is supported by this test.
103+
*
104+
* @return true if all tests can be run, false if some tests shall be excluded due to JRE bug
105+
*/
106+
private static boolean isJavaVersionSupported() {
107+
final String javaVersion = PropertiesHelper.getSystemProperty("java.version").run();
108+
if (javaVersion != null) {
109+
int pos = javaVersion.lastIndexOf("_");
110+
if (pos > -1) {
111+
final Integer minorVersion = Integer.valueOf(javaVersion.substring(pos+1));
112+
return minorVersion < 160 || minorVersion > 172; //only those between 161 and 172 minor
113+
// releases are not supported
114+
}
115+
}
116+
return true;
117+
}
118+
98119
@Parameterized.Parameters()
99120
public static Collection<JsonTestSetup[]> getJsonProviders() throws Exception {
121+
final Class<?>[]
122+
filteredClasses = (isJavaVersionSupported()) ? CLASSES : ArrayUtils.remove(CLASSES, EncodedContentBean.class);
100123
final List<JsonTestSetup[]> jsonTestSetups = new LinkedList<>();
101124

102125
for (final JsonTestProvider jsonProvider : JsonTestProvider.JAXB_PROVIDERS) {
103-
for (final Class<?> entityClass : CLASSES) {
126+
for (final Class<?> entityClass : filteredClasses) {
104127
// TODO - remove the condition after jsonb polymorphic adapter is implemented
105128
if (!(jsonProvider instanceof JsonTestProvider.JsonbTestProvider)) {
106129
jsonTestSetups.add(new JsonTestSetup[]{new JsonTestSetup(entityClass, jsonProvider)});

0 commit comments

Comments
 (0)