summaryrefslogtreecommitdiff
path: root/core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java')
-rw-r--r--core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java24
1 files changed, 15 insertions, 9 deletions
diff --git a/core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java b/core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java
index 4f4319e212..2edaad5c4b 100644
--- a/core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java
+++ b/core/src/test/java/org/elasticsearch/monitor/os/OsProbeTests.java
@@ -29,7 +29,6 @@ import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.lessThan;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
public class OsProbeTests extends ESTestCase {
@@ -56,22 +55,29 @@ public class OsProbeTests extends ESTestCase {
}
if (Constants.WINDOWS) {
// load average is unavailable on Windows
- if (loadAverage != null) {
- assertThat(loadAverage[0], equalTo((double) -1));
- assertThat(loadAverage[1], equalTo((double) -1));
- assertThat(loadAverage[2], equalTo((double) -1));
- }
+ assertNull(loadAverage);
} else if (Constants.LINUX) {
// we should be able to get the load average
assertNotNull(loadAverage);
assertThat(loadAverage[0], greaterThanOrEqualTo((double) 0));
assertThat(loadAverage[1], greaterThanOrEqualTo((double) 0));
assertThat(loadAverage[2], greaterThanOrEqualTo((double) 0));
- } else {
+ } else if (Constants.FREE_BSD) {
+ // five- and fifteen-minute load averages not available if linprocfs is not mounted at /compat/linux/proc
+ assertNotNull(loadAverage);
+ assertThat(loadAverage[0], greaterThanOrEqualTo((double) 0));
+ assertThat(loadAverage[1], anyOf(equalTo((double) -1), greaterThanOrEqualTo((double) 0)));
+ assertThat(loadAverage[2], anyOf(equalTo((double) -1), greaterThanOrEqualTo((double) 0)));
+ } else if (Constants.MAC_OS_X) {
// one minute load average is available, but 10-minute and 15-minute load averages are not
- // load average can be negative if not available or not computed yet, otherwise it should be >= 0
+ assertNotNull(loadAverage);
+ assertThat(loadAverage[0], greaterThanOrEqualTo((double) 0));
+ assertThat(loadAverage[1], equalTo((double) -1));
+ assertThat(loadAverage[2], equalTo((double) -1));
+ } else {
+ // unknown system, but the best case is that we have the one-minute load average
if (loadAverage != null) {
- assertThat(loadAverage[0], anyOf(lessThan((double) 0), greaterThanOrEqualTo((double) 0)));
+ assertThat(loadAverage[0], anyOf(equalTo((double) -1), greaterThanOrEqualTo((double) 0)));
assertThat(loadAverage[1], equalTo((double) -1));
assertThat(loadAverage[2], equalTo((double) -1));
}