Commit graph

419 commits

Author SHA1 Message Date
Maxim Cournoyer
99fc7e5dd3
tests: Fix the Jami service system tests.
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-25 10:17:32 -04:00
Maxim Cournoyer
03e601da49
services: rsync: Use make-inetd-constructor.
* 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-18 23:10:56 -04:00
Ludovic Courtès
150367c84d
tests: elogind: Wait until 'elogind' is up.
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-14 23:14:25 +02:00
Ludovic Courtès
8aaa5cf405
tests: dhcpd: Avoid race conditions.
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-14 23:14:25 +02:00
Ludovic Courtès
d6f6b57766
tests: vnstat: Avoid call to 'getservbyname'.
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-11 18:09:45 +02:00
Bruno Victal
1e4c45b0dc
tests: Add vnstat tests.
* gnu/tests/vnstat.scm: New file.
* gnu/local.mk: Register it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-11 16:38:29 +02:00
Ludovic Courtès
b2a65b4c8c
tests: openvswitch: Wait for 'openvswitch-configuration' to be up.
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-11 13:21:45 +02:00
Ludovic Courtès
1be5bf5604
tests: docker-system: Add missing import.
This is a followup to f518882725.

* gnu/tests/docker.scm (run-docker-system-test)["load system image and
run it"]: Use (guix build utils).
2023-05-10 00:23:52 +02:00
Ludovic Courtès
f518882725
tests: Add missing module imports for marionette-evaluated code.
This missing imports became apparent with commit
a09c7da8f8, 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-05-06 17:12:45 +02:00
Ludovic Courtès
fb32e226ce
tests: Use the client 'start-service' procedure.
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-21 16:16:38 +02:00
Marius Bakke
88d7612aaa
gnu: MariaDB: Update to 10.10.2.
* 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-04-14 15:10:59 -04:00
Bruno Victal
6d0ad93020
services: pam-limits-service-type: Deprecate file-like object support in 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-30 23:18:16 +02:00
Bruno Victal
0c53cbcc56
tests: gdm: Remove tmpfs related tests.
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-21 16:53:28 -04:00
Bruno Victal
b7506eb334
services: Add x11-socket-directory-service-type.
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-21 16:53:27 -04:00
Bruno Victal
2799ad4423
services: dbus: Deprecate 'dbus-service' procedure.
* 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-03 17:55:35 +01:00
Bruno Victal
c6cbce9ad8
services: mail: Deprecate 'dovecot-service' procedure.
* 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-03 17:55:34 +01:00
Bruno Victal
ffc5d42fc2
services: dbus: Deprecate 'polkit-service' procedure.
* 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-03 17:55:34 +01:00
Bruno Victal
c3dc13e29c
services: desktop: Deprecate 'accountsservice-service' procedure.
* 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-03 17:55:33 +01:00
Bruno Victal
00767d967d
services: desktop: Deprecate 'elogind-service' procedure.
* 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-03-03 17:55:33 +01:00
Bruno Victal
802ea1f3a4
system: Deprecate hosts-file.
* 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-09 01:07:47 +01:00
Bruno Victal
139c9a53cb
services: Add mympd-service-type.
* 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-02-05 06:56:44 +01:00
Ludovic Courtès
e1dbac04c3
gnu: hpcguix-web: Update to 0.3.0.
* 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-22 18:12:09 +01:00
Leo Famulari
064c5b7e45
gnu: Remove linux-libre 4.9.
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.
2023-01-08 15:15:09 -05:00
Marius Bakke
2c1b488d19
tests: Add system tests for each supported kernel version.
* 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-12 20:23:32 +01:00
Ludovic Courtès
302a84a593
Merge branch 'version-1.4.0' 2022-12-12 15:03:35 +01:00
Ludovic Courtès
6232959311
tests: docker-system: Increase image size.
* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase
'disk-image-size'.
2022-12-06 15:10:24 +01:00
Maxim Cournoyer
2493de0d1a
Revert "tests: install: Fix iso-image-installer test."
This reverts commit 0f66ef9aa9.  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-06 10:24:59 +01:00
Maxim Cournoyer
4016e01fdf
Revert "tests: install: Fix iso-image-installer test."
This reverts commit 0f66ef9aa9.  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-05 11:21:18 -05:00
Bruno Victal
b2a848d23d
tests: Add gdm tests.
* gnu/tests/gdm.scm: New file.
* gnu/local.mk: Register it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-04 23:12:36 +01:00
Marius Bakke
96efebed24
tests: mysql: Wait for the socket before running queries.
* gnu/tests/databases.scm (run-mysql-test): Add socket test.
2022-11-20 17:54:04 +01:00
Ludovic Courtès
8d9647d8a7
services: Add Shepherd 'configuration' action to various services.
* 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-18 15:44:39 +01:00
Maxim Cournoyer
1bea5d38a2
tests: lightdm: Use set-xorg-configuration to set keyboard layout.
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-17 17:43:30 -05:00
Ludovic Courtès
00b9ab0a83
tests: root-unmount: Wait for the first QEMU process to finish.
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-11-17 11:10:09 +01:00
Maxim Cournoyer
0169aee33e
tests: xvnc: Do not use specification->package in OS definition.
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-07 15:08:05 -04:00
Maxim Cournoyer
00e8430500
Revert "Revert "services: Add xvnc-service-type.""
This reverts commit 0c49661600.  The fix appears
in the subsequent commit, for clarity.
2022-10-07 15:07:48 -04:00
Maxim Cournoyer
0c49661600
Revert "services: Add xvnc-service-type."
This reverts commit 1c528a95cb.  This broke
'guix pull', for (yet) unknown reasons.
2022-10-07 12:53:22 -04:00
Maxim Cournoyer
1c528a95cb
services: Add xvnc-service-type.
* gnu/services/vnc.scm: New file.
* gnu/tests/vnc.scm: Likewise.
* gnu/local.mk: Register them.
2022-10-07 10:11:13 -04:00
Maxim Cournoyer
21f641e9fa
marionette: Make marionette-screen-text private.
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-10-07 10:11:11 -04:00
Mathieu Othacehe
0f66ef9aa9
tests: install: Fix iso-image-installer test.
This is a follow-up of: 45eac6cdf5.
It fixes the following error:

+ mkfs.ext4 -L my-root /dev/vda2
sh: line 12: mkfs.ext4: command not found

* gnu/tests/install.scm (%test-iso-image-installer): Add e2fsprogs to the
appended packages.
2022-09-30 15:21:36 +02:00
Maxim Cournoyer
28a50eeac7
tests: telephony: Add missing import to fix jami tests.
* gnu/tests/telephony.scm (run-jami-test): Add a missing (ice-9 match) import
directive.

Co-authored-by: Olivier Dion <olivier.dion@polymtl.ca>
2022-09-26 15:52:35 -04:00
Simon Streit
e1ce100915
services: Add wsdd service.
* doc/guix.texi: Add documentation for wsdd service.
* gnu/services/samba.scm (<wsdd-configuration>): New record.
(wsdd-service-type): New variable.
(wsdd-shepherd-services): New procedure.
* gnu/tests/samba.scm (%wsdd-os): Add variable.
(run-wsdd-test): New procedure.
(%test-wsdd): New variable.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:41:24 +02:00
Simon Streit
d68721c55a
services: Add samba service.
* gnu/services/samba.scm: New file.
* gnu/tests/samba.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add them.
* po/guix/POTFILES.in Add 'gnu/services/samba.scm'.
* doc/guix.texi: Document it.

Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
2022-09-24 09:38:57 +02:00
Maxim Cournoyer
35e8615d38
Revert "tests: telephony: Add extra packages to %jami-os for debugging."
This reverts commit 829c19142e, as it broke
'guix pull'.
2022-09-24 00:22:19 -04:00
Maxim Cournoyer
fd109c5c09
tests: jami-provisioning: Fix test derivation name.
* gnu/tests/telephony.scm (run-jami-test): Fix test derivation name.
2022-09-23 23:56:16 -04:00
Maxim Cournoyer
829c19142e
tests: telephony: Add extra packages to %jami-os for debugging.
* gnu/tests/telephony.scm (make-jami-os): Add libjami:debug, gdb, guile,
guile-ac-d-bus, guile-readline, guile-fibers, screen and strace.
(run-jami-test)<jami service actions, ban/unban contacts>: Add (ice-9 match),
for lambda-match (worked without it but needed when manually testing).
2022-09-23 23:56:15 -04:00
Mathieu Othacehe
5f07efda06
tests: dict: Increase VM memory-size.
* gnu/tests/dict.scm (run-dicod-test): Increase it to 1024 MiB.
2022-09-08 15:17:31 +02:00
Mathieu Othacehe
73fb14c28a
tests: image: New test.
Add a new image test module to validate the image creation itself. The images
structures are validated using guile-parted. Checking the content of those
images is out of scope and should be performed in other modules (installation
for instance).

* gnu/tests/image.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2022-08-30 19:29:58 +02:00
Marius Bakke
eb52b240eb
gnu: Add missing copyright line.
This is a follow-up to commit 3e0abde17b.

* gnu/tests/virtualization.scm: Add copyright header for myself.
2022-08-29 21:21:40 +02:00
Marius Bakke
3e0abde17b
tests: libvirt: Ensure the default network can be started.
* gnu/tests/virtualization.scm (run-libvirt-test): Run commands to create and
start the default network.
2022-08-29 21:15:58 +02:00
Maxim Cournoyer
0ea62e84a7
services: Add lightdm-service-type.
* gnu/services/lightdm.scm: New service.
* tests/services/lightdm.scm: Test it.
* doc/guix.texi (X Window): Document it.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it.

Co-authored-by: L p R n d n <guix@lprndn.info>
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
2022-08-28 22:28:47 -04:00