Skip to content

Commit 43af14a

Browse files
committed
Version of JMockit updated to 1.41
Signed-off-by: Maxim Nesen <[email protected]>
1 parent b041944 commit 43af14a

File tree

4 files changed

+52
-21
lines changed

4 files changed

+52
-21
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ services:
77

88
jdk:
99
- oraclejdk8
10+
- openjdk8
1011

1112
cache:
1213
directories:

core-server/src/test/java/org/glassfish/jersey/server/internal/scanning/PackageNamesScannerTest.java

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,18 @@
1616

1717
package org.glassfish.jersey.server.internal.scanning;
1818

19+
import mockit.Expectations;
20+
import mockit.Injectable;
21+
import mockit.Tested;
22+
import mockit.Verifications;
23+
import mockit.integration.junit4.JMockit;
24+
import org.junit.Before;
25+
import org.junit.Test;
26+
import org.junit.runner.RunWith;
27+
28+
import java.io.ByteArrayInputStream;
1929
import java.io.IOException;
30+
import java.io.InputStream;
2031
import java.net.URL;
2132
import java.net.URLConnection;
2233
import java.net.URLStreamHandler;
@@ -26,21 +37,16 @@
2637
import java.util.Vector;
2738
import java.util.jar.JarInputStream;
2839

29-
import org.junit.Before;
30-
import org.junit.Test;
3140
import static org.junit.Assert.assertTrue;
3241
import static org.junit.Assert.fail;
3342

34-
import mockit.Expectations;
35-
import mockit.Mocked;
36-
import mockit.Verifications;
37-
3843
/**
3944
* Unit tests for {@link PackageNamesScanner}.
4045
*
4146
* @author Eric Navarro
4247
* @author Michal Gajdos
4348
*/
49+
@RunWith(JMockit.class)
4450
public class PackageNamesScannerTest {
4551

4652
private static final String[] packages = {"javax.ws.rs"};
@@ -89,14 +95,23 @@ public void testInvalidScheme() {
8995
new PackageNamesScanner(createTestClassLoader("bad", createTestURLStreamHandler("bad"), jaxRsApiPath), packages, false);
9096
}
9197

98+
99+
@Tested
100+
PackageNamesScanner scanner1 = new PackageNamesScanner(new String[]{"javax.ws.rs"}, false);
101+
@Tested
102+
PackageNamesScanner scanner2 = new PackageNamesScanner(new String[]{"javax.ws.rs.core"}, false);
103+
@Tested
104+
PackageNamesScanner scanner3 = new PackageNamesScanner(new String[]{"javax.ws.rs.client"}, false);
105+
92106
/**
93107
* Reproducer for OWLS-19790: When scanner is reset the underlying JAR input streams should be closed.
94108
*/
95109
@Test
96-
public void testInputStreamClosedAfterReset(@Mocked final JarInputStream stream) throws Exception {
97-
final PackageNamesScanner scanner1 = new PackageNamesScanner(new String[] {"javax.ws.rs"}, false);
98-
final PackageNamesScanner scanner2 = new PackageNamesScanner(new String[] {"javax.ws.rs.core"}, false);
99-
final PackageNamesScanner scanner3 = new PackageNamesScanner(new String[] {"javax.ws.rs.client"}, false);
110+
public void testInputStreamClosedAfterReset() throws Exception {
111+
JarInputStream stream = new JarInputStream(
112+
new ByteArrayInputStream("test".getBytes(), 0, 4));
113+
114+
new Expectations(InputStream.class){};
100115

101116
scanner1.reset();
102117

@@ -115,10 +130,12 @@ public void testInputStreamClosedAfterReset(@Mocked final JarInputStream stream)
115130
* Reproducer for OWLS-19790: When scanner is closed the underlying JAR input streams should be closed as well.
116131
*/
117132
@Test
118-
public void testInputStreamClosedAfterClose(@Mocked final JarInputStream stream) throws Exception {
119-
final PackageNamesScanner scanner1 = new PackageNamesScanner(new String[] {"javax.ws.rs"}, false);
120-
final PackageNamesScanner scanner2 = new PackageNamesScanner(new String[] {"javax.ws.rs.core"}, false);
121-
final PackageNamesScanner scanner3 = new PackageNamesScanner(new String[] {"javax.ws.rs.client"}, false);
133+
public void testInputStreamClosedAfterClose() throws Exception {
134+
135+
JarInputStream stream = new JarInputStream(
136+
new ByteArrayInputStream("test".getBytes(), 0, 4));
137+
138+
new Expectations(JarInputStream.class){};
122139

123140
scanner1.close();
124141

@@ -136,16 +153,19 @@ public void testInputStreamClosedAfterClose(@Mocked final JarInputStream stream)
136153
/**
137154
* Reproducer for OWLS-19790: When we iterate through the all entries provided by a scanner JAR input stream should be closed.
138155
*/
156+
@Tested
157+
PackageNamesScanner scanner = new PackageNamesScanner(new String[]{"javax.ws.rs"}, false);
139158
@Test
140-
public void testInputStreamClosedAfterIteration(@Mocked final JarInputStream stream) throws Exception {
141-
new Expectations() {{
159+
public void testInputStreamClosedAfterIteration(@Injectable("false") boolean recursive) throws Exception {
160+
JarInputStream stream = new JarInputStream(
161+
new ByteArrayInputStream("test".getBytes(), 0, 4));
162+
163+
new Expectations(JarInputStream.class) {{
142164
stream.getNextJarEntry();
143165
result = null;
144166
stream.close();
145167
}};
146168

147-
final PackageNamesScanner scanner = new PackageNamesScanner(new String[] {"javax.ws.rs"}, false);
148-
149169
while (scanner.hasNext()) {
150170
scanner.next();
151171
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1961,7 +1961,7 @@
19611961
<jetty.version>9.4.7.v20170914</jetty.version>
19621962
<jetty.servlet.api.25.version>6.1.14</jetty.servlet.api.25.version>
19631963
<jmh.version>1.10.2</jmh.version>
1964-
<jmockit.version>1.18</jmockit.version>
1964+
<jmockit.version>1.41</jmockit.version>
19651965
<jsonp.ri.version>1.1</jsonp.ri.version>
19661966
<jsonp.jaxrs.version>1.1.1</jsonp.jaxrs.version>
19671967
<jsp.version>2.0</jsp.version>

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.util.LinkedList;
2121
import java.util.List;
2222

23-
import org.eclipse.persistence.internal.helper.JavaVersion;
2423
import org.glassfish.grizzly.utils.ArrayUtils;
2524
import org.glassfish.jersey.internal.util.PropertiesHelper;
2625
import org.glassfish.jersey.tests.e2e.json.entity.AnotherArrayTestBean;
@@ -98,6 +97,16 @@ public JaxbTest(final JsonTestSetup jsonTestSetup) throws Exception {
9897
super(jsonTestSetup);
9998
}
10099

100+
/**
101+
* checks provided string to be a number
102+
*
103+
* @param s string
104+
* @return true if string is a number false otherwise
105+
*/
106+
private static boolean isNumeric(String s) {
107+
return java.util.regex.Pattern.matches("\\d+", s);
108+
}
109+
101110
/**
102111
* check if the current JVM is supported by this test.
103112
*
@@ -108,7 +117,8 @@ private static boolean isJavaVersionSupported() {
108117
if (javaVersion != null) {
109118
int pos = javaVersion.lastIndexOf("_");
110119
if (pos > -1) {
111-
final Integer minorVersion = Integer.valueOf(javaVersion.substring(pos + 1));
120+
final String rawMinorVersion = javaVersion.substring(pos + 1);
121+
final Integer minorVersion = (isNumeric(rawMinorVersion)) ? Integer.valueOf(rawMinorVersion) : 0;
112122
return minorVersion < 160 || minorVersion > 172; //only those between 161 and 172 minor
113123
// releases are not supported
114124
}

0 commit comments

Comments
 (0)