mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
daemon: Add '--timeout' and '--max-silent-time'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_TIMEOUT) (GUIX_OPT_MAX_SILENT_TIME): New macros. * nix/nix-daemon/guix-daemon.cc (options): Add '--timeout' and '--max-silent-time'. (parse_opt): Honor them. * tests/guix-daemon.sh: Add test. * doc/guix.texi (Invoking guix-daemon): Document the options. (Common Build Options): Properly describe default timeout/max-silent-time value. Add cross-ref to "Invoking guix-daemon".
This commit is contained in:
parent
20214f7115
commit
2ca9f51ec8
3 changed files with 71 additions and 2 deletions
|
@ -145,3 +145,39 @@ guile -c '
|
|||
(exit
|
||||
(= 42 (pk (call-with-input-file (derivation->output-path drv)
|
||||
read)))))))'
|
||||
|
||||
|
||||
kill "$daemon_pid"
|
||||
|
||||
# Make sure the daemon's default 'timeout' and 'max-silent-time' settings are
|
||||
# honored.
|
||||
|
||||
client_code='
|
||||
(use-modules (guix) (gnu packages) (guix tests) (srfi srfi-34))
|
||||
|
||||
(with-store store
|
||||
(let* ((build (add-text-to-store store "build.sh"
|
||||
"while true ; do : ; done"))
|
||||
(bash (add-to-store store "bash" #t "sha256"
|
||||
(search-bootstrap-binary "bash"
|
||||
(%current-system))))
|
||||
(drv (derivation store "the-thing" bash
|
||||
`("-e" ,build)
|
||||
#:inputs `((,bash) (,build))
|
||||
#:env-vars `(("x" . ,(random-text))))))
|
||||
(exit (guard (c ((nix-protocol-error? c)
|
||||
(->bool
|
||||
(string-contains (pk (nix-protocol-error-message c))
|
||||
"failed"))))
|
||||
(build-derivations store (list drv))
|
||||
#f))))'
|
||||
|
||||
|
||||
for option in --max-silent-time=1 --timeout=1
|
||||
do
|
||||
guix-daemon --listen="$socket" --disable-chroot "$option" &
|
||||
daemon_pid=$!
|
||||
|
||||
GUIX_DAEMON_SOCKET="$socket" guile -c "$client_code"
|
||||
kill "$daemon_pid"
|
||||
done
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue