aboutsummaryrefslogtreecommitdiff
path: root/tests/gc.sh
diff options
context:
space:
mode:
authorThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-03-07 10:33:21 +0100
committerThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-03-07 13:08:04 +0100
commit2272bc6049e04f98d93f82f22497dc805fbe00cd (patch)
treebfb70378be117c0d9b66dd58bfbe13295e3b1d7d /tests/gc.sh
parentfc76852b661d90e30965c1808bd14a85645b67a0 (diff)
Fix `nix-collect-garbage -d` with the new profile location
Low-hanging fix for https://github.com/NixOS/nix/pull/5226#issuecomment-1454669399
Diffstat (limited to 'tests/gc.sh')
-rw-r--r--tests/gc.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/gc.sh b/tests/gc.sh
index ad09a8b39..98d6cb032 100644
--- a/tests/gc.sh
+++ b/tests/gc.sh
@@ -50,3 +50,20 @@ if test -e $outPath/foobar; then false; fi
# Check that the store is empty.
rmdir $NIX_STORE_DIR/.links
rmdir $NIX_STORE_DIR
+
+## Test `nix-collect-garbage -d`
+# `nix-env` doesn't work with CA derivations, so let's ignore that bit if we're
+# using them
+if [[ -z "${NIX_TESTS_CA_BY_DEFAULT:-}" ]]; then
+ clearProfiles
+ # Run two `nix-env` commands, should create two generations of
+ # the profile
+ nix-env -f ./user-envs.nix -i foo-1.0
+ nix-env -f ./user-envs.nix -i foo-2.0pre1
+ [[ $(nix-env --list-generations | wc -l) -eq 2 ]]
+
+ # Clear the profile history. There should be only one generation
+ # left
+ nix-collect-garbage -d
+ [[ $(nix-env --list-generations | wc -l) -eq 1 ]]
+fi