diff --git a/release.nix b/release.nix index d6dfbb60..b4c6904e 100644 --- a/release.nix +++ b/release.nix @@ -102,6 +102,7 @@ let tests.system-path-fish = makeTest ./tests/system-path-fish.nix; tests.system-path-zsh = makeTest ./tests/system-path-zsh.nix; tests.system-shells = makeTest ./tests/system-shells.nix; + tests.users-groups = makeTest ./tests/users-groups.nix; } // (mapTestOn (packagePlatforms packageSet)); diff --git a/tests/users-groups.nix b/tests/users-groups.nix new file mode 100644 index 00000000..88e04d10 --- /dev/null +++ b/tests/users-groups.nix @@ -0,0 +1,20 @@ +{ config, pkgs, ... }: + +{ + users.knownGroups = [ "foo" "bar" ]; + users.groups.foo.gid = 42000; + users.groups.foo.description = "Foo group"; + + users.groups.baz.gid = 43000; + + test = '' + echo "checking group creation in /activate" >&2 + grep "dscl . -create '/Groups/foo' PrimaryGroupID 42000" ${config.out}/activate + grep "dscl . -create '/Groups/foo' RealName 'Foo group'" ${config.out}/activate + echo "checking group deletion in /activate" >&2 + grep "dscl . -delete '/Groups/bar'" ${config.out}/activate + echo "checking unknown group in /activate" >&2 + grep -qv "dscl . -create '/Groups/bar'" ${config.out}/activate + grep -qv "dscl . -delete '/Groups/bar'" ${config.out}/activate + ''; +}