From 9e87afcb4e35be6035991fdf15dfd1681183f0a7 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 13 Jan 2018 02:05:45 +0100 Subject: [PATCH] users: add test for group creation/deletion --- release.nix | 1 + tests/users-groups.nix | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/users-groups.nix diff --git a/release.nix b/release.nix index d6dfbb6..b4c6904 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 0000000..88e04d1 --- /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 + ''; +}