* bug#22475: guix make check FAIL
@ 2016-01-27 15:53 rennes
2016-01-27 16:58 ` Mathieu Lirzin
2016-01-28 21:11 ` Alex Kost
0 siblings, 2 replies; 7+ messages in thread
From: rennes @ 2016-01-27 15:53 UTC (permalink / raw)
To: 22475
Hi,
i clone guix from git(in GuixSD), and when run 'make check' display FAIL
message. But the command './pre-inst-env' works.
These are the commands that run:
git clone git://git.savannah.gnu.org/guix.git
guix environment guix
./bootstrap
./configure --with-libgcrypt-prefix=$HOME/.guix-profile/
--localstatedir=/var
make
make check
this is the error message:
PASS: tests/base32.scm
PASS: tests/base64.scm
PASS: tests/cpio.scm
PASS: tests/hash.scm
PASS: tests/pk-crypto.scm
PASS: tests/pki.scm
PASS: tests/sets.scm
PASS: tests/gnu-maintenance.scm
PASS: tests/substitute.scm
PASS: tests/builders.scm
PASS: tests/derivations.scm
PASS: tests/ui.scm
PASS: tests/records.scm
PASS: tests/utils.scm
PASS: tests/build-utils.scm
PASS: tests/packages.scm
PASS: tests/snix.scm
PASS: tests/hackage.scm
PASS: tests/cran.scm
PASS: tests/elpa.scm
FAIL: tests/store.scm
PASS: tests/monads.scm
PASS: tests/gexp.scm
PASS: tests/nar.scm
PASS: tests/union.scm
PASS: tests/profiles.scm
PASS: tests/syscalls.scm
PASS: tests/gremlin.scm
FAIL: tests/lint.scm
PASS: tests/publish.scm
PASS: tests/scripts.scm
PASS: tests/size.scm
PASS: tests/graph.scm
PASS: tests/challenge.scm
PASS: tests/cve.scm
PASS: tests/file-systems.scm
PASS: tests/system.scm
PASS: tests/services.scm
PASS: tests/containers.scm
PASS: tests/import-utils.scm
PASS: tests/pypi.scm
PASS: tests/cpan.scm
PASS: tests/gem.scm
PASS: tests/guix-build.sh
FAIL: tests/guix-download.sh
PASS: tests/guix-hash.sh
PASS: tests/guix-package.sh
PASS: tests/guix-package-net.sh
PASS: tests/guix-system.sh
PASS: tests/guix-archive.sh
PASS: tests/guix-authenticate.sh
PASS: tests/guix-environment.sh
PASS: tests/guix-environment-container.sh
PASS: tests/guix-graph.sh
PASS: tests/guix-lint.sh
PASS: tests/guix-register.sh
PASS: tests/guix-gc.sh
PASS: tests/guix-daemon.sh
============================================================================
Testsuite summary for GNU Guix 0.9.1
============================================================================
# TOTAL: 58
# PASS: 55
# SKIP: 0
# XFAIL: 0
# FAIL: 3
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-guix@gnu.org
============================================================================
Makefile:3929: recipe for target 'test-suite.log' failed
make[4]: *** [test-suite.log] Error 1
make[4]: Leaving directory '/home/bob/guix'
Makefile:4035: recipe for target 'check-TESTS' failed
make[3]: *** [check-TESTS] Error 2
make[3]: Leaving directory '/home/bob/guix'
Makefile:4278: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/home/bob/guix'
Makefile:3815: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/bob/guix'
Makefile:4280: recipe for target 'check' failed
make: *** [check] Error 2
PASS: tests/base32.scm
PASS: tests/base64.scm
PASS: tests/cpio.scm
PASS: tests/hash.scm
PASS: tests/pk-crypto.scm
PASS: tests/pki.scm
PASS: tests/sets.scm
PASS: tests/gnu-maintenance.scm
PASS: tests/substitute.scm
PASS: tests/builders.scm
PASS: tests/derivations.scm
PASS: tests/ui.scm
PASS: tests/records.scm
PASS: tests/utils.scm
PASS: tests/build-utils.scm
PASS: tests/packages.scm
PASS: tests/snix.scm
PASS: tests/hackage.scm
PASS: tests/cran.scm
PASS: tests/elpa.scm
FAIL: tests/store.scm
PASS: tests/monads.scm
PASS: tests/gexp.scm
PASS: tests/nar.scm
PASS: tests/union.scm
PASS: tests/profiles.scm
PASS: tests/syscalls.scm
PASS: tests/gremlin.scm
FAIL: tests/lint.scm
PASS: tests/publish.scm
PASS: tests/scripts.scm
PASS: tests/size.scm
PASS: tests/graph.scm
PASS: tests/challenge.scm
PASS: tests/cve.scm
PASS: tests/file-systems.scm
PASS: tests/system.scm
PASS: tests/services.scm
PASS: tests/containers.scm
PASS: tests/import-utils.scm
PASS: tests/pypi.scm
PASS: tests/cpan.scm
PASS: tests/gem.scm
PASS: tests/guix-build.sh
FAIL: tests/guix-download.sh
PASS: tests/guix-hash.sh
PASS: tests/guix-package.sh
PASS: tests/guix-package-net.sh
PASS: tests/guix-system.sh
PASS: tests/guix-archive.sh
PASS: tests/guix-authenticate.sh
PASS: tests/guix-environment.sh
PASS: tests/guix-environment-container.sh
PASS: tests/guix-graph.sh
PASS: tests/guix-lint.sh
PASS: tests/guix-register.sh
PASS: tests/guix-gc.sh
PASS: tests/guix-daemon.sh
============================================================================
Testsuite summary for GNU Guix 0.9.1
============================================================================
# TOTAL: 58
# PASS: 55
# SKIP: 0
# XFAIL: 0
# FAIL: 3
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-guix@gnu.org
============================================================================
Makefile:3929: recipe for target 'test-suite.log' failed
make[4]: *** [test-suite.log] Error 1
make[4]: Leaving directory '/home/bob/guix'
Makefile:4035: recipe for target 'check-TESTS' failed
make[3]: *** [check-TESTS] Error 2
make[3]: Leaving directory '/home/bob/guix'
Makefile:4278: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/home/bob/guix'
Makefile:3815: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/bob/guix'
Makefile:4280: recipe for target 'check' failed
make: *** [check] Error 2
regards
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#22475: guix make check FAIL
2016-01-27 15:53 bug#22475: guix make check FAIL rennes
@ 2016-01-27 16:58 ` Mathieu Lirzin
2016-01-27 17:18 ` Andreas Enge
2016-01-27 17:27 ` rennes
2016-01-28 21:11 ` Alex Kost
1 sibling, 2 replies; 7+ messages in thread
From: Mathieu Lirzin @ 2016-01-27 16:58 UTC (permalink / raw)
To: rennes; +Cc: 22475
Hi,
rennes@openmailbox.org writes:
> i clone guix from git(in GuixSD), and when run 'make check' display
> FAIL message. But the command './pre-inst-env' works.
>
> These are the commands that run:
>
> git clone git://git.savannah.gnu.org/guix.git
> guix environment guix
> ./bootstrap
> ./configure --with-libgcrypt-prefix=$HOME/.guix-profile/
> --localstatedir=/var
> make
> make check
>
>
> this is the error message:
[...]
> FAIL: tests/store.scm
> FAIL: tests/lint.scm
> FAIL: tests/guix-download.sh
[...]
> ============================================================================
> Testsuite summary for GNU Guix 0.9.1
> ============================================================================
> # TOTAL: 58
> # PASS: 55
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 3
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See ./test-suite.log
> Please report to bug-guix@gnu.org
> ============================================================================
Can you provide the following files from the root of the repository?
- tests-suite.log
- store.log
- lint.log
Thanks,
--
Mathieu Lirzin
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#22475: guix make check FAIL
2016-01-27 16:58 ` Mathieu Lirzin
@ 2016-01-27 17:18 ` Andreas Enge
2016-01-27 17:27 ` rennes
1 sibling, 0 replies; 7+ messages in thread
From: Andreas Enge @ 2016-01-27 17:18 UTC (permalink / raw)
To: Mathieu Lirzin; +Cc: rennes, 22475
On Wed, Jan 27, 2016 at 05:58:46PM +0100, Mathieu Lirzin wrote:
> > FAIL: tests/store.scm
> > FAIL: tests/lint.scm
> > FAIL: tests/guix-download.sh
All three tests succeed for me, so this must be connected somehow to your
particular environment.
Andreas
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#22475: guix make check FAIL
2016-01-27 16:58 ` Mathieu Lirzin
2016-01-27 17:18 ` Andreas Enge
@ 2016-01-27 17:27 ` rennes
2016-01-31 9:21 ` Ludovic Courtès
1 sibling, 1 reply; 7+ messages in thread
From: rennes @ 2016-01-27 17:27 UTC (permalink / raw)
To: Mathieu Lirzin; +Cc: 22475
[-- Attachment #1: Type: text/plain, Size: 1317 bytes --]
Hi,
i attached files required.
regards
On 2016-01-27 17:58, Mathieu Lirzin wrote:
> Hi,
>
> rennes@openmailbox.org writes:
>
>> i clone guix from git(in GuixSD), and when run 'make check' display
>> FAIL message. But the command './pre-inst-env' works.
>>
>> These are the commands that run:
>>
>> git clone git://git.savannah.gnu.org/guix.git
>> guix environment guix
>> ./bootstrap
>> ./configure --with-libgcrypt-prefix=$HOME/.guix-profile/
>> --localstatedir=/var
>> make
>> make check
>>
>>
>> this is the error message:
> [...]
>> FAIL: tests/store.scm
>> FAIL: tests/lint.scm
>> FAIL: tests/guix-download.sh
> [...]
>> ============================================================================
>> Testsuite summary for GNU Guix 0.9.1
>> ============================================================================
>> # TOTAL: 58
>> # PASS: 55
>> # SKIP: 0
>> # XFAIL: 0
>> # FAIL: 3
>> # XPASS: 0
>> # ERROR: 0
>> ============================================================================
>> See ./test-suite.log
>> Please report to bug-guix@gnu.org
>> ============================================================================
>
> Can you provide the following files from the root of the repository?
>
> - tests-suite.log
> - store.log
> - lint.log
>
> Thanks,
>
> --
> Mathieu Lirzin
[-- Attachment #2: test-suite.log --]
[-- Type: text/plain, Size: 18699 bytes --]
======================================
GNU Guix 0.9.1: ./test-suite.log
======================================
# TOTAL: 58
# PASS: 55
# SKIP: 0
# XFAIL: 0
# FAIL: 3
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: tests/store
=================
accepted connection from pid 3433, user bob
accepted connection from pid 3433, user bob
accepted connection from pid 3433, user bob
random seed for tests: 1453914072
;;; note: source file ./srfi/srfi-64.scm
;;; newer than compiled /gnu/store/5i87jzm90nw8j692y7z1j2qfx16h6ni3-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
finding garbage collector roots...
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /home/bob/guix/nix/scripts/list-runtime-roots
;;; compiled /home/bob/guix/test-tmp/var/3424/cache-3424/guile/ccache/2.0-LE-8-2.0/home/bob/guix/nix/scripts/list-runtime-roots.go
removing stale temporary roots file `/home/bob/guix/test-tmp/var/3424/temproots/3441'
determining live/dead paths...
accepted connection from pid 3433, user bob
finding garbage collector roots...
determining live/dead paths...
finding garbage collector roots...
determining live/dead paths...
finding garbage collector roots...
deleting unused links...
accepted connection from pid 3433, user bob
finding garbage collector roots...
removing stale temporary roots file `/home/bob/guix/test-tmp/var/3424/temproots/3473'
deleting `/home/bob/guix/test-tmp/store/h4s3qibk12fxkgprpi0fbv0wwbm4nnhj-delete-me'
deleting `/home/bob/guix/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 19.65 MiB
accepted connection from pid 3433, user bob
finding garbage collector roots...
removing stale temporary roots file `/home/bob/guix/test-tmp/var/3424/temproots/3480'
deleting `/home/bob/guix/test-tmp/store/qbxdfzkscmajhhinvfci172jyk923js6-delete-me'
deleting `/home/bob/guix/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 19.65 MiB
@ build-started /home/bob/guix/test-tmp/store/m3v4x81ckg9rawdbkqqb4psn94x576z2-the-thing.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/m3//v4x81ckg9rawdbkqqb4psn94x576z2-the-thing.drv.bz2
@ build-succeeded /home/bob/guix/test-tmp/store/m3v4x81ckg9rawdbkqqb4psn94x576z2-the-thing.drv -
@ build-started /home/bob/guix/test-tmp/store/zyn8hdy2b78di969fm24j9393dlifc0v-the-thing.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/zy//n8hdy2b78di969fm24j9393dlifc0v-the-thing.drv.bz2
@ build-succeeded /home/bob/guix/test-tmp/store/zyn8hdy2b78di969fm24j9393dlifc0v-the-thing.drv -
@ build-started /home/bob/guix/test-tmp/store/fcvyrljisgr1vbmsbrjbxmxkylhvks9h-the-thing.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/fc//vyrljisgr1vbmsbrjbxmxkylhvks9h-the-thing.drv.bz2
@ build-succeeded /home/bob/guix/test-tmp/store/fcvyrljisgr1vbmsbrjbxmxkylhvks9h-the-thing.drv -
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
accepted connection from pid 3433, user bob
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
substitute: guix substitute: warning: while fetching http://does-not-exist/nix-cache-info: server is somewhat slow
substitute: guix substitute: warning: try `--no-substitutes' if the problem persists
substitute: Backtrace:
substitute: In ice-9/boot-9.scm:
substitute: 157: 19 [catch #t #<catch-closure 1d7f580> ...]
substitute: In unknown file:
substitute: ?: 18 [apply-smob/1 #<catch-closure 1d7f580>]
substitute: In ice-9/boot-9.scm:
substitute: 63: 17 [call-with-prompt prompt0 ...]
substitute: In ice-9/eval.scm:
substitute: 432: 16 [eval # #]
substitute: In ice-9/boot-9.scm:
substitute: 2401: 15 [save-module-excursion #<procedure 1d9d940 at ice-9/boot-9.scm:4045:3 ()>]
substitute: 4050: 14 [#<procedure 1d9d940 at ice-9/boot-9.scm:4045:3 ()>]
substitute: 1724: 13 [%start-stack load-stack ...]
substitute: 1729: 12 [#<procedure 1db4ea0 ()>]
substitute: In unknown file:
substitute: ?: 11 [primitive-load "/home/bob/guix/scripts/guix"]
substitute: In guix/ui.scm:
substitute: 1175: 10 [run-guix-command substitute "--query"]
substitute: In ice-9/boot-9.scm:
substitute: 157: 9 [catch getaddrinfo-error ...]
substitute: 157: 8 [catch srfi-34 #<procedure 2c708a0 at guix/ui.scm:411:2 ()> ...]
substitute: 157: 7 [catch system-error ...]
substitute: In guix/scripts/substitute.scm:
substitute: 946: 6 [#<procedure 2c708c0 at guix/scripts/substitute.scm:939:3 ()>]
substitute: 797: 5 [process-query "have /home/bob/guix/test-tmp/store/nmng5jh0yybqqm6j4jf3wva9rlxcfxhb-guile-bootstrap-2.0 " ...]
substitute: 633: 4 [lookup-narinfos/diverse # #]
substitute: 617: 3 [lookup-narinfos "http://does-not-exist" #]
substitute: 589: 2 [fetch-narinfos "http://does-not-exist" #]
substitute: 222: 1 [download-cache-info "http://does-not-exist"]
substitute: In unknown file:
substitute: ?: 0 [scm-error misc-error #f ...]
substitute:
substitute: ERROR: In procedure scm-error:
substitute: ERROR: unmatched line "<html><head><meta http-equiv=\"refresh\" content=\"0;url=http://searchguide.level3.com/search/?q=http://does-not-exist/nix-cache-info&t=0\"/></head><body><script>window.location=\"http://searchguide.level3.com/search/?q=\"+escape(window.location)+\"&r=\"+escape(document.referrer)+\"&t=0\";</script></body></html>"
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/bob/guix/test-tmp/store/hwl3dai5lm15vg2r6684lvcqgp679iaf-substitute-me /home/bob/guix/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /home/bob/guix/test-tmp/store/hwl3dai5lm15vg2r6684lvcqgp679iaf-substitute-me (1KiB installed)...
file:///.../example.nar 176B 0B/s 00:00 [####################] 100.0%
@ substituter-succeeded /home/bob/guix/test-tmp/store/hwl3dai5lm15vg2r6684lvcqgp679iaf-substitute-me
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/bob/guix/test-tmp/store/kyyxyqfvahi1fn2nqdslzgaaab9sygss-substitute-me /home/bob/guix/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /home/bob/guix/test-tmp/store/kyyxyqfvahi1fn2nqdslzgaaab9sygss-substitute-me (1KiB installed)...
file:///.../example.nar 176B 0B/s 00:00 [####################] 100.0%
@ substituter-succeeded /home/bob/guix/test-tmp/store/kyyxyqfvahi1fn2nqdslzgaaab9sygss-substitute-me
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/bob/guix/test-tmp/store/hidfbfxwglxmq7cyvyhzhkrcrd4mj1yf-corrupt-substitute /home/bob/guix/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /home/bob/guix/test-tmp/store/hidfbfxwglxmq7cyvyhzhkrcrd4mj1yf-corrupt-substitute (1KiB installed)...
file:///.../example.nar 128B 0B/s 00:00 [####################] 100.0%
@ substituter-failed /home/bob/guix/test-tmp/store/hidfbfxwglxmq7cyvyhzhkrcrd4mj1yf-corrupt-substitute 0 hash mismatch in downloaded path `/home/bob/guix/test-tmp/store/hidfbfxwglxmq7cyvyhzhkrcrd4mj1yf-corrupt-substitute': expected 0000000000000000000000000000000000000000000000000000000000000000, got b8f73a6eb280e63169b1de2a5b5e154676fe1ada685f1e5c7183cbb2c1dcd535
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
@ substituter-started /home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not /home/bob/guix/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not (1KiB installed)...
guix substitute: error: open-file: No such file or directory: "/home/bob/guix/test-tmp/var/3424/substituter-data/example.nar"
@ substituter-failed /home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not 256 fetching path `/home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not' failed with exit code 1
@ substituter-started /home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not /home/bob/guix/nix/scripts/substitute
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not (1KiB installed)...
guix substitute: error: open-file: No such file or directory: "/home/bob/guix/test-tmp/var/3424/substituter-data/example.nar"
@ substituter-failed /home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not 256 fetching path `/home/bob/guix/test-tmp/store/q56qh3v1rl8wj9rq0bm74w7lc9r2i3rn-substitute-me-not' failed with exit code 1
@ build-started /home/bob/guix/test-tmp/store/7hx9y64lciabmw3vz3jn01k8l9jgzs64-substitute-me-not.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/7h//x9y64lciabmw3vz3jn01k8l9jgzs64-substitute-me-not.drv.bz2
@ build-succeeded /home/bob/guix/test-tmp/store/7hx9y64lciabmw3vz3jn01k8l9jgzs64-substitute-me-not.drv -
finding garbage collector roots...
deleting unused links...
finding garbage collector roots...
deleting unused links...
finding garbage collector roots...
deleting unused links...
finding garbage collector roots...
deleting unused links...
@ build-started /home/bob/guix/test-tmp/store/ir9qcvkcgi69diylfgyx489mfif8zra0-bunch.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/ir//9qcvkcgi69diylfgyx489mfif8zra0-bunch.drv.bz2
@ build-succeeded /home/bob/guix/test-tmp/store/ir9qcvkcgi69diylfgyx489mfif8zra0-bunch.drv -
finding garbage collector roots...
deleting unused links...
finding garbage collector roots...
deleting unused links...
reading the Nix store...
reading the Nix store...
path `/home/bob/guix/test-tmp/store/phii884551vrqcxvlj6nfw3389204ggx-foo' disappeared, but it still has valid referrers!
reading the Nix store...
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
fetching path `/home/bob/guix/test-tmp/store/74qgba0svij37jfnx8lqrd0x55ppyrrf-corrupt'...
warning: authentication and authorization of substitutes disabled!
guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
Downloading /home/bob/guix/test-tmp/store/74qgba0svij37jfnx8lqrd0x55ppyrrf-corrupt (1KiB installed)...
file:///.../example.nar 176B 0B/s 00:00 [####################] 100.0%
reading the Nix store...
checking path existence...
checking hashes...
reading the Nix store...
checking path existence...
checking hashes...
path `/home/bob/guix/test-tmp/store/74qgba0svij37jfnx8lqrd0x55ppyrrf-corrupt' was modified! expected hash `1c4b66e1fcac86c73e74231eaf91ca18168a857e25583345880fd737f2667981', got `e09c480e2e93336cd3c45aa129f81a0d7ba56c410b849d7779a8136074413b3d'
finding garbage collector roots...
removing stale temporary roots file `/home/bob/guix/test-tmp/var/3424/temproots/3830'
deleting `/home/bob/guix/test-tmp/store/74qgba0svij37jfnx8lqrd0x55ppyrrf-corrupt'
deleting `/home/bob/guix/test-tmp/store/trash'
deleting unused links...
note: currently hard linking saves 19.65 MiB
accepted connection from pid 3433, user bob
substitute: warning: authentication and authorization of substitutes disabled!
substitute: guix substitute: warning: ACL for archive imports seems to be uninitialized, substitutes may be unavailable
building path(s) `/home/bob/guix/test-tmp/store/zwy70i89sggp86iahxn9gqpd4wshf7k0-non-deterministic'
checking path(s) `/home/bob/guix/test-tmp/store/zwy70i89sggp86iahxn9gqpd4wshf7k0-non-deterministic'
warning: rewriting hashes in `/home/bob/guix/test-tmp/store/zwy70i89sggp86iahxn9gqpd4wshf7k0-non-deterministic'; cross fingers
accepted connection from pid 3433, user bob
@ build-started /home/bob/guix/test-tmp/store/r26lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/r2//6lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv.bz2
@ build-started /home/bob/guix/test-tmp/store/r26lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv - x86_64-linux /home/bob/guix/test-tmp/var/log/guix/drvs/r2//6lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv.bz2
result of ?/home/bob/guix/test-tmp/store/r26lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv? differs from previous round; rejecting as non-deterministic
@ build-failed /home/bob/guix/test-tmp/store/r26lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv - 1 result of ?/home/bob/guix/test-tmp/store/r26lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv? differs from previous round; rejecting as non-deterministic
%%%% Starting test store (Writing full log to "store.log")
;;; ("/home/bob/guix/test-tmp/var/log/guix/drvs/zy/n8hdy2b78di969fm24j9393dlifc0v-the-thing.drv.bz2")
;;; ("/home/bob/guix/test-tmp/var/log/guix/drvs/fc/vyrljisgr1vbmsbrjbxmxkylhvks9h-the-thing.drv.bz2")
;;; (spi (#<<substitutable> path: "/home/bob/guix/test-tmp/store/nmng5jh0yybqqm6j4jf3wva9rlxcfxhb-guile-bootstrap-2.0" deriver: "/home/bob/guix/test-tmp/store/k5qb593w7bsg2hyazdfa0jssvfgg3hdn-guile-bootstrap-2.0.drv" refs: () dl-size: 0 nar-size: 1234>))
tests/store.scm:392: FAIL substitute query, alternating URLs
;;; (corrupt #<condition &nix-protocol-error [message: "some substitutes for the outputs of derivation `/home/bob/guix/test-tmp/store/j737r7h6l1mpy7nz4ff1yp602dj5ciy8-corrupt-substitute.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source " status: 1] 26e9bd0>)
;;; (c #<condition &nix-protocol-error [message: "signed hash doesn't match actual contents of imported archive; archive could be corrupt, or someone is trying to import a Trojan horse" status: 1] 29372a0>)
;;; (verify1 #t)
;;; (verify2 #f)
;;; (verify3 #t)
;;; (determinism-exception #<condition &nix-protocol-error [message: "derivation `/home/bob/guix/test-tmp/store/9h60dzz99lxb7lrsnfhhyb4jjrq7l56y-non-deterministic.drv' may not be deterministic: hash mismatch in output `/home/bob/guix/test-tmp/store/zwy70i89sggp86iahxn9gqpd4wshf7k0-non-deterministic'" status: 1] 290ba20>)
;;; (multiple-build #<condition &nix-protocol-error [message: "build of `/home/bob/guix/test-tmp/store/r26lhmh1p231lqmysl3crjzgr0njgyfc-non-deterministic.drv' failed" status: 1] 2a2bb70>)
# of expected passes 45
# of unexpected failures 1
./test-env: line 1: 3432 Terminated "/home/bob/guix/pre-inst-env" "/home/bob/guix/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
FAIL tests/store.scm (exit status: 1)
FAIL: tests/lint
================
accepted connection from pid 4253, user bob
random seed for tests: 1453910643
;;; note: source file ./srfi/srfi-64.scm
;;; newer than compiled /gnu/store/5i87jzm90nw8j692y7z1j2qfx16h6ni3-guile-2.0.11/lib/guile/2.0/ccache/srfi/srfi-64.go
%%%% Starting test lint (Writing full log to "lint.log")
tests/lint.scm:370: FAIL home-page: host not found
# of expected passes 45
# of unexpected failures 1
./test-env: line 1: 4252 Terminated "/home/bob/guix/pre-inst-env" "/home/bob/guix/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
FAIL tests/lint.scm (exit status: 1)
FAIL: tests/guix-download
=========================
+ guix download --version
guix download (GNU Guix) 0.9.1
Copyright (C) 2016 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ guix download http://does.not/exist
accepted connection from pid 5114, user bob
Starting download of /tmp/guix-file.qSJyZC
From http://does.not/exist...
exist 0B/s 00:00 | 0B transferred\r exist 1.1MiB/s 00:00 | 288B transferred
/home/bob/guix/test-tmp/store/ma3hazzz1y783d577p07w66cpn5qjsir-exist
0f5cx1vmxl5b0ihmgkpng0qs02zi1ip9q0nhhii67lsw2kpgf6c4
+ false
./test-env: line 1: 5099 Terminated "/home/bob/guix/pre-inst-env" "/home/bob/guix/guix-daemon" --disable-chroot --substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL"
FAIL tests/guix-download.sh (exit status: 1)
[-- Attachment #3: store.log --]
[-- Type: text/plain, Size: 30034 bytes --]
%%%% Starting test store
Group begin: store
Test begin:
test-name: "store-path-hash-part"
source-file: "tests/store.scm"
source-line: 51
source-form: (test-equal "store-path-hash-part" "283gqy39v3g9dxjy26rynl0zls82fmcg" (store-path-hash-part (string-append (%store-prefix) "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
Test end:
result-kind: pass
actual-value: "283gqy39v3g9dxjy26rynl0zls82fmcg"
expected-value: "283gqy39v3g9dxjy26rynl0zls82fmcg"
Test begin:
test-name: "store-path-hash-part #f"
source-file: "tests/store.scm"
source-line: 57
source-form: (test-equal "store-path-hash-part #f" #f (store-path-hash-part (string-append (%store-prefix) "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
Test end:
result-kind: pass
actual-value: #f
expected-value: #f
Test begin:
test-name: "store-path-package-name"
source-file: "tests/store.scm"
source-line: 63
source-form: (test-equal "store-path-package-name" "guile-2.0.7" (store-path-package-name (string-append (%store-prefix) "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")))
Test end:
result-kind: pass
actual-value: "guile-2.0.7"
expected-value: "guile-2.0.7"
Test begin:
test-name: "store-path-package-name #f"
source-file: "tests/store.scm"
source-line: 69
source-form: (test-equal "store-path-package-name #f" #f (store-path-package-name "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))
Test end:
result-kind: pass
actual-value: #f
expected-value: #f
Test begin:
test-name: "direct-store-path?"
source-file: "tests/store.scm"
source-line: 74
source-form: (test-assert "direct-store-path?" (and (direct-store-path? (string-append (%store-prefix) "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7")) (not (direct-store-path? (string-append (%store-prefix) "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7/bin/guile"))) (not (direct-store-path? (%store-prefix)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "valid-path? live"
source-file: "tests/store.scm"
source-line: 86
source-form: (test-assert "valid-path? live" (let ((p (add-text-to-store %store "hello" "hello, world"))) (valid-path? %store p)))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "valid-path? false"
source-file: "tests/store.scm"
source-line: 90
source-form: (test-assert "valid-path? false" (not (valid-path? %store (string-append (%store-prefix) "/" (make-string 32 #\e) "-foobar"))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "valid-path? error"
source-file: "tests/store.scm"
source-line: 95
source-form: (test-assert "valid-path? error" (with-store s (guard (c ((nix-protocol-error? c) #t)) (valid-path? s "foo") #f)))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "valid-path? recovery"
source-file: "tests/store.scm"
source-line: 101
source-form: (test-assert "valid-path? recovery" (with-store s (let-syntax ((true-if-error (syntax-rules () ((_ exp) (guard (c ((nix-protocol-error? c) #t)) exp #f))))) (and (true-if-error (valid-path? s "foo")) (true-if-error (valid-path? s "bar")) (true-if-error (valid-path? s "baz")) (true-if-error (valid-path? s "chbouib")) (valid-path? s (add-text-to-store s "valid" "yeah"))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "hash-part->path"
source-file: "tests/store.scm"
source-line: 118
source-form: (test-assert "hash-part->path" (let ((p (add-text-to-store %store "hello" "hello, world"))) (equal? (hash-part->path %store (store-path-hash-part p)) p)))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "dead-paths"
source-file: "tests/store.scm"
source-line: 123
source-form: (test-assert "dead-paths" (let ((p (add-text-to-store %store "random-text" (random-text)))) (->bool (member p (dead-paths %store)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "permanent root"
source-file: "tests/store.scm"
source-line: 144
source-form: (test-assert "permanent root" (let* ((p (with-store store (let ((p (add-text-to-store store "random-text" (random-text)))) (add-permanent-root p) (add-permanent-root p) p)))) (and (member p (live-paths %store)) (begin (remove-permanent-root p) (->bool (member p (dead-paths %store)))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "dead path can be explicitly collected"
source-file: "tests/store.scm"
source-line: 156
source-form: (test-assert "dead path can be explicitly collected" (let ((p (add-text-to-store %store "random-text" (random-text) (quote ())))) (let-values (((paths freed) (delete-paths %store (list p)))) (and (equal? paths (list p)) (> freed 0) (not (file-exists? p))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "add-text-to-store vs. delete-paths"
source-file: "tests/store.scm"
source-line: 164
source-form: (test-assert "add-text-to-store vs. delete-paths" (with-store store (let* ((text (random-text)) (path (add-text-to-store store "delete-me" text)) (deleted (delete-paths store (list path))) (path2 (add-text-to-store store "delete-me" text))) (and (string=? path path2) (equal? deleted (list path)) (valid-path? store path) (file-exists? path)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "add-to-store vs. delete-paths"
source-file: "tests/store.scm"
source-line: 177
source-form: (test-assert "add-to-store vs. delete-paths" (with-store store (let* ((file (search-path %load-path "guix.scm")) (path (add-to-store store "delete-me" #t "sha256" file)) (deleted (delete-paths store (list path))) (path2 (add-to-store store "delete-me" #t "sha256" file))) (and (string=? path path2) (equal? deleted (list path)) (valid-path? store path) (file-exists? path)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "references"
source-file: "tests/store.scm"
source-line: 189
source-form: (test-assert "references" (let* ((t1 (add-text-to-store %store "random1" (random-text))) (t2 (add-text-to-store %store "random2" (random-text) (list t1)))) (and (equal? (list t1) (references %store t2)) (equal? (list t2) (referrers %store t1)) (null? (references %store t1)) (null? (referrers %store t2)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "requisites"
source-file: "tests/store.scm"
source-line: 199
source-form: (test-assert "requisites" (let* ((t1 (add-text-to-store %store "random1" (random-text) (quote ()))) (t2 (add-text-to-store %store "random2" (random-text) (list t1))) (t3 (add-text-to-store %store "random3" (random-text) (list t2))) (t4 (add-text-to-store %store "random4" (random-text) (list t1 t3)))) (define (same? x y) (and (= (length x) (length y)) (lset= equal? x y))) (and (same? (requisites %store t1) (list t1)) (same? (requisites %store t2) (list t1 t2)) (same? (requisites %store t3) (list t1 t2 t3)) (same? (requisites %store t4) (list t1 t2 t3 t4)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "derivers"
source-file: "tests/store.scm"
source-line: 217
source-form: (test-assert "derivers" (let* ((b (add-text-to-store %store "build" "echo $foo > $out" (quote ()))) (s (add-to-store %store "bash" #t "sha256" (search-bootstrap-binary "bash" (%current-system)))) (d (derivation %store "the-thing" s (quasiquote ("-e" (unquote b))) #:env-vars (quasiquote (("foo" unquote (random-text)))) #:inputs (quasiquote (((unquote b)) ((unquote s)))))) (o (derivation->output-path d))) (and (build-derivations %store (list d)) (equal? (query-derivation-outputs %store (derivation-file-name d)) (list o)) (equal? (valid-derivers %store o) (list (derivation-file-name d))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "topologically-sorted, one item"
source-file: "tests/store.scm"
source-line: 233
source-form: (test-assert "topologically-sorted, one item" (let* ((a (add-text-to-store %store "a" "a")) (b (add-text-to-store %store "b" "b" (list a))) (c (add-text-to-store %store "c" "c" (list b))) (d (add-text-to-store %store "d" "d" (list c))) (s (topologically-sorted %store (list d)))) (equal? s (list a b c d))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "topologically-sorted, several items"
source-file: "tests/store.scm"
source-line: 241
source-form: (test-assert "topologically-sorted, several items" (let* ((a (add-text-to-store %store "a" "a")) (b (add-text-to-store %store "b" "b" (list a))) (c (add-text-to-store %store "c" "c" (list b))) (d (add-text-to-store %store "d" "d" (list c))) (s1 (topologically-sorted %store (list d a c b))) (s2 (topologically-sorted %store (list b d c a b d)))) (equal? s1 s2 (list a b c d))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "topologically-sorted, more difficult"
source-file: "tests/store.scm"
source-line: 250
source-form: (test-assert "topologically-sorted, more difficult" (let* ((a (add-text-to-store %store "a" "a")) (b (add-text-to-store %store "b" "b" (list a))) (c (add-text-to-store %store "c" "c" (list b))) (d (add-text-to-store %store "d" "d" (list c))) (w (add-text-to-store %store "w" "w")) (x (add-text-to-store %store "x" "x" (list w))) (y (add-text-to-store %store "y" "y" (list x d))) (s1 (topologically-sorted %store (list y))) (s2 (topologically-sorted %store (list c y))) (s3 (topologically-sorted %store (cons y (references %store y))))) (let* ((x-then-d? (equal? (references %store y) (list x d)))) (and (equal? s1 (if x-then-d? (list w x a b c d y) (list a b c d w x y))) (equal? s2 (if x-then-d? (list a b c w x d y) (list a b c d w x y))) (lset= string=? s1 s3)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "current-build-output-port, UTF-8"
source-file: "tests/store.scm"
source-line: 274
source-form: (test-assert "current-build-output-port, UTF-8" (string-contains (with-fluids ((%default-port-encoding "UTF-8")) (call-with-output-string (lambda (port) (parameterize ((current-build-output-port port)) (let* ((s "Here\u2019s a Greek letter: \u03bb.") (d (build-expression->derivation %store "foo" (quasiquote (display (unquote s))) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system))))) (guard (c ((nix-protocol-error? c) #t)) (build-derivations %store (list d)))))))) "Here\u2019s a Greek letter: \u03bb."))
Test end:
result-kind: pass
actual-value: 191
Test begin:
test-name: "current-build-output-port, UTF-8 + garbage"
source-file: "tests/store.scm"
source-line: 290
source-form: (test-assert "current-build-output-port, UTF-8 + garbage" (string-contains (with-fluids ((%default-port-encoding "UTF-8")) (call-with-output-string (lambda (port) (parameterize ((current-build-output-port port)) (let ((d (build-expression->derivation %store "foo" (quasiquote (begin (use-modules (rnrs io ports)) (display "garbage: ") (put-bytevector (current-output-port) #vu8(128)) (display "lambda: \u03bb\n"))) #:guile-for-build (package-derivation %store %bootstrap-guile)))) (guard (c ((nix-protocol-error? c) #t)) (build-derivations %store (list d)))))))) "garbage: ?lambda: \u03bb"))
Test end:
result-kind: pass
actual-value: 191
Test begin:
test-name: "log-file, derivation"
source-file: "tests/store.scm"
source-line: 310
source-form: (test-assert "log-file, derivation" (let* ((b (add-text-to-store %store "build" "echo $foo > $out" (quote ()))) (s (add-to-store %store "bash" #t "sha256" (search-bootstrap-binary "bash" (%current-system)))) (d (derivation %store "the-thing" s (quasiquote ("-e" (unquote b))) #:env-vars (quasiquote (("foo" unquote (random-text)))) #:inputs (quasiquote (((unquote b)) ((unquote s))))))) (and (build-derivations %store (list d)) (file-exists? (pk (log-file %store (derivation-file-name d)))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "log-file, output file name"
source-file: "tests/store.scm"
source-line: 322
source-form: (test-assert "log-file, output file name" (let* ((b (add-text-to-store %store "build" "echo $foo > $out" (quote ()))) (s (add-to-store %store "bash" #t "sha256" (search-bootstrap-binary "bash" (%current-system)))) (d (derivation %store "the-thing" s (quasiquote ("-e" (unquote b))) #:env-vars (quasiquote (("foo" unquote (random-text)))) #:inputs (quasiquote (((unquote b)) ((unquote s)))))) (o (derivation->output-path d))) (and (build-derivations %store (list d)) (file-exists? (pk (log-file %store o))) (string=? (log-file %store (derivation-file-name d)) (log-file %store o)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "no substitutes"
source-file: "tests/store.scm"
source-line: 337
source-form: (test-assert "no substitutes" (with-store s (let* ((d1 (package-derivation s %bootstrap-guile (%current-system))) (d2 (package-derivation s %bootstrap-glibc (%current-system))) (o (map derivation->output-path (list d1 d2)))) (set-build-options s #:use-substitutes? #f) (and (not (has-substitutes? s (derivation-file-name d1))) (not (has-substitutes? s (derivation-file-name d2))) (null? (substitutable-paths s o)) (null? (substitutable-path-info s o))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "build-things with output path"
source-file: "tests/store.scm"
source-line: 348
source-form: (test-assert "build-things with output path" (with-store s (let* ((c (random-text)) (d (build-expression->derivation s "substitute-me" (quasiquote (call-with-output-file %output (lambda (p) (display (unquote c) p)))) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system)))) (o (derivation->output-path d))) (set-build-options s #:use-substitutes? #f) (build-things s (list o)) (not (valid-path? s o)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "substitute query"
source-file: "tests/store.scm"
source-line: 368
source-form: (test-assert "substitute query" (with-store s (let* ((d (package-derivation s %bootstrap-guile (%current-system))) (o (derivation->output-path d))) (with-derivation-narinfo d (false-if-exception (delete-file-recursively (string-append (getenv "XDG_CACHE_HOME") "/guix/substitute"))) (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls)) (and (has-substitutes? s o) (equal? (list o) (substitutable-paths s (list o))) (match (pk (quote spi) (substitutable-path-info s (list o))) (((? substitutable? s)) (and (string=? (substitutable-deriver s) (derivation-file-name d)) (null? (substitutable-references s)) (equal? (substitutable-nar-size s) 1234)))))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "substitute query, alternating URLs"
source-file: "tests/store.scm"
source-line: 392
source-form: (test-assert "substitute query, alternating URLs" (let* ((d (with-store s (package-derivation s %bootstrap-guile (%current-system)))) (o (derivation->output-path d))) (with-derivation-narinfo d (false-if-exception (delete-file-recursively (string-append (getenv "XDG_CACHE_HOME") "/guix/substitute"))) (and (with-store s (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls)) (has-substitutes? s o)) (with-store s (set-build-options s #:use-substitutes? #t #:substitute-urls (list "http://does-not-exist")) (not (has-substitutes? s o))) (with-store s (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls)) (has-substitutes? s o))))))
Test end:
result-kind: fail
actual-value: #f
actual-error: (srfi-34 #<condition &nix-protocol-error [message: "substituter `substitute' died unexpectedly" status: 1] 2682de0>)
Test begin:
test-name: "substitute"
source-file: "tests/store.scm"
source-line: 420
source-form: (test-assert "substitute" (with-store s (let* ((c (random-text)) (d (build-expression->derivation s "substitute-me" (quasiquote (call-with-output-file %output (lambda (p) (exit 1) (display (unquote c) p)))) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system)))) (o (derivation->output-path d))) (with-derivation-substitute d c (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls)) (and (has-substitutes? s o) (build-derivations s (list d)) (equal? c (call-with-input-file o get-string-all)))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "substitute + build-things with output path"
source-file: "tests/store.scm"
source-line: 439
source-form: (test-assert "substitute + build-things with output path" (with-store s (let* ((c (random-text)) (d (build-expression->derivation s "substitute-me" (quasiquote (call-with-output-file %output (lambda (p) (exit 1) (display (unquote c) p)))) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system)))) (o (derivation->output-path d))) (with-derivation-substitute d c (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls)) (and (has-substitutes? s o) (build-things s (list o)) (valid-path? s o) (equal? c (call-with-input-file o get-string-all)))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "substitute, corrupt output hash"
source-file: "tests/store.scm"
source-line: 459
source-form: (test-assert "substitute, corrupt output hash" (with-store s (let* ((c "hello, world") (d (build-expression->derivation s "corrupt-substitute" (quasiquote (mkdir %output)) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system)))) (o (derivation->output-path d))) (with-derivation-substitute d c (sha256 => (make-bytevector 32 0)) (set-build-options s #:use-substitutes? #t #:fallback? #f #:substitute-urls (%test-substitute-urls)) (and (has-substitutes? s o) (guard (c ((nix-protocol-error? c) (pk (quote corrupt) c) (not (zero? (nix-protocol-error-status c))))) (build-derivations s (list d)) #f))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "substitute --fallback"
source-file: "tests/store.scm"
source-line: 489
source-form: (test-assert "substitute --fallback" (with-store s (let* ((t (random-text)) (d (build-expression->derivation s "substitute-me-not" (quasiquote (call-with-output-file %output (lambda (p) (display (unquote t) p)))) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system)))) (o (derivation->output-path d))) (with-derivation-narinfo d (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls)) (and (has-substitutes? s o) (guard (c ((nix-protocol-error? c) (set-build-options s #:use-substitutes? #t #:substitute-urls (%test-substitute-urls) #:fallback? #t) (and (build-derivations s (list d)) (equal? t (call-with-input-file o get-string-all))))) (build-derivations s (list d)) #f))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "export/import several paths"
source-file: "tests/store.scm"
source-line: 521
source-form: (test-assert "export/import several paths" (let* ((texts (unfold (cut >= <> 10) (lambda _ (random-text)) #{1+}# 0)) (files (map (cut add-text-to-store %store "text" <>) texts)) (dump (call-with-bytevector-output-port (cut export-paths %store files <>)))) (delete-paths %store files) (and (every (negate file-exists?) files) (let* ((source (open-bytevector-input-port dump)) (imported (import-paths %store source))) (and (equal? imported files) (every file-exists? files) (equal? texts (map (lambda (file) (call-with-input-file file get-string-all)) files)))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "export/import paths, ensure topological order"
source-file: "tests/store.scm"
source-line: 541
source-form: (test-assert "export/import paths, ensure topological order" (let* ((file0 (add-text-to-store %store "baz" (random-text))) (file1 (add-text-to-store %store "foo" (random-text) (list file0))) (file2 (add-text-to-store %store "bar" (random-text) (list file1))) (files (list file1 file2)) (dump1 (call-with-bytevector-output-port (cute export-paths %store (list file1 file2) <>))) (dump2 (call-with-bytevector-output-port (cute export-paths %store (list file2 file1) <>)))) (delete-paths %store files) (and (every (negate file-exists?) files) (bytevector=? dump1 dump2) (let* ((source (open-bytevector-input-port dump1)) (imported (import-paths %store source))) (and (equal? imported (list file1 file2)) (every file-exists? files) (equal? (list file0) (references %store file1)) (equal? (list file1) (references %store file2)))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "export/import incomplete"
source-file: "tests/store.scm"
source-line: 563
source-form: (test-assert "export/import incomplete" (let* ((file0 (add-text-to-store %store "baz" (random-text))) (file1 (add-text-to-store %store "foo" (random-text) (list file0))) (file2 (add-text-to-store %store "bar" (random-text) (list file1))) (dump (call-with-bytevector-output-port (cute export-paths %store (list file2) <>)))) (delete-paths %store (list file0 file1 file2)) (guard (c ((nix-protocol-error? c) (and (not (zero? (nix-protocol-error-status c))) (string-contains (nix-protocol-error-message c) "not valid")))) (import-paths %store (open-bytevector-input-port dump)))))
Test end:
result-kind: pass
actual-value: 77
Test begin:
test-name: "export/import recursive"
source-file: "tests/store.scm"
source-line: 580
source-form: (test-assert "export/import recursive" (let* ((file0 (add-text-to-store %store "baz" (random-text))) (file1 (add-text-to-store %store "foo" (random-text) (list file0))) (file2 (add-text-to-store %store "bar" (random-text) (list file1))) (dump (call-with-bytevector-output-port (cute export-paths %store (list file2) <> #:recursive? #t)))) (delete-paths %store (list file0 file1 file2)) (let ((imported (import-paths %store (open-bytevector-input-port dump)))) (and (equal? imported (list file0 file1 file2)) (every file-exists? (list file0 file1 file2)) (equal? (list file0) (references %store file1)) (equal? (list file1) (references %store file2))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "write-file & export-path yield the same result"
source-file: "tests/store.scm"
source-line: 596
source-form: (test-assert "write-file & export-path yield the same result" (run-with-store %store (mlet* %store-monad ((drv1 (package->derivation %bootstrap-guile)) (out1 -> (derivation->output-path drv1)) (data -> (unfold (cut >= <> 26) (lambda (i) (random-bytevector 128)) #{1+}# 0)) (build -> (gexp (begin (use-modules (rnrs io ports) (srfi srfi-1)) (let () (define letters (map (lambda (i) (string (integer->char (+ i (char->integer #\a))))) (iota 26))) (define (touch file data) (call-with-output-file file (lambda (port) (put-bytevector port data)))) (mkdir (ungexp output)) (chdir (ungexp output)) (for-each touch (append (drop letters 10) (take letters 10)) (list (ungexp-splicing data))) #t)))) (drv2 (gexp->derivation "bunch" build)) (out2 -> (derivation->output-path drv2)) (item-info -> (store-lift query-path-info))) (mbegin %store-monad (built-derivations (list drv1 drv2)) (foldm %store-monad (lambda (item result) (define ref-hash (let-values (((port get) (open-sha256-port))) (write-file item port) (close-port port) (get))) (>>= (item-info item) (lambda (info) (return (and result (bytevector=? (path-info-hash info) ref-hash)))))) #t (list out1 out2)))) #:guile-for-build (%guile-for-build)))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "import corrupt path"
source-file: "tests/store.scm"
source-line: 662
source-form: (test-assert "import corrupt path" (let* ((text (random-text)) (file (add-text-to-store %store "text" text)) (dump (call-with-bytevector-output-port (cut export-paths %store (list file) <>)))) (delete-paths %store (list file)) (let* ((index (quotient (bytevector-length dump) 4)) (byte (bytevector-u8-ref dump index))) (bytevector-u8-set! dump index (logxor 255 byte))) (and (not (file-exists? file)) (guard (c ((nix-protocol-error? c) (pk (quote c) c) (and (not (zero? (nix-protocol-error-status c))) (string-contains (nix-protocol-error-message c) "corrupt")))) (let* ((source (open-bytevector-input-port dump)) (imported (import-paths %store source))) (pk (quote corrupt-imported) imported) #f)))))
Test end:
result-kind: pass
actual-value: 80
Test begin:
test-name: "register-path"
source-file: "tests/store.scm"
source-line: 685
source-form: (test-assert "register-path" (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f) "-fake"))) (when (valid-path? %store file) (delete-paths %store (list file))) (false-if-exception (delete-file file)) (let ((ref (add-text-to-store %store "ref-of-fake" (random-text))) (drv (string-append file ".drv"))) (call-with-output-file file (cut display "This is a fake store item.\n" <>)) (register-path file #:references (list ref) #:deriver drv) (and (valid-path? %store file) (equal? (references %store file) (list ref)) (null? (valid-derivers %store file)) (null? (referrers %store file))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "verify-store"
source-file: "tests/store.scm"
source-line: 705
source-form: (test-assert "verify-store" (let* ((text (random-text)) (file1 (add-text-to-store %store "foo" text)) (file2 (add-text-to-store %store "bar" (random-text) (list file1)))) (and (pk (quote verify1) (verify-store %store)) (begin (delete-file file1) (not (pk (quote verify2) (verify-store %store)))) (begin (call-with-output-file file1 (lambda (port) (display text port))) (pk (quote verify3) (verify-store %store))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "verify-store + check-contents"
source-file: "tests/store.scm"
source-line: 722
source-form: (test-assert "verify-store + check-contents" (with-store s (let* ((text (random-text)) (drv (build-expression->derivation s "corrupt" (quasiquote (let ((out (assoc-ref %outputs "out"))) (call-with-output-file out (lambda (port) (display (unquote text) port))) #t)) #:guile-for-build (package-derivation s %bootstrap-guile (%current-system)))) (file (derivation->output-path drv))) (with-derivation-substitute drv text (and (build-derivations s (list drv)) (verify-store s #:check-contents? #t) (begin (chmod file 420) (call-with-output-file file (lambda (port) (display "corrupt!" port))) #t) (not (verify-store s #:check-contents? #t)) (delete-paths s (list file)))))))
Test end:
result-kind: pass
actual-value: ("/home/bob/guix/test-tmp/store/74qgba0svij37jfnx8lqrd0x55ppyrrf-corrupt")
Test begin:
test-name: "build-things, check mode"
source-file: "tests/store.scm"
source-line: 759
source-form: (test-assert "build-things, check mode" (with-store store (call-with-temporary-output-file (lambda (entropy entropy-port) (write (random-text) entropy-port) (force-output entropy-port) (let* ((drv (build-expression->derivation store "non-deterministic" (quasiquote (begin (use-modules (rnrs io ports)) (let ((out (assoc-ref %outputs "out"))) (call-with-output-file out (lambda (port) (display (call-with-input-file (unquote entropy) get-string-all) port))) #t))) #:guile-for-build (package-derivation store %bootstrap-guile (%current-system)))) (file (derivation->output-path drv))) (and (build-things store (list (derivation-file-name drv))) (begin (write (random-text) entropy-port) (force-output entropy-port) (guard (c ((nix-protocol-error? c) (pk (quote determinism-exception) c) (and (not (zero? (nix-protocol-error-status c))) (string-contains (nix-protocol-error-message c) "deterministic")))) (build-things store (list (derivation-file-name drv)) (build-mode check)) #f))))))))
Test end:
result-kind: pass
actual-value: 79
Test begin:
test-name: "build multiple times"
source-file: "tests/store.scm"
source-line: 796
source-form: (test-assert "build multiple times" (with-store store (set-build-options store #:rounds 2 #:use-substitutes? #f) (call-with-temporary-output-file (lambda (entropy entropy-port) (write (random-text) entropy-port) (force-output entropy-port) (let* ((drv (build-expression->derivation store "non-deterministic" (quasiquote (begin (use-modules (rnrs io ports)) (let ((out (assoc-ref %outputs "out"))) (call-with-output-file out (lambda (port) (display (call-with-input-file (unquote entropy) get-string-all) port) (call-with-output-file (unquote entropy) (lambda (port) (write (quote foobar) port))))) #t))) #:guile-for-build (package-derivation store %bootstrap-guile (%current-system)))) (file (derivation->output-path drv))) (guard (c ((nix-protocol-error? c) (pk (quote multiple-build) c) (and (not (zero? (nix-protocol-error-status c))) (string-contains (nix-protocol-error-message c) "deterministic")))) (current-build-output-port (current-error-port)) (build-things store (list (derivation-file-name drv))) #f))))))
Test end:
result-kind: pass
actual-value: 77
Test begin:
test-name: "store-lower"
source-file: "tests/store.scm"
source-line: 834
source-form: (test-equal "store-lower" "Lowered." (let* ((add (store-lower text-file)) (file (add %store "foo" "Lowered."))) (call-with-input-file file get-string-all)))
Test end:
result-kind: pass
actual-value: "Lowered."
expected-value: "Lowered."
Test begin:
test-name: "query-path-info"
source-file: "tests/store.scm"
source-line: 840
source-form: (test-assert "query-path-info" (let* ((ref (add-text-to-store %store "ref" "foo")) (item (add-text-to-store %store "item" "bar" (list ref))) (info (query-path-info %store item))) (and (equal? (path-info-references info) (list ref)) (equal? (path-info-hash info) (sha256 (string->utf8 (call-with-output-string (cut write-file item <>))))))))
Test end:
result-kind: pass
actual-value: #t
Group end: store
# of expected passes 45
# of unexpected failures 1
[-- Attachment #4: lint.log --]
[-- Type: text/plain, Size: 18583 bytes --]
%%%% Starting test lint
Group begin: lint
Test begin:
test-name: "description: not empty"
source-file: "tests/lint.scm"
source-line: 141
source-form: (test-assert "description: not empty" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (description "")))) (check-description-style pkg))) "description should not be empty")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "description: valid Texinfo markup"
source-file: "tests/lint.scm"
source-line: 149
source-form: (test-assert "description: valid Texinfo markup" (->bool (string-contains (with-warnings (check-description-style (dummy-package "x" (description "f{oo}b@r")))) "Texinfo markup in description is invalid")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "description: does not start with an upper-case letter"
source-file: "tests/lint.scm"
source-line: 156
source-form: (test-assert "description: does not start with an upper-case letter" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (description "bad description.")))) (check-description-style pkg))) "description should start with an upper-case letter")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "description: may start with a digit"
source-file: "tests/lint.scm"
source-line: 164
source-form: (test-assert "description: may start with a digit" (string-null? (with-warnings (let ((pkg (dummy-package "x" (description "2-component library.")))) (check-description-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "description: may start with lower-case package name"
source-file: "tests/lint.scm"
source-line: 171
source-form: (test-assert "description: may start with lower-case package name" (string-null? (with-warnings (let ((pkg (dummy-package "x" (description "x is a dummy package.")))) (check-description-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "description: two spaces after end of sentence"
source-file: "tests/lint.scm"
source-line: 178
source-form: (test-assert "description: two spaces after end of sentence" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (description "Bad. Quite bad.")))) (check-description-style pkg))) "sentences in description should be followed by two spaces")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "description: end-of-sentence detection with abbreviations"
source-file: "tests/lint.scm"
source-line: 186
source-form: (test-assert "description: end-of-sentence detection with abbreviations" (string-null? (with-warnings (let ((pkg (dummy-package "x" (description "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD).")))) (check-description-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: not empty"
source-file: "tests/lint.scm"
source-line: 194
source-form: (test-assert "synopsis: not empty" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "")))) (check-synopsis-style pkg))) "synopsis should not be empty")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: does not start with an upper-case letter"
source-file: "tests/lint.scm"
source-line: 202
source-form: (test-assert "synopsis: does not start with an upper-case letter" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "bad synopsis.")))) (check-synopsis-style pkg))) "synopsis should start with an upper-case letter")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: may start with a digit"
source-file: "tests/lint.scm"
source-line: 210
source-form: (test-assert "synopsis: may start with a digit" (string-null? (with-warnings (let ((pkg (dummy-package "x" (synopsis "5-dimensional frobnicator")))) (check-synopsis-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: ends with a period"
source-file: "tests/lint.scm"
source-line: 217
source-form: (test-assert "synopsis: ends with a period" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "Bad synopsis.")))) (check-synopsis-style pkg))) "no period allowed at the end of the synopsis")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: ends with 'etc.'"
source-file: "tests/lint.scm"
source-line: 225
source-form: (test-assert "synopsis: ends with 'etc.'" (string-null? (with-warnings (let ((pkg (dummy-package "x" (synopsis "Foo, bar, etc.")))) (check-synopsis-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: starts with 'A'"
source-file: "tests/lint.scm"
source-line: 231
source-form: (test-assert "synopsis: starts with 'A'" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "A bad synop\u015dis")))) (check-synopsis-style pkg))) "no article allowed at the beginning of the synopsis")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: starts with 'An'"
source-file: "tests/lint.scm"
source-line: 239
source-form: (test-assert "synopsis: starts with 'An'" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "An awful synopsis")))) (check-synopsis-style pkg))) "no article allowed at the beginning of the synopsis")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: starts with 'a'"
source-file: "tests/lint.scm"
source-line: 247
source-form: (test-assert "synopsis: starts with 'a'" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "a bad synopsis")))) (check-synopsis-style pkg))) "no article allowed at the beginning of the synopsis")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: starts with 'an'"
source-file: "tests/lint.scm"
source-line: 255
source-form: (test-assert "synopsis: starts with 'an'" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis "an awful synopsis")))) (check-synopsis-style pkg))) "no article allowed at the beginning of the synopsis")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: too long"
source-file: "tests/lint.scm"
source-line: 263
source-form: (test-assert "synopsis: too long" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (synopsis (make-string 80 #\x))))) (check-synopsis-style pkg))) "synopsis should be less than 80 characters long")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: start with package name"
source-file: "tests/lint.scm"
source-line: 271
source-form: (test-assert "synopsis: start with package name" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (name "foo") (synopsis "foo, a nice package")))) (check-synopsis-style pkg))) "synopsis should not start with the package name")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: start with package name prefix"
source-file: "tests/lint.scm"
source-line: 280
source-form: (test-assert "synopsis: start with package name prefix" (string-null? (with-warnings (let ((pkg (dummy-package "arb" (synopsis "Arbitrary precision")))) (check-synopsis-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "synopsis: start with abbreviation"
source-file: "tests/lint.scm"
source-line: 287
source-form: (test-assert "synopsis: start with abbreviation" (string-null? (with-warnings (let ((pkg (dummy-package "uucp" (synopsis "UUCP implementation") (description "Imagine this is Taylor UUCP.")))) (check-synopsis-style pkg)))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "inputs: pkg-config is probably a native input"
source-file: "tests/lint.scm"
source-line: 296
source-form: (test-assert "inputs: pkg-config is probably a native input" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (inputs (quasiquote (("pkg-config" (unquote pkg-config)))))))) (check-inputs-should-be-native pkg))) "pkg-config should probably be a native input")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "patches: file names"
source-file: "tests/lint.scm"
source-line: 305
source-form: (test-assert "patches: file names" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (source (origin (method url-fetch) (uri "someurl") (sha256 "somesha") (patches (list "/path/to/y.patch"))))))) (check-patch-file-names pkg))) "file names of patches should start with the package name")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "patches: not found"
source-file: "tests/lint.scm"
source-line: 319
source-form: (test-assert "patches: not found" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (source (origin (method url-fetch) (uri "someurl") (sha256 "somesha") (patches (list (search-patch "this-patch-does-not-exist!")))))))) (check-patch-file-names pkg))) "patch not found")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "derivation: invalid arguments"
source-file: "tests/lint.scm"
source-line: 334
source-form: (test-assert "derivation: invalid arguments" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (arguments (quote (#:imported-modules (invalid-module))))))) (check-derivation pkg))) "failed to create derivation")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "license: invalid license"
source-file: "tests/lint.scm"
source-line: 344
source-form: (test-assert "license: invalid license" (string-contains (with-warnings (check-license (dummy-package "x" (license #f)))) "invalid license"))
Test end:
result-kind: pass
actual-value: 28
Test begin:
test-name: "home-page: wrong home-page"
source-file: "tests/lint.scm"
source-line: 350
source-form: (test-assert "home-page: wrong home-page" (->bool (string-contains (with-warnings (let ((pkg (package (inherit (dummy-package "x")) (home-page #f)))) (check-home-page pkg))) "invalid")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "home-page: invalid URI"
source-file: "tests/lint.scm"
source-line: 360
source-form: (test-assert "home-page: invalid URI" (->bool (string-contains (with-warnings (let ((pkg (package (inherit (dummy-package "x")) (home-page "foobar")))) (check-home-page pkg))) "invalid home page URL")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "home-page: host not found"
source-file: "tests/lint.scm"
source-line: 370
source-form: (test-assert "home-page: host not found" (->bool (string-contains (with-warnings (let ((pkg (package (inherit (dummy-package "x")) (home-page "http://does-not-exist")))) (check-home-page pkg))) "domain not found")))
Test end:
result-kind: fail
actual-value: #f
Test begin:
test-name: "home-page: Connection refused"
source-file: "tests/lint.scm"
source-line: 381
source-form: (test-assert "home-page: Connection refused" (->bool (string-contains (with-warnings (let ((pkg (package (inherit (dummy-package "x")) (home-page %local-url)))) (check-home-page pkg))) "Connection refused")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "home-page: 200"
source-file: "tests/lint.scm"
source-line: 392
source-form: (test-equal "home-page: 200" "" (with-warnings (with-http-server 200 (let ((pkg (package (inherit (dummy-package "x")) (home-page %local-url)))) (check-home-page pkg)))))
Test end:
result-kind: pass
actual-value: ""
expected-value: ""
Test begin:
test-name: "home-page: 404"
source-file: "tests/lint.scm"
source-line: 402
source-form: (test-assert "home-page: 404" (->bool (string-contains (with-warnings (with-http-server 404 (let ((pkg (package (inherit (dummy-package "x")) (home-page %local-url)))) (check-home-page pkg)))) "not reachable: 404")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "source-file-name"
source-file: "tests/lint.scm"
source-line: 413
source-form: (test-assert "source-file-name" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (version "3.2.1") (source (origin (method url-fetch) (uri "http://www.example.com/3.2.1.tar.gz") (sha256 %null-sha256)))))) (check-source-file-name pkg))) "file name should contain the package name")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "source-file-name: v prefix"
source-file: "tests/lint.scm"
source-line: 427
source-form: (test-assert "source-file-name: v prefix" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (version "3.2.1") (source (origin (method url-fetch) (uri "http://www.example.com/v3.2.1.tar.gz") (sha256 %null-sha256)))))) (check-source-file-name pkg))) "file name should contain the package name")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "source-file-name: bad checkout"
source-file: "tests/lint.scm"
source-line: 441
source-form: (test-assert "source-file-name: bad checkout" (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (version "3.2.1") (source (origin (method git-fetch) (uri (git-reference (url "http://www.example.com/x.git") (commit "0"))) (sha256 %null-sha256)))))) (check-source-file-name pkg))) "file name should contain the package name")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "source-file-name: good checkout"
source-file: "tests/lint.scm"
source-line: 457
source-form: (test-assert "source-file-name: good checkout" (not (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (version "3.2.1") (source (origin (method git-fetch) (uri (git-reference (url "http://git.example.com/x.git") (commit "0"))) (file-name (string-append "x-" version)) (sha256 %null-sha256)))))) (check-source-file-name pkg))) "file name should contain the package name"))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "source-file-name: valid"
source-file: "tests/lint.scm"
source-line: 475
source-form: (test-assert "source-file-name: valid" (not (->bool (string-contains (with-warnings (let ((pkg (dummy-package "x" (version "3.2.1") (source (origin (method url-fetch) (uri "http://www.example.com/x-3.2.1.tar.gz") (sha256 %null-sha256)))))) (check-source-file-name pkg))) "file name should contain the package name"))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "source: 200"
source-file: "tests/lint.scm"
source-line: 491
source-form: (test-equal "source: 200" "" (with-warnings (with-http-server 200 (let ((pkg (package (inherit (dummy-package "x")) (source (origin (method url-fetch) (uri %local-url) (sha256 %null-sha256)))))) (check-source pkg)))))
Test end:
result-kind: pass
actual-value: ""
expected-value: ""
Test begin:
test-name: "source: 404"
source-file: "tests/lint.scm"
source-line: 504
source-form: (test-assert "source: 404" (->bool (string-contains (with-warnings (with-http-server 404 (let ((pkg (package (inherit (dummy-package "x")) (source (origin (method url-fetch) (uri %local-url) (sha256 %null-sha256)))))) (check-source pkg)))) "not reachable: 404")))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "cve"
source-file: "tests/lint.scm"
source-line: 518
source-form: (test-assert "cve" (mock ((guix scripts lint) package-vulnerabilities (const (quote ()))) (string-null? (with-warnings (check-vulnerabilities (dummy-package "x"))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "cve: one vulnerability"
source-file: "tests/lint.scm"
source-line: 523
source-form: (test-assert "cve: one vulnerability" (mock ((guix scripts lint) package-vulnerabilities (lambda (package) (list (make-struct (@@ (guix cve) <vulnerability>) 0 "CVE-2015-1234" (list (cons (package-name package) (package-version package))))))) (string-contains (with-warnings (check-vulnerabilities (dummy-package "pi" (version "3.14")))) "vulnerable to CVE-2015-1234")))
Test end:
result-kind: pass
actual-value: 41
Test begin:
test-name: "cve: one patched vulnerability"
source-file: "tests/lint.scm"
source-line: 535
source-form: (test-assert "cve: one patched vulnerability" (mock ((guix scripts lint) package-vulnerabilities (lambda (package) (list (make-struct (@@ (guix cve) <vulnerability>) 0 "CVE-2015-1234" (list (cons (package-name package) (package-version package))))))) (string-null? (with-warnings (check-vulnerabilities (dummy-package "pi" (version "3.14") (source (dummy-origin (patches (list "/a/b/pi-CVE-2015-1234.patch"))))))))))
Test end:
result-kind: pass
actual-value: #t
Test begin:
test-name: "formatting: lonely parentheses"
source-file: "tests/lint.scm"
source-line: 552
source-form: (test-assert "formatting: lonely parentheses" (string-contains (with-warnings (check-formatting (dummy-package "ugly as hell!"))) "lonely"))
Test end:
result-kind: pass
actual-value: 66
Test begin:
test-name: "formatting: tabulation"
source-file: "tests/lint.scm"
source-line: 562
source-form: (test-assert "formatting: tabulation" (string-contains (with-warnings (check-formatting (dummy-package "leave the tab here:\t"))) "tabulation"))
Test end:
result-kind: pass
actual-value: 47
Test begin:
test-name: "formatting: trailing white space"
source-file: "tests/lint.scm"
source-line: 568
source-form: (test-assert "formatting: trailing white space" (string-contains (with-warnings (check-formatting (dummy-package "x"))) "trailing white space"))
Test end:
result-kind: pass
actual-value: 28
Test begin:
test-name: "formatting: long line"
source-file: "tests/lint.scm"
source-line: 575
source-form: (test-assert "formatting: long line" (string-contains (with-warnings (check-formatting (dummy-package "x"))) "too long"))
Test end:
result-kind: pass
actual-value: 43
Test begin:
test-name: "formatting: alright"
source-file: "tests/lint.scm"
source-line: 583
source-form: (test-assert "formatting: alright" (string-null? (with-warnings (check-formatting (dummy-package "x")))))
Test end:
result-kind: pass
actual-value: #t
Group end: lint
# of expected passes 45
# of unexpected failures 1
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#22475: guix make check FAIL
2016-01-27 15:53 bug#22475: guix make check FAIL rennes
2016-01-27 16:58 ` Mathieu Lirzin
@ 2016-01-28 21:11 ` Alex Kost
2016-01-29 2:43 ` rennes
1 sibling, 1 reply; 7+ messages in thread
From: Alex Kost @ 2016-01-28 21:11 UTC (permalink / raw)
To: rennes; +Cc: 22475
rennes@openmailbox.org (2016-01-27 18:53 +0300) wrote:
> Hi,
>
> i clone guix from git(in GuixSD), and when run 'make check' display FAIL
> message. But the command './pre-inst-env' works.
>
> These are the commands that run:
>
> git clone git://git.savannah.gnu.org/guix.git
> guix environment guix
> ./bootstrap
> ./configure --with-libgcrypt-prefix=$HOME/.guix-profile/
> --localstatedir=/var
Just a side note: "--with-libgcrypt-prefix" is not necessary now
(I think after commit dd01fec¹).
¹ http://git.savannah.gnu.org/cgit/guix.git/commit/?id=dd01fecd23a4ded46b99a51dc08ac5d964dbcd53
--
Alex
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#22475: guix make check FAIL
2016-01-28 21:11 ` Alex Kost
@ 2016-01-29 2:43 ` rennes
0 siblings, 0 replies; 7+ messages in thread
From: rennes @ 2016-01-29 2:43 UTC (permalink / raw)
To: Alex Kost; +Cc: 22475
Hi,
On 2016-01-28 22:11, Alex Kost wrote:
> rennes@openmailbox.org (2016-01-27 18:53 +0300) wrote:
>
>> Hi,
>>
>> i clone guix from git(in GuixSD), and when run 'make check' display
>> FAIL
>> message. But the command './pre-inst-env' works.
>>
>> These are the commands that run:
>>
>> git clone git://git.savannah.gnu.org/guix.git
>> guix environment guix
>> ./bootstrap
>> ./configure --with-libgcrypt-prefix=$HOME/.guix-profile/
>> --localstatedir=/var
>
> Just a side note: "--with-libgcrypt-prefix" is not necessary now
> (I think after commit dd01fec¹).
>
> ¹
> http://git.savannah.gnu.org/cgit/guix.git/commit/?id=dd01fecd23a4ded46b99a51dc08ac5d964dbcd53
i test again without --with-libgcrypt-prefix", and works.
Thanks.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#22475: guix make check FAIL
2016-01-27 17:27 ` rennes
@ 2016-01-31 9:21 ` Ludovic Courtès
0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2016-01-31 9:21 UTC (permalink / raw)
To: rennes; +Cc: 22475
rennes@openmailbox.org skribis:
> Starting download of /tmp/guix-file.qSJyZC
> From http://does.not/exist...
> exist 0B/s 00:00 | 0B transferred. exist 1.1MiB/s 00:00 | 288B transferred
> /home/bob/guix/test-tmp/store/ma3hazzz1y783d577p07w66cpn5qjsir-exist
> 0f5cx1vmxl5b0ihmgkpng0qs02zi1ip9q0nhhii67lsw2kpgf6c4
AFAICS all the tests failing here are due to misbehaving name
resolution, which could be due to to your ISP doing “DNS hijacking”—that
is, the ‘does.not’ host above does not exist, but you ISP’s DNS server
returns an IP address anyway to redirect you to their own server.
I think there’s nothing we can do on our side. But you should complain
to your ISP! :-)
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-01-31 9:23 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-27 15:53 bug#22475: guix make check FAIL rennes
2016-01-27 16:58 ` Mathieu Lirzin
2016-01-27 17:18 ` Andreas Enge
2016-01-27 17:27 ` rennes
2016-01-31 9:21 ` Ludovic Courtès
2016-01-28 21:11 ` Alex Kost
2016-01-29 2:43 ` rennes
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).