This is an automated email from the ASF dual-hosted git repository.
khowe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 7ae273f GEODE-6219: Add assertion to verify the OS commands really
ran (#3017)
7ae273f is described below
commit 7ae273f6de9e4104bddec4872e771ed1292e450e
Author: Kenneth Howe <[email protected]>
AuthorDate: Thu Dec 20 11:00:41 2018 -0800
GEODE-6219: Add assertion to verify the OS commands really ran (#3017)
GEODE-6219: Verify netstat and lsof commands run; prevent
OutOfMemoryException failures
- Failure of netstat command on the test instance was not being detected.
Added assertions to verify the OS commands (netstat and lsof) really ran.
- Disable the test with lsof to the console. Creation of large String
objects containing the enitre output from "lsof" was caused OOME on small JVMs
on CI tests workers.
- Updated bug numbers on @Ignore'd tests
---
.../management/internal/cli/NetstatDUnitTest.java | 35 ++++++++++++++++++----
1 file changed, 29 insertions(+), 6 deletions(-)
diff --git
a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/NetstatDUnitTest.java
b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/NetstatDUnitTest.java
index 3cdaf38..c0e1f99 100644
---
a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/NetstatDUnitTest.java
+++
b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/NetstatDUnitTest.java
@@ -76,6 +76,9 @@ public class NetstatDUnitTest {
CommandResult result = gfsh.executeCommand("netstat");
assertThat(result.getStatus()).isEqualTo(Result.Status.OK);
+ // verify that the OS commands executed
+ assertThat(result.toString()).doesNotContain("Could not execute");
+
String rawOutput = result.getMessageFromContent();
String[] lines = rawOutput.split("\n");
@@ -89,6 +92,9 @@ public class NetstatDUnitTest {
CommandResult result = gfsh.executeCommand("netstat --member=server-1");
assertThat(result.getStatus()).isEqualTo(Result.Status.OK);
+ // verify that the OS commands executed
+ assertThat(result.toString()).doesNotContain("Could not execute");
+
String rawOutput = result.getMessageFromContent();
String[] lines = rawOutput.split("\n");
@@ -96,11 +102,15 @@ public class NetstatDUnitTest {
assertThat(lines[4].trim().split("[,\\s]+")).containsExactlyInAnyOrder("server-1");
}
+ @Ignore("GEODE-6228")
@Test
public void testOutputToConsoleWithLsofForOneMember() throws Exception {
CommandResult result = gfsh.executeCommand("netstat --member=server-1
--with-lsof");
assertThat(result.getStatus()).isEqualTo(Result.Status.OK);
+ // verify that the OS commands executed
+ assertThat(result.toString()).doesNotContain("Could not execute");
+
String rawOutput = result.getMessageFromContent();
String[] lines = rawOutput.split("\n");
@@ -122,6 +132,9 @@ public class NetstatDUnitTest {
lines.add(scanner.nextLine());
}
+ // verify that the OS commands executed
+ assertThat(lines.toString()).doesNotContain("Could not execute");
+
assertThat(lines.size()).isGreaterThan(5);
assertThat(lines.get(4).trim().split("[,\\s]+")).containsExactlyInAnyOrder("locator-0",
"server-1", "server-2");
@@ -141,6 +154,9 @@ public class NetstatDUnitTest {
lines.add(scanner.nextLine());
}
+ // verify that the OS commands executed
+ assertThat(lines.toString()).doesNotContain("Could not execute");
+
assertThat(lines.size()).isGreaterThan(5);
assertThat(lines.get(4).trim().split("[,\\s]+")).containsExactly("server-1");
}
@@ -159,30 +175,37 @@ public class NetstatDUnitTest {
lines.add(scanner.nextLine());
}
+ // verify that the OS commands executed
+ assertThat(lines.toString()).doesNotContain("Could not execute");
+
assertThat(lines.size()).isGreaterThan(5);
assertThat(lines.get(4).trim().split("[,\\s]+")).containsExactlyInAnyOrder("locator-0",
"server-1", "server-2");
assertThat(lines).filteredOn(e -> e.contains("## lsof output
##")).hasSize(1);
}
- @Ignore("GEODE-2488")
+ @Ignore("GEODE-6228")
@Test
public void testConnectToLocatorWithLargeCommandResponse() throws Exception {
gfsh.connect(server0.getEmbeddedLocatorPort(),
GfshCommandRule.PortType.locator);
- gfsh.executeAndAssertThat(netStatLsofCommand).statusIsSuccess();
+ gfsh.executeAndAssertThat(netStatLsofCommand).statusIsSuccess()
+ .doesNotContainOutput("Could not execute");
}
- @Ignore("GEODE-2488")
+ @Ignore("GEODE-6228")
@Test
public void testConnectToJmxManagerOneWithLargeCommandResponse() throws
Exception {
gfsh.connect(server0.getJmxPort(), GfshCommandRule.PortType.jmxManager);
- gfsh.executeAndAssertThat(netStatLsofCommand).statusIsSuccess();
+ gfsh.executeAndAssertThat(netStatLsofCommand).statusIsSuccess()
+ .doesNotContainOutput("Could not execute");
+
}
- @Ignore("GEODE-2488")
+ @Ignore("GEODE-6228")
@Test
public void testConnectToJmxManagerTwoWithLargeCommandResponse() throws
Exception {
gfsh.connect(server1.getJmxPort(), GfshCommandRule.PortType.jmxManager);
- gfsh.executeAndAssertThat(netStatLsofCommand).statusIsSuccess();
+ gfsh.executeAndAssertThat(netStatLsofCommand).statusIsSuccess()
+ .doesNotContainOutput("Could not execute");
}
}