summaryrefslogtreecommitdiff
path: root/gnu/tests
AgeCommit message (Collapse)Author
2023-09-17tests: childhurd: Add missing module imports.Ludovic Courtès
Fixes a regression introduced in a09c7da8f8d8e732f969cf0a09aaa78f87032ab1. * gnu/tests/virtualization.scm (run-childhurd-test)[test]: Import (ice-9 textual-ports) and (ice-9 match) in the marionette when needed.
2023-09-15services: guix: Add bffe-service-type.Christopher Baines
This is intended to replace the functionality of the Guix Build Coordinator queue builds script, and also provide a web interface for build farms. * gnu/services/guix.scm (<bffe-configuration>): New record type. (bffe-configuration, bffe-configuration?, bffe-configuration-package, bffe-configuration-user, bffe-configuration-group, bffe-configuration-arguments bffe-configuration-extra-environment-variables): New procedures. (bffe-service-type): New variable. * gnu/tests/guix.scm (%test-bffe): New variable. * doc/guix.texi (Guix Services): Document the new service.
2023-09-08services: ganeti: Fix tests.Marius Bakke
* gnu/tests/ganeti.scm (run-ganeti-test)["force-start wconfd"]: Don't use INVOKE. ["gnt-os list"]: Import (ice-9 textual-ports).
2023-08-25image: Add mbr-raw-image-type and use by default.Josselin Poiret
* gnu/system/image.scm (mbr-disk-image, mbr-raw-image-type): New variables. (qcow2-image-type): Inherit mbr-disk-image. * guix/scripts/system.scm (%default-options): Use mbr-raw-image-type by default. * gnu/tests/install.scm (run-install): Use mbr-raw in the tests. * doc/guix-cookbook.texi (Guix System Image API): Update the list of image types. * doc/guix.texi (Invoking guix system, System Images, image-type Reference): Add mbr-raw and switch documented default to it.
2023-08-16gnu: elogind: Update to 252.9.Maxim Cournoyer
* gnu/packages/freedesktop.scm (elogind): Update to 252.9. [source]: Replace elogind-revert-polkit-detection.patch with elogind-fix-rpath.patch in patches. [configure-flags]: Add the dbussystemservicedir, dbussessionservicedir, dbussystemservicedir and dbus-interfaces-dir flags. [phases] <use-global-hook-directory> Update list of patched files. <adjust-tests> Update substitutions, and skip the copy_holes test. [native-inputs]: Add python-jinja2. [inputs]: Add util-linux:lib. * gnu/services/desktop.scm (elogind-dbus-service) <elogind-dbus-service-wrapper>: Add a symlink to elogind's share/dbus-1/system.d to expose D-Bus policy configurations. * gnu/tests/desktop.scm (run-elogind-test): Adjust expected result for the new "linger" value. * gnu/packages/patches/elogind-revert-polkit-detection.patch: Delete file. * gnu/packages/patches/elogind-fix-rpath.patch: New file. * gnu/local.mk (dist_patch_DATA): Update. Series-to: 64938@debbugs.gnu.org Series-prefix: elogind-updates Series-version: 2 Series-changes: 2 - Fix elogind system test - Install D-Bus policy files in elogind-dbus-service-wrapper - Remove duplicate 'dbussystemservicedir' configure flag
2023-08-15services: Add cachefilesd service.Felix Lechner
Thanks to Bruno Victal "mirai" for cooperating on this patch and for generously sharing a wealth of insights about Guix services. Thanks to Jean-Baptiste Note for an early version of this service! * doc/guix.texi (Linux Services)[Cachefilesd Service]: New heading. * gnu/services/linux.scm (serialize-string, non-negative-integer?) (serialize-non-negative-integer, string, non-negative-integer) (make-option-serializer, make-percentage-threshold-serializer): New procedures. (cachefilesd-configuration): New record type. (cachefilesd-service-type): New variable. * gnu/tests/cachefilesd.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Co-authored-by: Bruno Victal <mirai@makinata.eu> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-08-15tests: pam-limits: Confirm actual ulimits are installed.Felix Lechner
This revised system test is superior to the one accepted when #61744 was closed because it confirms whether the configured limits are actually being enforced upon login. The previous test merely validated the serialization of one particular config in the config file. * gnu/tests/pam.scm (pam-limits-service): Revise test to confirm limits on login. (%test-pam-limits)[description]: Update. (%test-pam-limits-deprecated): Remove. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-07-19tests: lightdm: Bump timeout waiting for screen text to 60 seconds.Maxim Cournoyer
This is to avoid non-deterministic failures on slower machines. * gnu/tests/lightdm.scm (run-lightdm-test) <wait-for-screen-text>: Bump timeout to 60 s (from the default 30 s).
2023-07-19tests: xvnc: Fix 'gdm auto-suspend is disabled' test.Maxim Cournoyer
This failure is another collateral from commit a09c7da ("tests: Fork and exec a new Guile for the marionette REPL."), which isolated the marionette evaluation environment from that of the host. * gnu/tests/vnc.scm (run-xvnc-test): Move the (guix build utils) import to... ["gdm auto-suspend is disabled"]: ... inside the marionette-eval of this test. Complete comment. Reported-by: Bruno Victal <mirai@makinata.eu>
2023-07-19tests: xvnc: Group up GDM test and use GNU Ocrad instead of Tesseract.Bruno Victal
* gnu/tests/vnc.scm (run-xvnc-test): Group up GDM test. Use GNU Ocrad. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-07-19tests: gdm: Prefer OCR to delay.Bruno Victal
* gnu/tests/gdm.scm (run-gdm-test): Use wait-for-screen-text instead of sleep. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-07-09gnu: lightdm: Apply patch to fix VNC server address binding ordering.Maxim Cournoyer
* gnu/packages/patches/lightdm-vnc-ipv6.patch: New patch file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/display-managers.scm (lightdm): Apply it. * gnu/tests/lightdm.scm (run-lightdm-test): Remove comment and expected fail directive for the "can connect to TCP port 5900 on IPv6" test. Suggested-by: Bruno Victal <mirai@makinata.eu>
2023-07-07image: Prefer gpt partition table for efi imagesSergey Trofimov
* gnu/system/image.scm (efi-disk-image): Use gpt partition-table-type. (efi32-disk-image): Use gpt partition-table-type. (qcow2-image-type): Use mbr partition-table-type explicitly. * gnu/tests/image.scm: Assert partition table type of efi-disk-image. Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
2023-05-25tests: Fix the Jami service system tests.Maxim Cournoyer
This fixes a regression introduced with commit a09c7da ("tests: Fork and exec a new Guile for the marionette REPL.") and only partially fixed with the follow-up commit f518882 (" tests: Add missing module imports for marionette-evaluated code."). * gnu/tests/telephony.scm (run-jami-test): Remove extraneous module imports. Move the setting of the DBUS_SESSION_BUS_ADDRESS environment variable inside the first marionette-eval'd setup test. ["service can be stopped"]: Add missing (gnu build dbus-service) module.
2023-05-18services: rsync: Use make-inetd-constructor.Maxim Cournoyer
* gnu/services/rsync.scm (rsync-shepherd-service): Use make-inetd-constructor if available in start slot. * gnu/tests/rsync.scm (run-rsync-test): Delete "PID file" test. Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2023-05-14tests: elogind: Wait until 'elogind' is up.Ludovic Courtès
Previously we could find ourselves typing in too early. * gnu/tests/desktop.scm (run-elogind-test)["login on tty1"]: Wait for 'elogind in to 'term-tty1. ["screendump"]: New test.
2023-05-14tests: dhcpd: Avoid race conditions.Ludovic Courtès
Those tests were racy: it could take a while for those files to appear and for the shepherd service to be up. Thus, wait a little longer for each of them. * gnu/tests/networking.scm (run-dhcpd-test)["pid file exists"] ["lease file exists"]: Use 'wait-for-file'. ["dhcpd is alive"]: Use 'wait-for-service'.
2023-05-11tests: vnstat: Avoid call to 'getservbyname'.Ludovic Courtès
This would break "make as-derivation" because /etc/services is unavailable in the build environment: [ 38/ 80] loading... 95.0% of 40 filesBacktrace: In guix/build/compile.scm: 249:8 19 (compile-files "." "/gnu/store/s5nadqd6hkzivkxp33svwqslfn608ng5-guix-system-tests" ("gnu/tests/audio.scm" "gnu/tests/base.scm" "gnu/tests/ci.scm" "gnu/tests/cups.scm" "gnu/tests/d…" …) …) […] In unknown file: 0 (getserv "discard" "tcp") ERROR: In procedure getserv: In procedure getserv: no such service discard builder for `/gnu/store/…-guix-system-tests.drv' failed with exit code 1 * gnu/tests/vnstat.scm (run-vnstat-test): Hard-code 'guest-port' instead of calling 'getservbyname'.
2023-05-11tests: Add vnstat tests.Bruno Victal
* gnu/tests/vnstat.scm: New file. * gnu/local.mk: Register it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11tests: openvswitch: Wait for 'openvswitch-configuration' to be up.Ludovic Courtès
Checking for "br0" should only be done once the 'openvswitch-configuration' service is up because it's the one that sets it up. * gnu/tests/networking.scm (run-openvswitch-test)["openvswitch-configuration is running"]: New test.
2023-05-10tests: docker-system: Add missing import.Ludovic Courtès
This is a followup to f51888272558d98cf5c196b93fb6c499056fbf6c. * gnu/tests/docker.scm (run-docker-system-test)["load system image and run it"]: Use (guix build utils).
2023-05-06tests: Add missing module imports for marionette-evaluated code.Ludovic Courtès
This missing imports became apparent with commit a09c7da8f8d8e732f969cf0a09aaa78f87032ab1, which runs the marionette service in a fresh Guile process with fewer imports. * gnu/tests/databases.scm (run-postgresql-test, run-timescaledb-test) (run-mysql-test): Add missing module imports for code passed to 'marionette-eval'. * gnu/tests/docker.scm (run-docker-test, run-docker-system-test): Likewise. * gnu/tests/mail.scm (run-dovecot-test, run-getmail-test): Likewise. * gnu/tests/monitoring.scm (run-zabbix-server-test): Likewise. * gnu/tests/pam.scm (run-test-pam-limits): Likewise. * gnu/tests/reconfigure.scm (run-switch-to-system-test) (run-install-bootloader-test): Likewise. * gnu/tests/security-token.scm (run-pcscd-test): Likewise. * gnu/tests/install.scm (gui-test-program): Likewise. * gnu/tests/telephony.scm (run-jami-test): Add modules to the #:imported-modules argument of 'marionette-operating-system'. [test]: Remove them from 'with-imported-modules'; remove 'with-extensions'. Add "d-bus tooling loaded" test to set up %load-path and %load-compiled-path so the marionette process can find guile-ac-d-bus and guile-packrat.
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-04-14gnu: MariaDB: Update to 10.10.2.Marius Bakke
* gnu/packages/databases.scm (mariadb): Update to 10.9.3. [source](snippet): Remove adjustments for deprecated TokuDB. [arguments]: Remove obsolete #:configure-flags. Build with system libfmt. Adjust tests for 10.10.2, and mariadb_config file name. Remove patch phase. [native-inputs]: Remove obsolete patch. [inputs]: Add FMT. Change from OPENSSL-1.1 to OPENSSL. * gnu/tests/databases.scm (%mysql-os): Adjust config file so MariaDB works on overlayfs.
2023-03-30services: pam-limits-service-type: Deprecate file-like object support in ↵Bruno Victal
favour for lists as service value. * doc/guix.texi (Base Services): Document it. * gnu/local.mk: Register test. * gnu/services/base.scm (pam-limits-service-type): Accept both lists and file-like objects. Deprecate file-like object support. * gnu/tests/pam.scm: New file. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-21tests: gdm: Remove tmpfs related tests.Bruno Victal
This test never managed to reveal the problem described in [1] because from gnu/system/vm.scm it is seen that our "/tmp" mount is filtered out and replaced with a "/tmp" file-system that is mounted with (needed-for-boot? #t). This last bit is crucial as the problem was caused by the user specified "/tmp" file-system lacking this part which caused "/tmp" being mounted after x11-socket-directory-service has run, effectively shadowing the directory. [1]: <https://issues.guix.gnu.org/57589> * gnu/tests/gdm.scm (%test-gdm-wayland-tmpfs): Delete variable. (make-os): Remove tmpfs? argument. (run-gdm-test): Remove tmpfs? argument. Add a small delay since waiting for gdm.pid is not enough, causing the tests to fail sporadically. Reviewed-by: Josselin Poiret <dev@jpoiret.xyz> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-03-21services: Add x11-socket-directory-service-type.Bruno Victal
The x11-socket-directory-service misuses activation-service-type to create directories. This kind of usage is incorrect since activation-service-type does not depend on file-systems, hence incompatible with user defined /tmp mount. This commit turns x11-socket-directory-service into a shepherd one-shot service by defining a new x11-socket-directory-service-type. * gnu/services/desktop.scm (x11-socket-directory-service-type): New variable. (x11-socket-directory-service): Deprecate procedure. (desktop-services-for-system): Use new service-type. * gnu/tests/lightdm.scm: Ditto. Reviewed-by: Josselin Poiret <dev@jpoiret.xyz> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
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-03-03services: mail: Deprecate 'dovecot-service' procedure.Bruno Victal
* doc/guix.texi (Mail Services): Replace 'dovecot-service' with 'dovecot-service-type'. * gnu/services/mail.scm (dovecot-service-type): Set default value. (dovecot-service): Deprecate procedure. * gnu/tests/mail.scm (%dovecot-os): Use dovecot-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: dbus: Deprecate 'polkit-service' procedure.Bruno Victal
* doc/guix.texi (Desktop Services): Replace 'polkit-service' with 'polkit-service-type'. * gnu/services/dbus.scm (polkit-service): Deprecate procedure. * gnu/tests/docker.scm (%docker-os): Use polkit-service-type. * gnu/tests/virtualization.scm (%libvirt-os): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: desktop: Deprecate 'accountsservice-service' procedure.Bruno Victal
* doc/guix.texi (Desktop Services): Replace 'accountsservice-service' with 'accountsservice-service-type'. * gnu/services/desktop.scm (accountsservice-service): Deprecate procedure. (desktop-services-for-system): Use accountsservice-service-type. * gnu/tests/lightdm.scm (minimal-desktop-services): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-03-03services: desktop: Deprecate 'elogind-service' procedure.Bruno Victal
* doc/guix.texi (Desktop Services): Replace 'elogind-service' with 'elogind-service-type'. * gnu/services/desktop.scm (elogind-service): Deprecate procedure. (desktop-services-for-system): Use elogind-service-type. * gnu/tests/lightdm.scm (minimal-desktop-services): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-02-09system: Deprecate hosts-file.Bruno Victal
* gnu/system.scm (operating-system-hosts-file): Deprecate procedure. (warn-hosts-file-field-deprecation): New procedure, helper for deprecated variable. (operating-system)[hosts-file]: Use helper to warn deprecated field. (local-host-aliases): Mark as deprecated. (local-host-entries): New procedure. (operating-system-default-essential-services, hurd-default-essential-services): Use hosts-service-type. Use '%operating-system-hosts-file' and 'local-host-entries'. (default-/etc/hosts): Remove procedure. (operating-system-etc-service): Remove hosts file. * doc/guix.texi (operating-system Reference) (Networking Services) (Virtualization Services): Rewrite documentation entries to use hosts-service-type. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2023-02-05services: Add mympd-service-type.Bruno Victal
* gnu/services/audio.scm (mympd-service-type): New variable. * gnu/tests/audio.scm (%test-mympd): New variable. * doc/guix.texi: Document it. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-01-22gnu: hpcguix-web: Update to 0.3.0.Ludovic Courtès
* gnu/packages/web.scm (hpcguix-web): Update to 0.3.0. [inputs]: Add GUILE-SYNTAX-HIGHLIGHT. [arguments]: In 'wrap-program' phase, take guile-syntax-highlight into account. * gnu/tests/web.scm (%hpcguix-web-specs): Remove 'define'. * doc/guix.texi (Web Services): Adjust accordingly.
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-12-12Merge branch 'version-1.4.0'Ludovic Courtès
2022-12-06tests: docker-system: Increase image size.Ludovic Courtès
* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase 'disk-image-size'.
2022-12-06Revert "tests: install: Fix iso-image-installer test."Maxim Cournoyer
This reverts commit 0f66ef9aa99d2043abccbc80d858bdeca57534ac. e2fsprogs is now included in the installation operating system since 34f69bc6e6ea555929ecca83ee7592f5261ff5f2, making this workaround obsolete. Suggested-by: Ludovic Courtès <ludo@gnu.org>
2022-12-05Revert "tests: install: Fix iso-image-installer test."Maxim Cournoyer
This reverts commit 0f66ef9aa99d2043abccbc80d858bdeca57534ac. e2fsprogs is now included in the installation operating system since 34f69bc6e6ea555929ecca83ee7592f5261ff5f2, making this workaround obsolete. Suggested-by: Ludovic Courtès <ludo@gnu.org>
2022-12-04tests: Add gdm tests.Bruno Victal
* gnu/tests/gdm.scm: New file. * gnu/local.mk: Register it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-11-20tests: mysql: Wait for the socket before running queries.Marius Bakke
* gnu/tests/databases.scm (run-mysql-test): Add socket test.
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: lightdm: Use set-xorg-configuration to set keyboard layout.Maxim Cournoyer
This is to validate that it works, when the login manager service type is properly specified. * gnu/tests/lightdm.scm (%lightdm-os): Use set-xorg-configuration.
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-07tests: xvnc: Do not use specification->package in OS definition.Maxim Cournoyer
Doing so would cause the extra package dependencies to not be correctly registered as dependencies, which would lead to a silent failure when attempting to load or byte compile the module at the time guix build itself (e.g., when running 'guix pull'). * gnu/tests/vnc.scm (%xvnc-os) [packages]: Turn the the specification->package declaration into a list of package objects.
2022-10-07Revert "Revert "services: Add xvnc-service-type.""Maxim Cournoyer
This reverts commit 0c4966160054bc50e6ab3a4ac9c9a6a1826ab5a0. The fix appears in the subsequent commit, for clarity.
2022-10-07Revert "services: Add xvnc-service-type."Maxim Cournoyer
This reverts commit 1c528a95cb92b7808e6603d7956185005583629f. This broke 'guix pull', for (yet) unknown reasons.
2022-10-07services: Add xvnc-service-type.Maxim Cournoyer
* gnu/services/vnc.scm: New file. * gnu/tests/vnc.scm: Likewise. * gnu/local.mk: Register them.