diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/guix-package.sh | 19 | ||||
-rw-r--r-- | tests/profiles.scm | 7 |
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 5ecb33193f..99952f130c 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -279,8 +279,27 @@ guix package --bootstrap --install-from-file="$module_dir/package.scm" test "`guix package -A super-non-portable-emacs`" = "" test "`guix package -s super-non-portable-emacs | grep ^systems:`" = "systems: " +# Don't upgrade packages marked for removal: <http://bugs.gnu.org/27262>. +guix package --bootstrap -p "$profile" -i guile-bootstrap + +cat > "$module_dir/foo.scm"<<EOF +(define-module (foo) + #:use-module (guix) + #:use-module (gnu packages bootstrap)) + +(define-public x + (package (inherit %bootstrap-guile) (version "42"))) +EOF + +guix package --bootstrap -p "$profile" -r guile-bootstrap -u guile +test ! -f "$profile/bin/guile" +guix package --bootstrap -p "$profile" --roll-back +test -f "$profile/bin/guile" +rm "$profile-2-link" + unset GUIX_PACKAGE_PATH + # Using 'GUIX_BUILD_OPTIONS'. available="`guix package -A | sort`" GUIX_BUILD_OPTIONS="--dry-run --no-grafts" diff --git a/tests/profiles.scm b/tests/profiles.scm index f731807e8c..469dde2652 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -197,6 +197,13 @@ (test-assert "manifest-transaction-null?" (manifest-transaction-null? (manifest-transaction))) +(test-assert "manifest-transaction-removal-candidate?" + (let ((m (manifest (list guile-2.0.9))) + (t (manifest-transaction + (remove (list (manifest-pattern (name "guile"))))))) + (and (manifest-transaction-removal-candidate? guile-2.0.9 t) + (not (manifest-transaction-removal-candidate? glibc t))))) + (test-assertm "profile-derivation" (mlet* %store-monad ((entry -> (package->manifest-entry %bootstrap-guile)) |