Discussion:
Proposed environment variable to skip running tests
r***@airmail.cc
2018-04-22 15:26:41 UTC
Permalink
Hello!

I would like to propose an environment variable that can be used to skip
tests, e.g. export GUIX_SKIP_TESTS=1

This could be implemented by changing line 297 of
guix/guix/build/gnu-build-system.scm:

(define* (check #:key target (make-flags '()) (tests? (not target))
(test-target "check") (parallel-tests? #t)
#:allow-other-keys)
(if (and tests? (not (getenv "GUIX_SKIP_TESTS"))) ;;;;;; HERE
(zero? (apply system* "make" test-target
`(,@(if parallel-tests?
`("-j" ,(number->string
(parallel-job-count)))
'())
,@make-flags)))
(begin
(format #t "test suite not run~%")
#t)))

The reason I suggest this is because installing GuixSD with --fallback
is sometimes necessary (I was getting a lot of 504's errors, so had to
use fallback) but in that case the subversion and git test suites take
many hours and perform excessive grinding on hard disk. Allowing users
the choice to skip tests in a situation like this means we can get
guixsd installed quickly.
Ludovic Courtès
2018-04-22 20:09:19 UTC
Permalink
Hello,
Post by r***@airmail.cc
I would like to propose an environment variable that can be used to
skip tests, e.g. export GUIX_SKIP_TESTS=1
This could be implemented by changing line 297 of
(define* (check #:key target (make-flags '()) (tests? (not target))
(test-target "check") (parallel-tests? #t)
#:allow-other-keys)
(if (and tests? (not (getenv "GUIX_SKIP_TESTS"))) ;;;;;; HERE
Since builds are performed in an isolated environments with a clearly
defined set of environment variables. Thus what you define would not
work as-is.

To achieve it, we’d have to, for instance, instruct guix-daemon to
special-case ‘GUIX_SKIP_TESTS’ and let it through in the build
environment.

Even though I can imagine the pain you feel while rebuilding everything
on GNU/Hurd, I’m reluctant to such changes. I would suggest using
tricks to avoid full rebuilds in your case as much as possible. (If you
provide concrete examples of rebuilds you’d like to avoid, I can perhaps
illustrate what “tricks” you could use. :-))

Thanks,
Ludo’.

Loading...