Integrate SJK into nodetool
Patch by Ekaterina Dimitrov, reviewed by brandonwilliams for
CASSANDRA-12197
diff --git a/nodetool_test.py b/nodetool_test.py
index 012780b..381e917 100644
--- a/nodetool_test.py
+++ b/nodetool_test.py
@@ -445,3 +445,37 @@
out_sorted = node_describe.split()
out_sorted.sort()
return (node_describe, out_sorted)
+
+ @since('4.0')
+ def test_sjk(self):
+ """
+ Verify that SJK generally works.
+ """
+
+ cluster = self.cluster
+ cluster.populate([1]).start()
+ node = cluster.nodelist()[0]
+
+ out, err, _ = node.nodetool('sjk --help')
+ logger.debug(out)
+ hasPattern = False
+ for line in out.split(os.linesep):
+ if " ttop [Thread Top] Displays threads from JVM process" == line:
+ hasPattern = True
+ assert hasPattern == True, "Expected help about SJK ttop"
+
+ out, err, _ = node.nodetool('sjk')
+ logger.debug(out)
+ hasPattern = False
+ for line in out.split(os.linesep):
+ if " ttop [Thread Top] Displays threads from JVM process" == line:
+ hasPattern = True
+ assert hasPattern == True, "Expected help about SJK ttop"
+
+ out, err, _ = node.nodetool('sjk hh -n 10 --live')
+ logger.debug(out)
+ hasPattern = False
+ for line in out.split(os.linesep):
+ if re.match('.*Instances.*Bytes.*Type.*', line):
+ hasPattern = True
+ assert hasPattern == True, "Expected 'SJK hh' output"