aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-12-20 10:35:37 +0100
committerLudovic Courtès <ludo@gnu.org>2022-12-20 16:56:03 +0100
commit2880dc3046170e9129437caca586f13956d0d811 (patch)
tree6e44b35100bc3279d0ad9491fa545758181ee104 /tests
parent3f6c5c6f781bdf4cf5f15272642d0f3aba01aa50 (diff)
downloadguix-2880dc3046170e9129437caca586f13956d0d811.tar
guix-2880dc3046170e9129437caca586f13956d0d811.tar.gz
cpio: Skip test on inode numbers that don't fit on 32 bits.
Fixes <https://issues.guix.gnu.org/60202>. Reported by Christopher Baines <mail@cbaines.net>. * tests/cpio.scm (%test-file): New variable. ("file->cpio-header + write-cpio-header + read-cpio-header"): Use it. Skip test when the inode number of %TEST-FILE is too big.
Diffstat (limited to 'tests')
-rw-r--r--tests/cpio.scm12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/cpio.scm b/tests/cpio.scm
index 516de0655b..832101d1bb 100644
--- a/tests/cpio.scm
+++ b/tests/cpio.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2022 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,12 +31,18 @@
(define %cpio-program
(which "cpio"))
+(define %test-file
+ (search-path %load-path "guix.scm"))
+
(test-begin "cpio")
+;; The cpio format expects 'ino' to fit in 32 bits. If we have a bigger inode
+;; number, skip this test.
+(test-skip
+ (if (>= (stat:ino (lstat %test-file)) (expt 2 32)) 1 0))
(test-assert "file->cpio-header + write-cpio-header + read-cpio-header"
- (let* ((file (search-path %load-path "guix.scm"))
- (header (file->cpio-header file)))
+ (let* ((header (file->cpio-header %test-file)))
(call-with-values
(lambda ()
(open-bytevector-output-port))