summaryrefslogtreecommitdiff
path: root/gnu/tests/base.scm
AgeCommit message (Collapse)Author
2026-03-20services, tests: Refer to inherited field values where applicable.Ludovic Courtès
* gnu/machine/hetzner.scm (operating-system-authorize): Refer to ‘services’ instead of calling ‘operating-system-user-services’. * gnu/services/virtualization.scm (secret-service-operating-system): Likewise. * gnu/tests.scm (operating-system-with-console-syslog): Likewise. * gnu/tests/avahi.scm (%avahi-os): Likewise. * gnu/tests/base.scm (%test-guix-daemon-unprivileged): Likewise. * gnu/tests/nfs.scm (%nfs-os): Likewise. (run-nfs-full-test): Likewise. * gnu/system/vm.scm (virtualized-operating-system): Refer to ‘initrd-modules’ instead of calling ‘operating-system-initrd-modules’. Change-Id: I00c5f5c1e171b174bf0ca709b2dbd13a2fe161b5
2026-03-05gnu: Remove linux-libre 5.4.Vagrant Cascadian
gnu/packages/linux.scm (linux-libre-5.4-version, linux-libre-5.4-gnu-revision, deblob-scripts-5.4, linux-libre-5.4-pristine-source, linux-libre-5.4-source, linux-libre-headers-5.4, linux-libre-5.4, linux-libre-headers-5.4, linux-libre-arm-generic-5.4, linux-libre-arm64-generic-5.4): Remove variables. * gnu/packages/patches/linux-libre-support-for-Pinebook-Pro.patch: Delete file. * gnu/local.mk [dist_patch_DATA]: Deregister patch. * gnu/packages/aux-files/linux-libre/5.4-arm.conf, gnu/packages/aux-files/linux-libre/5.4-arm64.conf, gnu/packages/aux-files/linux-libre/5.4-i686.conf, gnu/packages/aux-files/linux-libre/5.4-x86_64.conf: Delete files. * Makefile.am [AUX_FILES]: Deregister them. * gnu/packages/android.scm (adb)[native-inputs]: Use linux-libre-headers-5.15. * gnu/packages/vpn.scm (wireguard-linux-compat): Remove variable. * gnu/tests/base.scm (%test-linux-libre-5.4): Remove variable.
2026-02-23file-systems: mount-file-system: Guard against missing devices.Rutherther
When a device with a UUID is missing, canonicalize-device-spec will throw an error. This error is not handled for mount-may-fail? devices. That means that if you use UUID device and it isn't available, the boot will hang on the user-file-systems not being started. All user services depend on that service. Also added a test for this behavior. * gnu/build/file-systems.scm (mount-file-system): Guard canonicalize-device-spec call. (canonicalize-device-spec): Throw &partition-lookup-error on missing partition. (&partition-lookup-error): New variable. * gnu/tests/base.scm (%test-missing-file-system): New variable. Change-Id: I3b8d652251cef421cff6d2fdafb8d9d7d1fc74b5 Reported-By: renbus, on IRC Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
2025-12-19services: nscd: Cause PID 1 to drop nscd database mappings on shutdown.Ludovic Courtès
Partly fixes guix/guix#4269. Fixes a bug whereby shepherd (PID 1) could retain memory mappings for /var/run/nscd/dbXXX, which are created by glibc’s NSS from database file descriptors sent by nscd. Those mappings could then prevent ‘root-file-system’ from re-mounting the root file system as read-write. This change causes PID 1 to drop these mappings. PID 1 typically calls libc database functions such as ‘getgr’ when dealing with AF_UNIX endpoints for socket-activated services, to look up the socket’s owner and group. This is where the bug would manifest. The regression may have been introduced by 85ac164c41fc4c93d3cb2a5d3321c63598c2855f, which caused nscd to handle the password and group databases. * gnu/services/base.scm (nscd-shepherd-service): In ‘stop’ procedure, call ‘getpw’, ‘getgr’, and ‘getaddrinfo’. * gnu/tests/base.scm (run-root-unmount-test) <"open libc NSS database">: New test. (%test-root-unmount): Add #:imported-modules. Change-Id: I197cc8c82165c631f857415898137412ce9bd439 Reported-by: Rutherther <rutherther@ditigal.xyz> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #4828
2025-12-01tests: Add test to validate /etc/locatime is a symlink.Maxim Cournoyer
Match the modern desktop expectation set by systemd [0] and relied on by some software (GNOME/glib, icecat, ungoogle-chromium, etc.). [0] https://www.man7.org/linux/man-pages/man5/localtime.5.html * gnu/tests/base.scm ("/etc/localtime is a symlink to the timezone data file"): New test. Change-Id: I8fb95abb6a3e455dd7019d5d798f7862d16b6263 Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2025-10-21tests: guix-daemon: Check that build processes can chown to “kvm”.Ludovic Courtès
* gnu/tests/base.scm (guix-daemon-test-cases)[chown-snippet]: New variable. ["kvm GID mapped"]: New test. Change-Id: I0ce7a9250539766628eb2459d60abce7c05a36ee
2025-09-18Reapply "Update Maxim's email address."Maxim Cournoyer
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with the more careful command, to avoid a world rebuild: grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \ --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18Revert "Update Maxim's email address."Maxim Cournoyer
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This caused a world rebuild. Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18Update Maxim's email address.Maxim Cournoyer
The change was automated via: git grep -l maxim.cournoyer@gmail.com | xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g' * .mailmap: New entry. Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-07-01tests: Fix the gui installation tests.Mathieu Othacehe
This is a follow-up of: 4c017ccfe56a8887bf26faaea62d60501d7cc4f6. The run-basic-test procedure is used for the gui installation tests, but the etc-profile-d-service-type and etc-bashrc-d-service-type services that are now needed are only defined in the test-basic-os procedure. Build upon the introduction of the extra-tests argument to define the etc-profile-d-service-type and etc-bashrc-d-service-type specific tests directly in the test-basic-os procedure. * gnu/tests/base.scm (run-basic-test): Move the etc-profile-d-service-type and etc-bashrc-d-service-type dedicated tests to ... (test-basic-os): ... that procedure, where the matching services are defined. Change-Id: I050f5ab87e19889bc90cc1a375a3cc28ea9a43ab
2025-07-01tests: Support basic tests extension with an extra-tests argument.Mathieu Othacehe
* gnu/tests/base.scm (run-basic-test)[extra-tests]: New argument. Change-Id: Ia3595638309738d3361c583c93a66e0a872adabe
2025-07-01tests: Really test the etc-bashrc-d-service-type service.Mathieu Othacehe
Follow-up of: 4c017ccfe56a8887bf26faaea62d60501d7cc4f6. The --init-file script will only be run in the context of an interactive shell, which is not the case here. Use the `-i` argument instead to force an interactive shell. That way, the test_bashrc_d.sh is now really executed. * gnu/tests/base.scm (run-basic-test): Fix the etc-bashrc-d-service-type test. Change-Id: I3d749f65f51ff103c76f4e3d60746ae963660329
2025-05-26system: Factorize bashrc default configuration.Maxim Cournoyer
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the template used for both /etc/bashrc on Guix System and ~/.bashrc for home-bash-service-type. Rationale: The use of /etc/skel introduce state: the file is only copied originally when the user account is created, and never (automatically) refreshed again. * gnu/system.scm (operating-system-etc-service): <profile>: Guard against souring /etc/bashrc in non-interactive, SSH case. <bashrc>: Use %default-bashrc, having migrated the remaining definitions to... * gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to... * gnu/services.scm (%default-bash-aliases): ... here. (%default-bashrc-d-aliases): New variable. (%default-etc-bashrc-d-files): Include it in the default configuration. * gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type. * gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now part of %default-bashrc. (home-bash-configuration) [guix-defaults?]: Update doc. [aliases]: Set %default-bash-aliases as the default value. Update doc. * doc/guix.texi (Shells Home Services): Update documentation. (Service Reference): Update example. Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
2025-05-26services: Add etc-bashrc-d-service-type.Maxim Cournoyer
* gnu/services.scm (files->bashrc-d-directory) New procedure. (etc-bashrc-d-service-type): New service type. * doc/guix.texi (Service Reference): Document it. * gnu/tests/base.scm (test-basic-os): Test it. Change-Id: Ibbb0f684de7aee296adedbce5b1192786d661af2
2025-05-26services: Add etc-profile-d-service-type.Maxim Cournoyer
* gnu/services.scm (make-files->etc-directory) (files->profile-d-entries): New procedures. (etc-profile-d-service-type): New service type. * doc/guix.texi (Service Reference): Document it. * gnu/tests/base.scm (run-basic-test): Test it. Change-Id: I45dde43a1b9603c3384b933ebd1d6e45dba146b9
2025-05-14services: udev: Also create subsystem nodes at boot.Maxim Cournoyer
This is a more correct fix to CDROM/DVDROM events/auto-mounting than was made in the now-reverted commit 670724edcfe7d ("gnu: eudev: Fix optical discs detection/auto-mounting.") This changes causes the 60-block.rules udev rules file shipped with eudev to correctly set the default polling period to 2000 ms on block devices, which is necessary for kernel events to be fired for CDROM drives for example. To validate it is set: # cat /sys/module/block/parameters/events_dfl_poll_msecs 2000 Before, it would return 0. * gnu/services/base.scm (udev-shepherd-service): <#:start>: Add a 'udevadm trigger --change=add --type=subsystems' invocation, so that it also creates subsystem nodes, as done in Void Linux or LinuxFromScratch init scripts for example. * gnu/tests/base.scm (run-basic-test): Add test. Fixes: <https://issues.guix.gnu.org/35584> Change-Id: Idc0eb5640163b27e41b72cc0c1885412a60805c1
2025-05-06tests: Fix (gnu tests base.scm) module indentation.Maxim Cournoyer
* gnu/tests/base.scm: Fix indentation. Change-Id: I3432fafa2f5c2853a14b5d125cf9377786ca6594
2025-05-06tests: Fix indentation of (gnu tests base).Maxim Cournoyer
* gnu/tests/base.scm: Fix indentation. Change-Id: I84ae82a8ce85ff0113a3eb1215b11c191d3929d6
2025-04-20services: guix: Allow ‘guix-daemon’ to run without root privileges.Ludovic Courtès
* gnu/services/base.scm (run-with-writable-store) (guix-ownership-change-program): New procedures. (<guix-configuration>)[privileged?]: New field. (guix-shepherd-service): Rename to… (guix-shepherd-services): … this. Add the ‘guix-ownership’ service. Change ‘guix-daemon’ service to depend on it; when unprivileged, prefix ‘daemon-command’ by ‘run-with-writable-store’ and omit ‘--build-users-group’; adjust socket activation endpoints. (guix-accounts): When unprivileged, create the “guix-daemon” user and group in addition to the others. (guix-service-type)[extensions]: Adjust to name change. * gnu/tests/base.scm (run-guix-daemon-test): Add ‘name’ parameter. (%test-guix-daemon): Adjust accordingly. (%test-guix-daemon-unprivileged): New test. * doc/guix.texi (Base Services): Document ‘privileged?’. (Migrating to the Unprivileged Daemon): Explain that this is automatic on Guix System. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I28a9a22e617416c551dccb24e43a253b544ba163
2025-04-20tests: guix-daemon: Wait for the ‘guix-daemon’ service to be up.Ludovic Courtès
* gnu/tests/base.scm (run-guix-daemon-test): Add “guix-daemon service is up” test. Change-Id: I4d44a1248599fec45c854c285d4da201c30eb00c
2025-04-20tests: guix-daemon: Send system log output to /dev/console.Ludovic Courtès
* gnu/tests/base.scm (%daemon-os): New variable. (%test-guix-daemon): Use it. Change-Id: Iea31808cc59e94971ea4cbc12d565c94348bf7a4
2025-03-10tests: Factorize ‘guix-daemon’ test cases.Ludovic Courtès
* gnu/tests/base.scm (guix-daemon-test-cases): New procedure, with code moved from… (run-guix-daemon-test): … here. Use it. * gnu/tests/foreign.scm (run-foreign-install-test): Likewise. Change-Id: I6f2d03d30d7b7648b6eb7e77e36c3da54f80d79c
2025-03-10tests: Factorize ‘%hello-dependencies-manifest’.Ludovic Courtès
* gnu/tests/base.scm (%hello-dependencies-manifest): Export. * gnu/tests/foreign.scm (%installation-tarball-manifest): Use it. Change-Id: Id92232f479ab5d1f0c48036b0546e3745aa63e52
2025-03-10tests: Add ‘guix-daemon’ test.Ludovic Courtès
* gnu/tests/base.scm (manifest-entry-without-grafts): New procedure. (%hello-dependencies-manifest): New variable. (run-guix-daemon-test): New procedure. (%test-guix-daemon): New variable. Change-Id: Ia37966de1f61fb428e6fb2244271bf389a74af6d
2025-03-10tests: Move Avahi test to its own file.Ludovic Courtès
This mirrors the (gnu services avahi) module. * gnu/tests/base.scm (%avahi-os, run-nss-mdns-test, %test-nss-mdns): Move to… * gnu/tests/avahi.scm: … here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Change-Id: I04705e57408619d948c928873c40c470aa4e949d
2025-03-10tests: Move mcron test to its own file.Ludovic Courtès
This mirrors the (gnu services mcron) module. * gnu/tests/base.scm (%mcron-os, run-mcron-test, %test-mcron): Move to… * gnu/tests/mcron.scm: … here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Change-Id: Id2830d08d8e797e008c5fec7964fb5f6a5ea2fad
2025-03-10gnu: Adjust tests for ‘shepherd-system-log-service-type’.Ludovic Courtès
This is a followup to 8492a3c8962664db4bd0e7475f63be0ef59db87a. * gnu/services/virtualization.scm (%minimal-vm-syslog-config): Remove. (%system-log-message-destination): New variable. (%virtual-build-machine-operating-system): Use it, and modify ‘shepherd-system-log-service-type’ instead of ‘syslog-service-type’. * gnu/tests/base.scm (%avahi-os): Likewise. * gnu/tests/install.scm (%syslog-conf): Remove. (operating-system-with-console-syslog): Modify ‘shepherd-system-log-service-type’ instead of ‘syslog-service-type’. * gnu/tests/nfs.scm (%nfs-os, run-nfs-full-test): Likewise. * gnu/tests/reconfigure.scm (run-kexec-test): Likewise. Change-Id: I142d34ad27594a538f5b75daf087e48c690171b8
2025-01-07gnu: Add linux-libre-6.12.Leo Famulari
* gnu/packages/linux.scm (linux-libre-6.12-version, linux-libre-6.12-gnu-revision, deblob-scripts-6.12, linux-libre-6.12-pristine-source, linux-libre-6.12-source, linux-libre-headers-6.12, linux-libre-6.12): New variables. (linux-libre-headers-latest): Use linux-libre-headers-6.12. (linux-libre-lts-version, linux-libre-lts-gnu-revision, linux-libre-lts-pristine-source, linux-libre-lts-source, linux-libre-lts): Use linux-libre 6.12. * gnu/tests/base.scm (%test-linux-libre-6.12): New test. * gnu/packages/aux-files/linux-libre/6.12-arm.conf, gnu/packages/aux-files/linux-libre/6.12-arm64.conf, gnu/packages/aux-files/linux-libre/6.12-i686.conf, gnu/packages/aux-files/linux-libre/6.12-x86_64.conf, gnu/packages/aux-files/linux-libre/6.12-riscv.conf: New files. * Makefile.am (AUX_FILES): Add them. Change-Id: I430d9dd29cda4bd4b66ad6eddc004935f93bb111
2025-01-07tests: Add tests for all the longterm-support kernels.Leo Famulari
* gnu/tests/base.scm (%test-linux-libre-6.6, %test-linux-libre-6.1): New tests. Change-Id: Ica31ae263348c38ac21efeb65d9a245e1a877268
2025-01-04gnu: Remove linux-libre 4.19.Leo Famulari
This kernel series is no longer supported upstream. * gnu/packages/linux.scm (linux-libre-4.19-version, linux-libre-4.19-gnu-revision, deblob-scripts-4.19, linux-libre-4.19-pristine-source, linux-libre-4.19-source, linux-libre-headers-4.19, linux-libre-4.19, linux-libre-arm-generic-4.19, linux-libre-arm-omap2plus-4.19): Remove variables. * gnu/tests/base.scm (%test-linux-libre-4.19): Remove variable. * gnu/packages/aux-files/linux-libre/4.19-arm.conf, gnu/packages/aux-files/linux-libre/4.19-arm64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. Change-Id: If79ccbb948975c544b27757104d360539970377c
2024-10-24gnu: system: Privilege programs after creating accounts.Dariqq
Ensure that users and groups are already created when the privileging script runs. The order these scripts appear in the folded activation-service depends on the order these services are instantiated in the operating-system. Fixes <https://issues.guix.gnu.org/73680>. * gnu/system.scm (operating-system-default-essential-services): Move privileged-program-service above account-service. (hurd-default-essential-services): Likewise. * gnu/tests/base.scm (%activation-os): New variable. (run-activation-test): New procedure. (%test-activation): New variable. Change-Id: I59a191c5519475f256e81bdf2dc4cb01b96c31fe Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-25services: cleanup: Reintroduce explicit ‘chmod’ calls.Ludovic Courtès
This reverts commit e74d05db53fdf02956ccee0950896c6ca9f10573. * gnu/services.scm (cleanup-gexp): Introduce explicit ‘chmod’ calls after ‘mkdir’ calls. * gnu/tests/base.scm (run-basic-test)[test]("permissions on /tmp"): New test. Reported-by: Hilton Chain <hako@ultrarare.space> Change-Id: I1e14dbe52eac526d2ed4ec1dd9c6fd9036f96a63
2024-07-18tests: base: Compare all the service provisions, not just canonical names.Ludovic Courtès
* gnu/tests/base.scm (run-basic-test)["shepherd services"]: Use ‘append-map’ on live service provisions to match what ‘operating-system-shepherd-service-names’ does. Change-Id: Ie54082eed6c7b8d37d3428711e71c11e80940235
2024-01-22gnu: Remove linux-libre 4.14.Wilko Meyer
* gnu/packages/linux.scm (linux-libre-4.14-version, linux-libre-4.14-gnu-revision, deblob-scripts-4.14, linux-libre-4.14-pristine-source, linux-libre-4.14-source, linux-libre-headers-4.14, linux-libre-4.14, linux-libre-arm-generic-4.14, linux-libre-arm-omap2plus-4.14): Remove variables. * gnu/packages/aux-files/linux-libre/4.14-arm.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove aforementioned .conf files. * gnu/tests/base.scm (%test-linux-libre-4.14): Remove variable. Change-Id: I40393b5f46b989848d569c929f1d9c986736553e
2023-04-21tests: Use the client 'start-service' procedure.Ludovic Courtès
The previous code worked "by chance": 'start' from (shepherd service) happened to be in scope because the marionette REPL is created by a mere 'primitive-fork', and 'start' happened to kinda work. * gnu/tests/base.scm (run-basic-test): Use 'start-service' from (gnu services herd), not 'start' from (shepherd service), which is not supposed to work. * gnu/tests/install.scm (run-install): Likewise.
2023-03-03services: dbus: Deprecate 'dbus-service' procedure.Bruno Victal
* doc/guix.texi (Desktop Services): Replace with 'dbus-root-service-type'. Document dbus-configuration. * gnu/services/dbus.scm (dbus-service): Define with 'define-deprecated'. * gnu/services/desktop.scm (desktop-services-for-system): Replace with dbus-root-service-type. * gnu/system/install.scm (%installation-services): Ditto. * gnu/tests/base.scm (%avahi-os): Ditto. * gnu/tests/docker.scm (%docker-os): Ditto. * gnu/tests/lightdm.scm (minimal-desktop-services): Ditto. * gnu/tests/virtualization.scm (%libvirt-os): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-01-08gnu: Remove linux-libre 4.9.Leo Famulari
This kernel series is no longer supported upstream: https://lkml.iu.edu/hypermail/linux/kernel/2301.0/06398.html https://www.kernel.org/category/releases.html * gnu/packages/aux-files/linux-libre/4.9-i686.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf: Delete files. * Makefile.am (AUX_FILES): Remove them. * gnu/packages/linux.scm (linux-libre-4.9-version, linux-libre-4.9-gnu-revision, deblob-scripts-4.9, linux-libre-4.9-pristine-source, linux-libre-4.9-source, linux-libre-headers-4.9, linux-libre-4.9): Remove variables. * gnu/tests/base.scm (%test-linux-libre-4.9): Likewise.
2022-12-12tests: Add system tests for each supported kernel version.Marius Bakke
* gnu/tests/base.scm (%test-basic-os): Rename to ... (test-basic-os): ... this, and turn into procedure that takes optional KERNEL argument. (%test-basic-os): Use that procedure. (%test-linux-libre-5.15, %test-linux-libre-5.10, %test-linux-libre-5.4, %test-linux-libre-4.19, %test-linux-libre-4.14, %test-linux-libre-4.9): New tests.
2022-11-18services: Add Shepherd 'configuration' action to various services.Ludovic Courtès
* gnu/services/avahi.scm (avahi-shepherd-service): Add 'actions' field. * gnu/services/base.scm (nscd-actions): Add call to 'shepherd-configuration-action'. * gnu/services/desktop.scm (upower-shepherd-service): Add 'actions' field. (elogind-shepherd-service): Likewise. * gnu/services/dict.scm (dicod-shepherd-service): Likewise. * gnu/services/networking.scm (openntpd-shepherd-service): Likewise. (tor-shepherd-service): Likewise. * gnu/services/ssh.scm (openssh-shepherd-service): Likewise. * gnu/services/web.scm (nginx-shepherd-service): Likewise. * gnu/services/xorg.scm (gdm-shepherd-service): Likewise. * gnu/tests/base.scm (run-basic-test)["nscd configuration action"]: New test. * doc/guix.texi (Services): Document it.
2022-11-17tests: root-unmount: Wait for the first QEMU process to finish.Ludovic Courtès
There was a tiny possibility that the first QEMU process would still be running by the time we launch the second one. * gnu/build/marionette.scm (marionette-pid): Export. * gnu/tests/base.scm (run-root-unmount-test)[test]: Add 'waitpid' call.
2022-10-07marionette: Make marionette-screen-text private.Maxim Cournoyer
It has only one user, which is better suited for wait-for-screen-text anyway. * gnu/tests/base.scm (run-basic-test): Refactor to use wait-for-screen-text instead of marionette-screen-text.
2022-08-28build: marionette: Add support for Tesseract OCR.Maxim Cournoyer
* gnu/build/marionette.scm (invoke-ocrad-ocr): New procedure. (invoke-tesseract-ocr): Likewise. (marionette-screen-text): Rename the #:ocrad argument to #:ocr. Dispatch the matching OCR invocation procedure. (wait-for-screen-text): Rename the #:ocrad argument to #:ocr. * gnu/tests/base.scm (run-basic-test): Adjust accordingly. * gnu/tests/install.scm (enter-luks-passphrase): Likewise. (enter-luks-passphrase-for-home): Likewise.
2022-07-01image: Add default value for partition initializer.Ludovic Courtès
Previously, the default value would lead to a wrong-type-to-apply crash. * gnu/system/image.scm (system-disk-image)[image-builder]: When 'partition-initializer' returns #f, fall back to INITIALIZE-ROOT-PARTITION. * gnu/tests/base.scm (run-root-unmount-test)[test-image]: Remove 'initializer' field of partition. * gnu/image.scm (<partition>)[initializer]: Add comment.
2022-07-01services: root-file-system: Cleanly unmount upon shutdown.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/56209>. Reported by angry rectangle <angryrectangle@cock.li>. * gnu/packages/admin.scm (shepherd-0.9)[modules, snippet]: New fields. * gnu/services/base.scm (%root-file-system-shepherd-service): In 'stop' method, remove 'call-with-blocked-asyncs'. When 'mount' throws to 'system-error, call (@ (fibers) sleep) and try again. * gnu/tests/base.scm (run-root-unmount-test): New procedure. (%test-root-unmount): New variable.
2022-03-19tests: install: Adjust the timeouts on two failing tests.Maxim Cournoyer
The 'login on tty1' and 'getlogin on tty1' tests were failing on a machine equipped with slower hard drives. * gnu/tests/base.scm (run-basic-test) ["login on tty1", "getlogin on tty1"]: Bump timeout from 10 to 30 s.
2021-11-11gnu: glibc: Look for the current timezone in /etc/localtime.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/50830>. Reported by podiki on #guix. Previously, glibc 2.33 would look for /gnu/store/...-glibc-2.33/etc/localtime instead of /etc/localtime. * gnu/packages/base.scm (glibc)[arguments]: Remove #:make-flags. [phases]: In 'pre-configure', modify 'inet/Makefile' instead of 'sunrpc/Makefile' since this is where these bits are in 2.33. (glibc-2.31)[arguments]: Add 'set-etc-rpc-installation-directory' phase. (glibc-2.30): Inherit from GLIBC-2.31. * gnu/tests/base.scm (run-basic-test)["libc honors /etc/localtime"]: New test. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-09-27tests: base: Fix the screendump test.Mathieu Othacehe
* gnu/tests/base.scm (run-basic-test): Look for the screendump capture where it has been saved, in the output directory.
2021-09-26tests: Reduce boilerplate for users of 'system-test-runner'.Ludovic Courtès
* gnu/tests/audio.scm, gnu/tests/base.scm, gnu/tests/ci.scm, gnu/tests/cups.scm, gnu/tests/databases.scm, gnu/tests/desktop.scm, gnu/tests/dict.scm, gnu/tests/docker.scm, gnu/tests/file-sharing.scm, gnu/tests/ganeti.scm, gnu/tests/guix.scm, gnu/tests/ldap.scm, gnu/tests/linux-modules.scm, gnu/tests/mail.scm, gnu/tests/messaging.scm, gnu/tests/monitoring.scm, gnu/tests/networking.scm, gnu/tests/nfs.scm, gnu/tests/package-management.scm, gnu/tests/reconfigure.scm, gnu/tests/rsync.scm, gnu/tests/security-token.scm, gnu/tests/singularity.scm, gnu/tests/ssh.scm, gnu/tests/telephony.scm, gnu/tests/version-control.scm, gnu/tests/virtualization.scm, gnu/tests/web.scm: Remove (mkdir #$output) (chdir #$output) and pass #$output as argument to 'system-test-runner'.
2021-09-25tests: Adjust to SRFI-64 as found in Guile 3.0.7.Ludovic Courtès
In Guile 3.0.7, 'test-runner-current' is set to #f upon 'test-end'. Consequently, the previous strategy, where we'd call 'test-runner-current' after 'test-end', no longer works. Instead, set the test runner in each test right before 'test-begin'. * gnu/build/marionette.scm (system-test-runner): New procedure. * gnu/tests/audio.scm (run-mpd-test): Replace (exit (= ...)) idiom by (test-runner-current (system-test-runner)). * gnu/tests/base.scm (run-basic-test) (run-cleanup-test, run-mcron-test, run-nss-mdns-test): Likewise. * gnu/tests/ci.scm (run-laminar-test): Likewise. * gnu/tests/cups.scm (run-cups-test): Likewise. * gnu/tests/databases.scm (run-memcached-test) (run-postgresql-test, run-mysql-test): Likewise. * gnu/tests/desktop.scm (run-elogind-test): Likewise. * gnu/tests/dict.scm (run-dicod-test): Likewise. * gnu/tests/docker.scm (run-docker-test): Likewise. (run-docker-system-test): Likewise. * gnu/tests/file-sharing.scm (run-transmission-daemon-test): Likewise. * gnu/tests/ganeti.scm (run-ganeti-test): Likewise. * gnu/tests/guix.scm (run-guix-build-coordinator-test): Likewise. (run-guix-data-service-test): Likewise. * gnu/tests/ldap.scm (run-ldap-test): Likewise. * gnu/tests/linux-modules.scm (run-loadable-kernel-modules-test-base): Likewise. * gnu/tests/mail.scm (run-opensmtpd-test) (run-exim-test, run-dovecot-test, run-getmail-test): Likewise. * gnu/tests/messaging.scm (run-xmpp-test) (run-bitlbee-test, run-quassel-test): Likewise. * gnu/tests/monitoring.scm (run-prometheus-node-exporter-server-test) (run-zabbix-server-test): Likewise. * gnu/tests/networking.scm (run-inetd-test, run-openvswitch-test) (run-dhcpd-test, run-tor-test, run-iptables-test, run-ipfs-test): Likewise. * gnu/tests/nfs.scm (run-nfs-test) (run-nfs-server-test, run-nfs-root-fs-test): Likewise. * gnu/tests/package-management.scm (run-nix-test): Likewise. * gnu/tests/reconfigure.scm (run-switch-to-system-test) (run-upgrade-services-test, run-install-bootloader-test): Likewise. * gnu/tests/rsync.scm (run-rsync-test): Likewise. * gnu/tests/security-token.scm (run-pcscd-test): Likewise. * gnu/tests/singularity.scm (run-singularity-test): Likewise. * gnu/tests/ssh.scm (run-ssh-test): Likewise. * gnu/tests/telephony.scm (run-jami-test): Likewise. * gnu/tests/version-control.scm (run-cgit-test): Likewise. (run-git-http-test, run-gitolite-test, run-gitile-test): Likewise. * gnu/tests/virtualization.scm (run-libvirt-test, run-childhurd-test): Likewise. * gnu/tests/web.scm (run-webserver-test, run-php-fpm-test) (run-hpcguix-web-server-test, run-tailon-test, run-patchwork-test): Likewise.
2021-04-13tests: halt: Fix it.Mathieu Othacehe
This fixes: <https://issues.guix.gnu.org/47727>. The OCR prompt detection is failing, so remove it altogether. It looks like the test doesn't need the prompt detection delay to work properly. * gnu/tests/base.scm (run-halt-test): Remove failing OCR detection.