aboutsummaryrefslogtreecommitdiff
path: root/tests/ui.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui.scm')
-rw-r--r--tests/ui.scm36
1 files changed, 35 insertions, 1 deletions
diff --git a/tests/ui.scm b/tests/ui.scm
index db90cdd479..236f541be2 100644
--- a/tests/ui.scm
+++ b/tests/ui.scm
@@ -19,11 +19,14 @@
(define-module (test-ui)
#:use-module (guix ui)
+ #:use-module (guix profiles)
#:use-module (guix store)
#:use-module (guix derivations)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-11)
#:use-module (srfi srfi-19)
- #:use-module (srfi srfi-64))
+ #:use-module (srfi srfi-64)
+ #:use-module (ice-9 regex))
;; Test the (guix ui) module.
@@ -35,6 +38,20 @@ R6RS, Guile includes a module system, full access to POSIX system calls,
networking support, multiple threads, dynamic linking, a foreign function call
interface, and powerful string processing.")
+(define guile-1.8.8
+ (manifest-entry
+ (name "guile")
+ (version "1.8.8")
+ (item "/gnu/store/...")
+ (output "out")))
+
+(define guile-2.0.9
+ (manifest-entry
+ (name "guile")
+ (version "2.0.9")
+ (item "/gnu/store/...")
+ (output "out")))
+
(test-begin "ui")
@@ -210,6 +227,23 @@ Second line" 24))
;; This should print nothing.
(show-what-to-build store (list drv)))))))
+(test-assert "show-manifest-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 ()
+ (show-manifest-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 ()
+ (show-manifest-transaction store m t))))))))))
+
(test-end "ui")