summary refs log tree commit diff
path: root/tests/profiles.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-02 21:12:59 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-02 21:12:59 +0200
commitef8993e2dc90fd5d63d016fc45912ad451bf787c (patch)
tree704a6fb13d942006779a36c7fa43cf8f1a7587fc /tests/profiles.scm
parentfa747b27fc972240ca3f00a1a4d36e6601d0450e (diff)
downloadguix-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.scm20
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