summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/trivial-builders/test/concat-test.nix18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/build-support/trivial-builders/test/concat-test.nix b/pkgs/build-support/trivial-builders/test/concat-test.nix
new file mode 100644
index 00000000000..d719ea7cd53
--- /dev/null
+++ b/pkgs/build-support/trivial-builders/test/concat-test.nix
@@ -0,0 +1,18 @@
+{ callPackage, lib, pkgs, runCommand, writeText, writeStringReferencesToFile }:
+let
+  sample = import ./sample.nix { inherit pkgs; };
+  samplePaths = lib.unique (lib.attrValues sample);
+  str2drv = x: "${x}";
+  sampleText = concatText "cample-concat" (lib.unique (map str2drv samplePaths));
+  stringReferencesText =
+    writeStringReferencesToFile
+      ((lib.concatMapStringsSep "fillertext"
+        stri
+        (lib.attrValues sample)) + ''
+        STORE=${builtins.storeDir};\nsystemctl start bar-foo.service
+      '');
+in
+runCommand "test-writeStringReferencesToFile" { } ''
+  diff -U3 <(sort ${stringReferencesText}) <(sort ${sampleText})
+  touch $out
+''