about summary refs log tree commit diff
path: root/lib/tests/modules/class-check.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tests/modules/class-check.nix')
-rw-r--r--lib/tests/modules/class-check.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix
index 02d1431cc88b6..7874d0e28ec73 100644
--- a/lib/tests/modules/class-check.nix
+++ b/lib/tests/modules/class-check.nix
@@ -1,4 +1,43 @@
 { lib, ... }: {
+  options = {
+    sub = {
+      nixosOk = lib.mkOption {
+        type = lib.types.submoduleWith {
+          class = "nixos";
+          modules = [ ];
+        };
+      };
+      # Same but will have bad definition
+      nixosFail = lib.mkOption {
+        type = lib.types.submoduleWith {
+          class = "nixos";
+          modules = [ ];
+        };
+      };
+
+      mergeFail = lib.mkOption {
+        type = lib.types.submoduleWith {
+          class = "nixos";
+          modules = [ ];
+        };
+        default = { };
+      };
+    };
+  };
+  imports = [
+    {
+      options = {
+        sub = {
+          mergeFail = lib.mkOption {
+            type = lib.types.submoduleWith {
+              class = "darwin";
+              modules = [ ];
+            };
+          };
+        };
+      };
+    }
+  ];
   config = {
     _module.freeformType = lib.types.anything;
     ok =
@@ -31,5 +70,7 @@
         ];
       };
 
+    sub.nixosOk = { config = {}; class = "nixos"; };
+    sub.nixosFail = { imports = [ ./module-class-is-darwin.nix ]; };
   };
 }