import: texlive: Avoid uses of '@@' in tests.
authorLudovic Courtès <ludo@gnu.org>
Fri, 17 Jan 2020 12:50:53 +0000 (13:50 +0100)
committerLudovic Courtès <ludo@gnu.org>
Fri, 17 Jan 2020 13:22:08 +0000 (14:22 +0100)
* guix/import/texlive.scm (fetch-sxml, sxml->package): Export.
* tests/texlive.scm <top level>: Call '%http-server-port'.
("fetch-sxml: returns SXML for valid XML"): Use 'with-http-server' and
set 'current-http-proxy' instead of using 'mock'.
("sxml->package"): Remove use of '@@'.

guix/import/texlive.scm
tests/texlive.scm

index d528aac..a84683e 100644 (file)
   #:use-module (guix packages)
   #:use-module (gnu packages)
   #:use-module (guix build-system texlive)
-  #:export (texlive->guix-package))
+  #:export (texlive->guix-package
+
+            fetch-sxml
+            sxml->package))
 
 ;;; Commentary:
 ;;;
index e28eda1..f7e5515 100644 (file)
   #:use-module (gnu packages tex)
   #:use-module (guix import texlive)
   #:use-module (guix tests)
+  #:use-module (guix tests http)
   #:use-module (guix build utils)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-64)
   #:use-module (srfi srfi-26)
+  #:use-module (web client)
   #:use-module (ice-9 match))
 
 (test-begin "texlive")
                  (keyval (@ (value "tests") (key "topic")))
                  "\n  null\n")))
 
+;; Avoid collisions with other tests.
+(%http-server-port 10200)
+
 (test-equal "fetch-sxml: returns SXML for valid XML"
   sxml
-  (mock ((guix http-client) http-fetch
-         (lambda (url)
-           xml))
-        ((@@ (guix import texlive) fetch-sxml) "foo")))
+  (with-http-server `((200 ,xml))
+    (parameterize ((current-http-proxy (%local-url)))
+      (fetch-sxml "foo"))))
 
 ;; TODO:
 (test-assert "sxml->package"
@@ -86,7 +90,7 @@
            (with-output-to-file (string-append directory "/foo")
              (lambda ()
                (display "source")))))
-        (let ((result ((@@ (guix import texlive) sxml->package) sxml)))
+        (let ((result (sxml->package sxml)))
           (match result
             (('package
                ('name "texlive-latex-foo")