diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-04-06 21:26:12 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-04-06 21:27:32 +0200 |
commit | d26eb84d140af8d2119509d7da440b4f035608c5 (patch) | |
tree | 2d9f1a959a5fed4142aba4fe8368995063e743e9 /tests | |
parent | 381ac93b5ed7bd51f8f3ab6a8b0127f8ea6288f8 (diff) | |
download | guix-d26eb84d140af8d2119509d7da440b4f035608c5.tar.gz |
guix package: Never remove the current generation and warn about it.
Fixes <http://bugs.gnu.org/19978>. Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer). * guix/scripts/package.scm (delete-matching-generations): Warn when CURRENT is in NUMBERS, and always remove it before calling 'delete-generations'. * tests/guix-package.sh: Add --switch-generation=2 invocation before --delete-generations=3 invocation. Add --delete-generations=1.. test case.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/guix-package.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 94cf927420..a4c04255ba 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -161,6 +161,9 @@ then guix package --bootstrap -p "$profile" -i guile-bootstrap -i gcc-bootstrap guix package --search-paths -p "$profile" | grep LIBRARY_PATH + # Roll back so we can delete #3 below. + guix package -p "$profile" --switch-generation=2 + # Delete the third generation and check that it was actually deleted. guix package -p "$profile" --delete-generations=3 test -z "`guix package -p "$profile" -l 3`" @@ -212,6 +215,14 @@ if guix package -p "$profile" --delete-generations=12m; then false; else true; fi test "`readlink_base "$profile"`" = "$generation" +# The following command should not delete the current generation, even though +# it matches the given pattern (see <http://bugs.gnu.org/19978>.) And since +# there's nothing else to delete, it should just fail. +guix package --list-generations -p "$profile" +if guix package --bootstrap -p "$profile" --delete-generations=1.. +then false; else true; fi +test "`readlink_base "$profile"`" = "$generation" + # Make sure $profile is a GC root at this point. real_profile="`readlink -f "$profile"`" if guix gc -d "$real_profile" |