13 |
|
import java.io.ObjectOutputStream; |
14 |
|
import java.lang.management.ManagementFactory; |
15 |
|
import java.lang.management.ThreadInfo; |
16 |
+ |
import java.lang.reflect.Method; |
17 |
|
import java.util.ArrayList; |
18 |
|
import java.util.Arrays; |
19 |
|
import java.util.Date; |
182 |
|
return suite; |
183 |
|
} |
184 |
|
|
185 |
+ |
static void addTestReflectively(TestSuite suite, String testClassName) { |
186 |
+ |
try { |
187 |
+ |
Class klazz = Class.forName(testClassName); |
188 |
+ |
Method m = klazz.getDeclaredMethod("suite", new Class<?>[0]); |
189 |
+ |
suite.addTest(newTestSuite((Test)m.invoke(null))); |
190 |
+ |
} catch (Exception e) { |
191 |
+ |
throw new Error(e); |
192 |
+ |
} |
193 |
+ |
} |
194 |
+ |
|
195 |
+ |
public static final double JAVA_CLASS_VERSION; |
196 |
+ |
static { |
197 |
+ |
try { |
198 |
+ |
JAVA_CLASS_VERSION = java.security.AccessController.doPrivileged( |
199 |
+ |
new java.security.PrivilegedAction<Double>() { |
200 |
+ |
public Double run() { |
201 |
+ |
return Double.valueOf(System.getProperty("java.class.version"));}}); |
202 |
+ |
} catch (Throwable t) { |
203 |
+ |
throw new Error(t); |
204 |
+ |
} |
205 |
+ |
} |
206 |
+ |
|
207 |
+ |
public static boolean isAtLeastJdk6() { return JAVA_CLASS_VERSION >= 50.0; } |
208 |
+ |
public static boolean isAtLeastJdk7() { return JAVA_CLASS_VERSION >= 51.0; } |
209 |
+ |
public static boolean isAtLeastJdk8() { return JAVA_CLASS_VERSION >= 52.0; } |
210 |
+ |
|
211 |
|
/** |
212 |
|
* Collects all JSR166 unit tests as one suite. |
213 |
|
*/ |
214 |
|
public static Test suite() { |
215 |
< |
return newTestSuite( |
215 |
> |
TestSuite suite = newTestSuite( |
216 |
|
ForkJoinPoolTest.suite(), |
217 |
|
ForkJoinTaskTest.suite(), |
218 |
|
RecursiveActionTest.suite(), |
277 |
|
TreeSetTest.suite(), |
278 |
|
TreeSubMapTest.suite(), |
279 |
|
TreeSubSetTest.suite()); |
280 |
+ |
if (isAtLeastJdk8()) { |
281 |
+ |
addTestReflectively(suite, "StampedLockTest"); |
282 |
+ |
} |
283 |
+ |
return suite; |
284 |
|
} |
285 |
|
|
286 |
|
|