summary refs log tree commit diff
path: root/pkgs/test
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-12-11 13:31:50 +0200
committerArtturin <Artturin@artturin.com>2022-12-12 21:39:56 +0200
commit9cb5662187377146daf2b2abd54f4bce9ab59343 (patch)
tree8e05d8406fe241e54649aed7d92be05beb065ccc /pkgs/test
parent84a7cadfd2d419b00148b5b826568c5ba59b93d5 (diff)
downloadnixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.tar
nixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.tar.gz
nixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.tar.bz2
nixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.tar.lz
nixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.tar.xz
nixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.tar.zst
nixpkgs-9cb5662187377146daf2b2abd54f4bce9ab59343.zip
tests: move stdenv hook tests to stdenv.hooks
Diffstat (limited to 'pkgs/test')
-rw-r--r--pkgs/test/hooks/default.nix24
-rw-r--r--pkgs/test/stdenv/default.nix6
-rw-r--r--pkgs/test/stdenv/hooks.nix35
3 files changed, 43 insertions, 22 deletions
diff --git a/pkgs/test/hooks/default.nix b/pkgs/test/hooks/default.nix
index fe3a9b2a216..aabf939b686 100644
--- a/pkgs/test/hooks/default.nix
+++ b/pkgs/test/hooks/default.nix
@@ -1,28 +1,8 @@
 # To run these tests:
 # nix-build -A tests.hooks
 
-{ stdenv, pkgs, lib }:
+{ stdenv, tests, lib }:
 
 {
-  # this attrset is for hooks in `stdenv.defaultNativeBuildInputs`
-  default-stdenv-hooks = lib.recurseIntoAttrs {
-    make-symlinks-relative = stdenv.mkDerivation {
-      name = "test-make-symlinks-relative";
-      passAsFile = [ "buildCommand" ];
-      buildCommand = ''
-        mkdir -p $out/{bar,baz}
-        source1="$out/bar/foo"
-        destination1="$out/baz/foo"
-        echo foo > $source1
-        ln -s $source1 $destination1
-        echo "symlink before patching: $(readlink $destination1)"
-
-        _makeSymlinksRelative
-
-        echo "symlink after patching: $(readlink $destination1)"
-        ([[ -e $destination1 ]] && echo "symlink isn't broken") || (echo "symlink is broken" && exit 1)
-        ([[ $(readlink $destination1) == "../bar/foo" ]] && echo "absolute symlink was made relative") || (echo "symlink was not made relative" && exit 1)
-      '';
-    };
-  };
+  default-stdenv-hooks = lib.recurseIntoAttrs tests.stdenv.hooks;
 }
diff --git a/pkgs/test/stdenv/default.nix b/pkgs/test/stdenv/default.nix
index 0a29f91ce04..c9653b324eb 100644
--- a/pkgs/test/stdenv/default.nix
+++ b/pkgs/test/stdenv/default.nix
@@ -95,6 +95,9 @@ let
 in
 
 {
+  # tests for hooks in `stdenv.defaultNativeBuildInputs`
+  hooks = lib.recurseIntoAttrs (import ./hooks.nix { stdenv = bootStdenv; });
+
   test-env-attrset = testEnvAttrset { name = "test-env-attrset"; stdenv' = bootStdenv; };
 
   test-prepend-append-to-var = testPrependAndAppendToVar {
@@ -114,6 +117,9 @@ in
   };
 
   structuredAttrsByDefault = lib.recurseIntoAttrs {
+
+    hooks = lib.recurseIntoAttrs (import ./hooks.nix { stdenv = bootStdenvStructuredAttrsByDefault; });
+
     test-cc-wrapper-substitutions = ccWrapperSubstitutionsTest {
       name = "test-cc-wrapper-substitutions-structuredAttrsByDefault";
       stdenv' = bootStdenvStructuredAttrsByDefault;
diff --git a/pkgs/test/stdenv/hooks.nix b/pkgs/test/stdenv/hooks.nix
new file mode 100644
index 00000000000..f63ca054e08
--- /dev/null
+++ b/pkgs/test/stdenv/hooks.nix
@@ -0,0 +1,35 @@
+{ stdenv }:
+
+# ordering should match defaultNativeBuildInputs
+
+{
+  move-docs = stdenv.mkDerivation {
+    name = "test-move-docs";
+    buildCommand = ''
+      mkdir -p $out/{man,doc,info}
+      touch $out/{man,doc,info}/foo
+      cat $out/{man,doc,info}/foo
+
+      _moveToShare
+
+      (cat $out/share/{man,doc,info}/foo 2>/dev/null && echo "man,doc,info were moved") || (echo "man,doc,info were not moved" && exit 1)
+    '';
+  };
+  make-symlinks-relative = stdenv.mkDerivation {
+    name = "test-make-symlinks-relative";
+    buildCommand = ''
+      mkdir -p $out/{bar,baz}
+      source1="$out/bar/foo"
+      destination1="$out/baz/foo"
+      echo foo > $source1
+      ln -s $source1 $destination1
+      echo "symlink before patching: $(readlink $destination1)"
+
+      _makeSymlinksRelative
+
+      echo "symlink after patching: $(readlink $destination1)"
+      ([[ -e $destination1 ]] && echo "symlink isn't broken") || (echo "symlink is broken" && exit 1)
+      ([[ $(readlink $destination1) == "../bar/foo" ]] && echo "absolute symlink was made relative") || (echo "symlink was not made relative" && exit 1)
+    '';
+  };
+}