29
29
import static org .hamcrest .Matchers .greaterThan ;
30
30
import static org .hamcrest .Matchers .greaterThanOrEqualTo ;
31
31
import static org .hamcrest .Matchers .is ;
32
- import static org .hamcrest .Matchers .lessThan ;
33
32
import static org .hamcrest .Matchers .lessThanOrEqualTo ;
34
33
35
34
public class OsProbeTests extends ESTestCase {
@@ -56,22 +55,29 @@ public void testOsStats() {
56
55
}
57
56
if (Constants .WINDOWS ) {
58
57
// load average is unavailable on Windows
59
- if (loadAverage != null ) {
60
- assertThat (loadAverage [0 ], equalTo ((double ) -1 ));
61
- assertThat (loadAverage [1 ], equalTo ((double ) -1 ));
62
- assertThat (loadAverage [2 ], equalTo ((double ) -1 ));
63
- }
58
+ assertNull (loadAverage );
64
59
} else if (Constants .LINUX ) {
65
60
// we should be able to get the load average
66
61
assertNotNull (loadAverage );
67
62
assertThat (loadAverage [0 ], greaterThanOrEqualTo ((double ) 0 ));
68
63
assertThat (loadAverage [1 ], greaterThanOrEqualTo ((double ) 0 ));
69
64
assertThat (loadAverage [2 ], greaterThanOrEqualTo ((double ) 0 ));
70
- } else {
65
+ } else if (Constants .FREE_BSD ) {
66
+ // five- and fifteen-minute load averages not available if linprocfs is not mounted at /compat/linux/proc
67
+ assertNotNull (loadAverage );
68
+ assertThat (loadAverage [0 ], greaterThanOrEqualTo ((double ) 0 ));
69
+ assertThat (loadAverage [1 ], anyOf (equalTo ((double ) -1 ), greaterThanOrEqualTo ((double ) 0 )));
70
+ assertThat (loadAverage [2 ], anyOf (equalTo ((double ) -1 ), greaterThanOrEqualTo ((double ) 0 )));
71
+ } else if (Constants .MAC_OS_X ) {
71
72
// one minute load average is available, but 10-minute and 15-minute load averages are not
72
- // load average can be negative if not available or not computed yet, otherwise it should be >= 0
73
+ assertNotNull (loadAverage );
74
+ assertThat (loadAverage [0 ], greaterThanOrEqualTo ((double ) 0 ));
75
+ assertThat (loadAverage [1 ], equalTo ((double ) -1 ));
76
+ assertThat (loadAverage [2 ], equalTo ((double ) -1 ));
77
+ } else {
78
+ // unknown system, but the best case is that we have the one-minute load average
73
79
if (loadAverage != null ) {
74
- assertThat (loadAverage [0 ], anyOf (lessThan ((double ) 0 ), greaterThanOrEqualTo ((double ) 0 )));
80
+ assertThat (loadAverage [0 ], anyOf (equalTo ((double ) - 1 ), greaterThanOrEqualTo ((double ) 0 )));
75
81
assertThat (loadAverage [1 ], equalTo ((double ) -1 ));
76
82
assertThat (loadAverage [2 ], equalTo ((double ) -1 ));
77
83
}
0 commit comments