summary refs log tree commit diff
diff options
context:
space:
mode:
authorUli Baum <xeji@cat3.de>2018-05-10 23:30:56 +0200
committerUli Baum <xeji@cat3.de>2018-05-10 23:30:56 +0200
commit840e5d8bda527bb0986efee9df0d45b6e59521d2 (patch)
tree5cbd76bdcc32cbc3d1b33d6185b7267a37f4468c
parent558f4b3368b83844837fccd58e9e89490911a1b3 (diff)
downloadnixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.tar
nixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.tar.gz
nixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.tar.bz2
nixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.tar.lz
nixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.tar.xz
nixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.tar.zst
nixpkgs-840e5d8bda527bb0986efee9df0d45b6e59521d2.zip
nixos/tests/graphite: fix test
- adapt netcat options to libressl-nc
- wait for services to be started and accepting connections
-rw-r--r--nixos/tests/graphite.nix20
1 files changed, 13 insertions, 7 deletions
diff --git a/nixos/tests/graphite.nix b/nixos/tests/graphite.nix
index a22ef224580..5a1f50bd29b 100644
--- a/nixos/tests/graphite.nix
+++ b/nixos/tests/graphite.nix
@@ -4,6 +4,7 @@ import ./make-test.nix ({ pkgs, ...} :
   nodes = {
     one =
       { config, pkgs, ... }: {
+        virtualisation.memorySize = 1024;
         time.timeZone = "UTC";
         services.graphite = {
           web.enable = true;
@@ -21,12 +22,17 @@ import ./make-test.nix ({ pkgs, ...} :
   testScript = ''
     startAll;
     $one->waitForUnit("default.target");
-    $one->requireActiveUnit("graphiteWeb.service");
-    $one->requireActiveUnit("graphiteApi.service");
-    $one->requireActiveUnit("graphitePager.service");
-    $one->requireActiveUnit("carbonCache.service");
-    $one->requireActiveUnit("seyren.service");
-    $one->succeed("echo \"foo 1 `date +%s`\" | nc -q0 localhost 2003");
-    $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo")
+    $one->waitForUnit("graphiteWeb.service");
+    $one->waitForUnit("graphiteApi.service");
+    $one->waitForUnit("graphitePager.service");
+    $one->waitForUnit("carbonCache.service");
+    $one->waitForUnit("seyren.service");
+    # The services above are of type "simple". systemd considers them active immediately
+    # even if they're still in preStart (which takes quite long for graphiteWeb).
+    # Wait for ports to open so we're sure the services are up and listening.
+    $one->waitForOpenPort(8080);
+    $one->waitForOpenPort(2003);
+    $one->succeed("echo \"foo 1 `date +%s`\" | nc -N localhost 2003");
+    $one->waitUntilSucceeds("curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2");
   '';
 })