diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-09-02 21:12:59 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-09-02 21:12:59 +0200 |
commit | ef8993e2dc90fd5d63d016fc45912ad451bf787c (patch) | |
tree | 704a6fb13d942006779a36c7fa43cf8f1a7587fc /tests/profiles.scm | |
parent | fa747b27fc972240ca3f00a1a4d36e6601d0450e (diff) | |
download | gnu-guix-ef8993e2dc90fd5d63d016fc45912ad451bf787c.tar gnu-guix-ef8993e2dc90fd5d63d016fc45912ad451bf787c.tar.gz |
profiles: Report the old and new version number in upgrades.
* guix/profiles.scm (manifest-lookup): New procedure.
(manifest-installed?): Use it.
(manifest-transaction-effects): Return a pair of entries for upgrades.
(right-arrow): New procedure.
(manifest-show-transaction)[upgrade-string, →]: New variables.
Report upgrades using 'upgrade-string'.
* tests/profiles.scm ("manifest-show-transaction"): New test.
("manifest-transaction-effects"): Match UPGRADE against a pair.
Diffstat (limited to 'tests/profiles.scm')
-rw-r--r-- | tests/profiles.scm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/profiles.scm b/tests/profiles.scm index d88def32fd..879f71073f 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm @@ -26,6 +26,7 @@ #:use-module (guix derivations) #:use-module (gnu packages bootstrap) #:use-module (ice-9 match) + #:use-module (ice-9 regex) #:use-module (srfi srfi-11) #:use-module (srfi srfi-64)) @@ -153,7 +154,24 @@ (manifest-transaction-effects m0 t))) (and (null? remove) (equal? (list glibc) install) - (equal? (list guile-2.0.9) upgrade))))) + (equal? (list (cons guile-1.8.8 guile-2.0.9)) upgrade))))) + +(test-assert "manifest-show-transaction" + (let* ((m (manifest (list guile-1.8.8))) + (t (manifest-transaction (install (list guile-2.0.9))))) + (let-values (((remove install upgrade) + (manifest-transaction-effects m t))) + (with-store store + (and (string-match "guile\t1.8.8 → 2.0.9" + (with-fluids ((%default-port-encoding "UTF-8")) + (with-error-to-string + (lambda () + (manifest-show-transaction store m t))))) + (string-match "guile\t1.8.8 > 2.0.9" + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (with-error-to-string + (lambda () + (manifest-show-transaction store m t)))))))))) (test-assert "profile-derivation" (run-with-store %store |