1 package org.apache.maven.surefire.junitcore;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Properties;
23
24
25
26
27 class JUnitCoreParameters
28 {
29 private final String parallel;
30
31 private final Boolean perCoreThreadCount;
32
33 private final int threadCount;
34
35 private final Boolean useUnlimitedThreads;
36
37 public static final String PARALLEL_KEY = "parallel";
38
39 public static final String PERCORETHREADCOUNT_KEY = "perCoreThreadCount";
40
41 public static final String THREADCOUNT_KEY = "threadCount";
42
43 public static final String USEUNLIMITEDTHREADS_KEY = "useUnlimitedThreads";
44
45
46 public JUnitCoreParameters( Properties properties )
47 {
48 this.parallel = properties.getProperty( PARALLEL_KEY, "none" ).toLowerCase();
49 this.perCoreThreadCount = Boolean.valueOf( properties.getProperty( PERCORETHREADCOUNT_KEY, "true" ) );
50 this.threadCount = Integer.valueOf( properties.getProperty( THREADCOUNT_KEY, "2" ) );
51 this.useUnlimitedThreads =
52 Boolean.valueOf( properties.getProperty( USEUNLIMITEDTHREADS_KEY, "false" ) );
53 }
54
55 public boolean isParallelMethod()
56 {
57 return "methods".equals( parallel );
58 }
59
60 public boolean isParallelClasses()
61 {
62 return "classes".equals( parallel );
63 }
64
65 public boolean isParallelBoth()
66 {
67 return "both".equals( parallel );
68 }
69
70 public Boolean isPerCoreThreadCount()
71 {
72 return perCoreThreadCount;
73 }
74
75 public int getThreadCount()
76 {
77 return threadCount;
78 }
79
80 public Boolean isUseUnlimitedThreads()
81 {
82 return useUnlimitedThreads;
83 }
84
85 public boolean isNoThreading()
86 {
87 return !( isParallelClasses() || isParallelMethod() || isParallelBoth() );
88 }
89
90 public boolean isAnyParallelitySelected()
91 {
92 return !isNoThreading();
93 }
94
95 @Override
96 public String toString()
97 {
98 return "parallel='" + parallel + '\'' + ", perCoreThreadCount=" + perCoreThreadCount + ", threadCount="
99 + threadCount + ", useUnlimitedThreads=" + useUnlimitedThreads;
100 }
101 }