about summary refs log tree commit diff
path: root/lib/tests/misc.nix
diff options
context:
space:
mode:
authorRebecca Turner <rbt@sent.as>2023-11-27 17:14:36 -0800
committerRebecca Turner <rbt@sent.as>2023-12-19 09:48:17 -0800
commit090b929b8ab9b7df11825554828f0cb51e9eab9b (patch)
tree1cb147afeed713cce360d201a701c04f0f285ac3 /lib/tests/misc.nix
parent7cb7b7f98d81c2b9b907eacf5c29ec61078e80e4 (diff)
downloadnixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.tar
nixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.tar.gz
nixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.tar.bz2
nixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.tar.lz
nixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.tar.xz
nixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.tar.zst
nixlib-090b929b8ab9b7df11825554828f0cb51e9eab9b.zip
lib.packagesFromDirectoryRecursive: init
Co-authored-by: Gabriella Gonzalez <GenuineGabriella@gmail.com>
Diffstat (limited to 'lib/tests/misc.nix')
-rw-r--r--lib/tests/misc.nix33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 9f1fee2ba234..87b63eb4d5fc 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -1988,4 +1988,37 @@ runTests {
     expr = meta.platformMatch { } "x86_64-linux";
     expected = false;
   };
+
+  testPackagesFromDirectoryRecursive = {
+    expr = packagesFromDirectoryRecursive {
+      callPackage = path: overrides: import path overrides;
+      directory = ./packages-from-directory;
+    };
+    expected = {
+      a = "a";
+      b = "b";
+      # Note: Other files/directories in `./test-data/c/` are ignored and can be
+      # used by `package.nix`.
+      c = "c";
+      my-namespace = {
+        d = "d";
+        e = "e";
+        f = "f";
+        my-sub-namespace = {
+          g = "g";
+          h = "h";
+        };
+      };
+    };
+  };
+
+  # Check that `packagesFromDirectoryRecursive` can process a directory with a
+  # top-level `package.nix` file into a single package.
+  testPackagesFromDirectoryRecursiveTopLevelPackageNix = {
+    expr = packagesFromDirectoryRecursive {
+      callPackage = path: overrides: import path overrides;
+      directory = ./packages-from-directory/c;
+    };
+    expected = "c";
+  };
 }