From 3162f45388638d04faac82a5d8c2dcf3076a84bc Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Tue, 23 Apr 2019 05:05:06 +0200 Subject: [PATCH] nixos/cassandra: Test maxHeapSize --- nixos/tests/cassandra.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nixos/tests/cassandra.nix b/nixos/tests/cassandra.nix index eab757b80a5..a14cec5ab19 100644 --- a/nixos/tests/cassandra.nix +++ b/nixos/tests/cassandra.nix @@ -4,6 +4,14 @@ let testPackage = pkgs.cassandra; clusterName = "NixOS Automated-Test Cluster"; + numMaxHeapSize = "400"; + getHeapLimitCommand = '' + nodetool info | grep "^Heap Memory" | awk \'{print $NF}\' + ''; + checkHeapLimitCommand = '' + [ 1 -eq "$(echo "$(${getHeapLimitCommand}) < ${numMaxHeapSize}" | ${pkgs.bc}/bin/bc)" ] + ''; + cassandraCfg = ipAddress: { enable = true; inherit clusterName; @@ -11,6 +19,8 @@ let rpcAddress = ipAddress; seedAddresses = [ "192.168.1.1" ]; package = testPackage; + maxHeapSize = "${numMaxHeapSize}M"; + heapNewSize = "100M"; }; nodeCfg = ipAddress: extra: {pkgs, config, ...}: { environment.systemPackages = [ testPackage ]; @@ -55,6 +65,11 @@ in $cass0->waitUntilSucceeds("nc -z localhost 7199"); $cass0->waitUntilSucceeds("nodetool describecluster | grep 'Name: ${clusterName}'"); }; + subtest "Heap limit set correctly", sub { + # Nodetool takes a while until it can display info + $cass0->waitUntilSucceeds('nodetool info'); + $cass0->succeed('${checkHeapLimitCommand}'); + }; # Check cluster interaction subtest "Bring up cluster", sub {