diff options
author | Anselm Schüler <mail@anselmschueler.com> | 2023-10-06 13:28:46 +0200 |
---|---|---|
committer | Anselm Schüler <mail@anselmschueler.com> | 2023-10-06 14:08:46 +0200 |
commit | d27d38c13a8ec4e2a6adf314148986f2f7741a40 (patch) | |
tree | dc6e4fd2cb6def7d5496b8325d1c7268b2a1cd96 | |
parent | 19241f5618f73974a3bd79853f5869c4f1dde537 (diff) | |
download | nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.tar nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.tar.gz nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.tar.bz2 nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.tar.lz nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.tar.xz nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.tar.zst nixpkgs-d27d38c13a8ec4e2a6adf314148986f2f7741a40.zip |
lib/tests: add more tests for mkPackageOption
-rwxr-xr-x | lib/tests/modules.sh | 6 | ||||
-rw-r--r-- | lib/tests/modules/declare-mkPackageOption.nix | 26 |
2 files changed, 32 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 05c99e6de83..c2f1a426a34 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -227,8 +227,14 @@ checkConfigOutput '^false$' config.enableAlias ./alias-with-priority-can-overrid # Check mkPackageOption checkConfigOutput '^"hello"$' config.package.pname ./declare-mkPackageOption.nix +checkConfigOutput '^"hello"$' config.namedPackage.pname ./declare-mkPackageOption.nix +checkConfigOutput '^".*Hello.*"$' options.namedPackage.description ./declare-mkPackageOption.nix +checkConfigOutput '^"hello"$' config.pathPackage.pname ./declare-mkPackageOption.nix +checkConfigOutput '^"pkgs\.hello\.override \{ stdenv = pkgs\.clangStdenv; \}"$' options.packageWithExample.example.text ./declare-mkPackageOption.nix +checkConfigOutput '^".*Example extra description\..*"$' options.packageWithExtraDescription.description ./declare-mkPackageOption.nix checkConfigError 'The option .undefinedPackage. is used but not defined' config.undefinedPackage ./declare-mkPackageOption.nix checkConfigOutput '^null$' config.nullablePackage ./declare-mkPackageOption.nix +checkConfigOutput '^"null or package"$' options.nullablePackageWithDefault.type.description ./declare-mkPackageOption.nix # submoduleWith diff --git a/lib/tests/modules/declare-mkPackageOption.nix b/lib/tests/modules/declare-mkPackageOption.nix index 640b19a7bf2..37f070467b4 100644 --- a/lib/tests/modules/declare-mkPackageOption.nix +++ b/lib/tests/modules/declare-mkPackageOption.nix @@ -7,6 +7,28 @@ in { options = { package = lib.mkPackageOption pkgs "hello" { }; + namedPackage = lib.mkPackageOption pkgs "Hello" { + default = [ "hello" ]; + }; + + namedPackageSingletonDefault = lib.mkPackageOption pkgs "Hello" { + default = "hello"; + }; + + pathPackage = lib.mkPackageOption pkgs [ "hello" ] { }; + + packageWithExample = lib.mkPackageOption pkgs "hello" { + example = "pkgs.hello.override { stdenv = pkgs.clangStdenv; }"; + }; + + packageWithPathExample = lib.mkPackageOption pkgs "hello" { + example = [ "hello" ]; + }; + + packageWithExtraDescription = lib.mkPackageOption pkgs "hello" { + extraDescription = "Example extra description."; + }; + undefinedPackage = lib.mkPackageOption pkgs "hello" { default = null; }; @@ -15,5 +37,9 @@ in { nullable = true; default = null; }; + + nullablePackageWithDefault = lib.mkPackageOption pkgs "hello" { + nullable = true; + }; }; } |