aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-06-24 15:00:34 +0200
committerLudovic Courtès <ludo@gnu.org>2015-06-24 18:05:03 +0200
commit8de3df72bc96cc3f7739e61699831557852cea6b (patch)
tree54f5b186e73c69d7edef9e75becc4fe7c696bc41
parent31fbf4b6377d9a1c44eb3230b89f0bac47a202b4 (diff)
downloadpatches-8de3df72bc96cc3f7739e61699831557852cea6b.tar
patches-8de3df72bc96cc3f7739e61699831557852cea6b.tar.gz
tests: Move 'file=?' to (guix tests).
* tests/nar.scm (file-tree-equal?)[file=?]: Move to... * guix/tests.scm (file=?): ... here. New procedure.
-rw-r--r--guix/tests.scm15
-rw-r--r--tests/nar.scm11
2 files changed, 15 insertions, 11 deletions
diff --git a/guix/tests.scm b/guix/tests.scm
index a19eda250c..16b8cc7f8a 100644
--- a/guix/tests.scm
+++ b/guix/tests.scm
@@ -27,10 +27,12 @@
#:use-module (gnu packages bootstrap)
#:use-module (srfi srfi-34)
#:use-module (rnrs bytevectors)
+ #:use-module (rnrs io ports)
#:use-module (web uri)
#:export (open-connection-for-tests
random-text
random-bytevector
+ file=?
network-reachable?
shebang-too-long?
mock
@@ -88,6 +90,19 @@
(loop (1+ i)))
bv))))
+(define (file=? a b)
+ "Return true if files A and B have the same type and same content."
+ (and (eq? (stat:type (lstat a)) (stat:type (lstat b)))
+ (case (stat:type (lstat a))
+ ((regular)
+ (equal?
+ (call-with-input-file a get-bytevector-all)
+ (call-with-input-file b get-bytevector-all)))
+ ((symlink)
+ (string=? (readlink a) (readlink b)))
+ (else
+ (error "what?" (lstat a))))))
+
(define (network-reachable?)
"Return true if we can reach the Internet."
(false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)))
diff --git a/tests/nar.scm b/tests/nar.scm
index 4ccd364861..b8e50c7603 100644
--- a/tests/nar.scm
+++ b/tests/nar.scm
@@ -108,17 +108,6 @@
(cute string-drop <> (string-length input)))
(define sibling
(compose (cut string-append output <>) strip))
- (define (file=? a b)
- (and (eq? (stat:type (lstat a)) (stat:type (lstat b)))
- (case (stat:type (lstat a))
- ((regular)
- (equal?
- (call-with-input-file a get-bytevector-all)
- (call-with-input-file b get-bytevector-all)))
- ((symlink)
- (string=? (readlink a) (readlink b)))
- (else
- (error "what?" (lstat a))))))
(file-system-fold (const #t)
(lambda (name stat result) ; leaf