summary refs log tree commit diff
path: root/nixos/tests/prometheus-exporters.nix
diff options
context:
space:
mode:
authorelseym <elseym@me.com>2020-08-31 13:38:54 +0200
committerelseym <elseym@me.com>2020-09-06 17:48:00 +0200
commit8c49e5a78c6226d4dd88cd886d36519158d997ec (patch)
tree7710cf71d4990f8f735e048850415fcad1aac8de /nixos/tests/prometheus-exporters.nix
parentb381aacbba16789700d6486963805715cd3b59ad (diff)
downloadnixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.tar
nixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.tar.gz
nixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.tar.bz2
nixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.tar.lz
nixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.tar.xz
nixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.tar.zst
nixpkgs-8c49e5a78c6226d4dd88cd886d36519158d997ec.zip
tests/prometheus-exporters: allow overriding test-node-name
allows the prometheus-exporters test abstraction to work with e.g. hyphenated exporter-names
Diffstat (limited to 'nixos/tests/prometheus-exporters.nix')
-rw-r--r--nixos/tests/prometheus-exporters.nix20
1 files changed, 13 insertions, 7 deletions
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index b912e3425e0..7327dcae87d 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -22,6 +22,9 @@ let
  *  `metricProvider` (optional)
  *    this attribute contains additional machine config
  *
+ *  `nodeName` (optional)
+ *    override an incompatible testnode name
+ *
  *  Example:
  *    exporterTests.<exporterName> = {
  *      exporterConfig = {
@@ -646,24 +649,27 @@ let
     };
   };
 in
-mapAttrs (exporter: testConfig: (makeTest {
+mapAttrs (exporter: testConfig: (makeTest (let
+  nodeName = testConfig.nodeName or exporter;
+
+in {
   name = "prometheus-${exporter}-exporter";
 
-  nodes.${exporter} = mkMerge [{
+  nodes.${nodeName} = mkMerge [{
     services.prometheus.exporters.${exporter} = testConfig.exporterConfig;
   } testConfig.metricProvider or {}];
 
   testScript = ''
-    ${exporter}.start()
+    ${nodeName}.start()
     ${concatStringsSep "\n" (map (line:
       if (builtins.substring 0 1 line == " " || builtins.substring 0 1 line == ")")
       then line
-      else "${exporter}.${line}"
+      else "${nodeName}.${line}"
     ) (splitString "\n" (removeSuffix "\n" testConfig.exporterTest)))}
-    ${exporter}.shutdown()
+    ${nodeName}.shutdown()
   '';
 
   meta = with maintainers; {
-    maintainers = [ willibutz ];
+    maintainers = [ willibutz elseym ];
   };
-})) exporterTests
+}))) exporterTests