summary refs log tree commit diff
path: root/tests/guix-package.sh
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-12-12 00:01:17 +0100
committerLudovic Courtès <ludo@gnu.org>2012-12-12 00:01:17 +0100
commit1c67d639d5497cdae5bf7a6ececdd789e8537a01 (patch)
treedef17e40cb40bd9b18c3949aa44f3a93691eb9b9 /tests/guix-package.sh
parenta09ec3a5af3eb38b31d4eff0f323a2c47b82c114 (diff)
downloadguix-1c67d639d5497cdae5bf7a6ececdd789e8537a01.tar.gz
guix-package: Gracefully handle multiple installs of the same path.
* guix-package.in (guix-package)[process-actions]: Compute PACKAGES such
  that packages listed in INSTALL* are first removed from the remainder
  of the list.  When PROF is equal to the previous profile's store path,
  do nothing.  Reported by Andreas Enge <andreas@enge.fr>.
* tests/guix-package.sh: Test the behavior of installing the same store
  path twice.  When removing a package, omit its version number.
Diffstat (limited to 'tests/guix-package.sh')
-rw-r--r--tests/guix-package.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 2bc8c573ec..83108601cf 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -30,6 +30,12 @@ guix-package -b -p "$profile"						\
 test -L "$profile" && test -L "$profile-1-link"
 test -f "$profile/bin/guile"
 
+# Installing the same package a second time does nothing.
+guix-package -b -p "$profile"						\
+    -i `guix-build -e '(@@ (distro packages base) %bootstrap-guile)'`
+test -L "$profile" && test -L "$profile-1-link"
+! test -f "$profile-2-link"
+test -f "$profile/bin/guile"
 
 guix-package -b -p "$profile"						\
     -i `guix-build -e '(@@ (distro packages base) gnu-make-boot0)'`
@@ -53,7 +59,7 @@ esac
 test "`guix-package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap"
 
 # Remove a package.
-guix-package -b -p "$profile" -r "guile-bootstrap-2.0"
+guix-package -b -p "$profile" -r "guile-bootstrap"
 test -L "$profile-3-link"
 test -f "$profile/bin/make" && ! test -f "$profile/bin/guile"