This test seems to fail, maybe because of high inode numbers, maybe something to with btrfs. I saw this with the failed builds here https://data.guix.gnu.org/gnu/store/kg93i3bmvpdfkiqyx6g9r7ywh0xpvm8w-guix-1.4.0 cbaines@milano-guix-1 ~$ guix repl GNU Guile 3.0.8 Copyright (C) 1995-2021 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guix-user)> (use-modules (guix cpio)) scheme@(guix-user)> (file->cpio-header "guix/guix.scm") $1 = #< magic: 460545 ino: 5031515288 mode: 33188 uid: 1003 gid: 998 nlink: 1 mtime: 1671460627 file-size: 1452 dev-maj: 0 dev-min: 24 rdev-maj: 0 rdev-min: 0 name-size: 14 checksum: 0> scheme@(guix-user)> (use-modules (rnrs io ports)) scheme@(guix-user)> (define header $1) scheme@(guix-user)> (call-with-values (lambda () (open-bytevector-output-port)) (lambda (port get-bv) (write-cpio-header header port) (let ((port (open-bytevector-input-port (get-bv)))) (equal? header (read-cpio-header port))))) $2 = #f scheme@(guix-user)> (call-with-values (lambda () (open-bytevector-output-port)) (lambda (port get-bv) (write-cpio-header header port) (let ((port (open-bytevector-input-port (get-bv)))) (equal? (peek "A" header) (peek "B" (read-cpio-header port)))))) ;;; ("A" #< magic: 460545 ino: 5031515288 mode: 33188 uid: 1003 gid: 998 nlink: 1 mtime: 1671460627 file-size: 1452 dev-maj: 0 dev-min: 24 rdev-maj: 0 rdev-min: 0 name-size: 14 checksum: 0>) ;;; ("B" #< magic: 460545 ino: 736547992 mode: 33188 uid: 1003 gid: 998 nlink: 1 mtime: 1671460627 file-size: 1452 dev-maj: 0 dev-min: 24 rdev-maj: 0 rdev-min: 0 name-size: 14 checksum: 0>) $3 = #f