diff --git a/release.nix b/release.nix index fdef628..1147141 100644 --- a/release.nix +++ b/release.nix @@ -90,6 +90,7 @@ let examples.simple = genExample ./modules/examples/simple.nix; tests.activation-scripts = makeTest ./tests/activation-scripts.nix; + tests.checks-nix-gc = makeTest ./tests/checks-nix-gc.nix; tests.environment-path = makeTest ./tests/environment-path.nix; tests.launchd-setenv = makeTest ./tests/launchd-setenv.nix; tests.networking-hostname = makeTest ./tests/networking-hostname.nix; diff --git a/tests/checks-nix-gc.nix b/tests/checks-nix-gc.nix new file mode 100644 index 0000000..fde6211 --- /dev/null +++ b/tests/checks-nix-gc.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: + +let + nix = pkgs.runCommand "nix-0.0.0" {} "mkdir -p $out"; +in + +{ + nix.gc.automatic = true; + nix.package = nix; + + test = '' + echo checking nix-gc validation >&2 + grep "nix.gc.user = " ${config.out}/activate-user + + echo checking nix-gc service in /Library/LaunchDaemons >&2 + grep "org.nixos.nix-gc" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist + ! grep "UserName" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist + ''; +} diff --git a/tests/services-nix-gc.nix b/tests/services-nix-gc.nix index 19bb7b6..915d162 100644 --- a/tests/services-nix-gc.nix +++ b/tests/services-nix-gc.nix @@ -15,7 +15,11 @@ in grep "org.nixos.nix-gc" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist grep "exec ${nix}/bin/nix-collect-garbage --delete-older-than 30d" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist grep "UserName" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist - grep "nixuser" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist + ! grep "nixuser" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist + ! grep "KeepAlive" ${config.out}/Library/LaunchDaemons/org.nixos.nix-gc.plist + + echo checking nix-gc validation >&2 + ! grep "nix.gc.user = " ${config.out}/activate-user ''; }