1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.surefire.its.fixture;
20
21 import static java.lang.Double.parseDouble;
22
23
24
25
26
27
28
29
30
31
32
33 public abstract class SurefireJUnit4IntegrationTestCase {
34 private static final int JAVA9_VERSION = 9;
35
36 public static final double JAVA_VERSION = javaVersion();
37
38 public static final boolean IS_JAVA9_PLUS = isJDK9Plus();
39
40 public OutputValidator executeErrorFreeTest(String sourceName, int total) {
41 return unpack(sourceName).executeTest().verifyErrorFree(total);
42 }
43
44 public SurefireLauncher unpack(String sourceName) {
45 return unpack(getClass(), sourceName, "");
46 }
47
48 public SurefireLauncher unpack(String sourceName, String suffix) {
49 return unpack(getClass(), sourceName, suffix);
50 }
51
52 public SurefireLauncher unpack(String sourceName, String suffix, String[] cli) {
53 return unpack(getClass(), sourceName, suffix, cli);
54 }
55
56 public static SurefireLauncher unpack(Class<?> testClass, String sourceName, String suffix) {
57 return unpack(testClass, sourceName, suffix, null);
58 }
59
60 private static SurefireLauncher unpack(Class<?> testClass, String sourceName, String suffix, String[] cli) {
61 MavenLauncher mavenLauncher = new MavenLauncher(testClass, sourceName, suffix, cli);
62 return new SurefireLauncher(mavenLauncher);
63 }
64
65 private static double javaVersion() {
66 return parseDouble(System.getProperty("java.specification.version"));
67 }
68
69 private static boolean isJDK9Plus() {
70 return javaVersion() >= JAVA9_VERSION;
71 }
72 }