Commit Graph

455 Commits

Author SHA1 Message Date
Oleg Pykhalov fa222331bd
tests: install: Fix encrypted-root-not-boot-os test.
Fix build failure caused by lack of free disk space.

* gnu/tests/install.scm (%test-encrypted-root-not-boot-os): Increase the root
partition to 1600 MiB.

Change-Id: I9f8378c37743ae8e59a72228b9e8bdbad93b4473
2024-02-21 15:20:07 +03:00
Ludovic Courtès 9edbb2d7a4
services: Add ‘virtual-build-machine’ service.
* gnu/services/virtualization.scm (<virtual-build-machine>): New record type.
(%build-vm-ssh-port, %build-vm-secrets-port, %x86-64-intel-cpu-models):
New variables.
(qemu-cpu-model-for-date, virtual-build-machine-ssh-port)
(virtual-build-machine-secrets-port): New procedures.
(%minimal-vm-syslog-config, %virtual-build-machine-operating-system):
New variables.
(virtual-build-machine-default-image):
(virtual-build-machine-account-name)
(virtual-build-machine-accounts)
(build-vm-shepherd-services)
(initialize-build-vm-substitutes)
(build-vm-activation)
(virtual-build-machine-offloading-ssh-key)
(virtual-build-machine-activation)
(virtual-build-machine-secret-root)
(check-vm-availability)
(build-vm-guix-extension): New procedures.
(initialize-hurd-vm-substitutes): Remove.
(hurd-vm-activation): Rewrite in terms of ‘build-vm-activation’.
* gnu/system/vm.scm (linux-image-startup-command): New procedure.
(operating-system-for-image): Export.
* gnu/tests/virtualization.scm (run-command-over-ssh): New procedure,
extracted from…
(run-childhurd-test): … here.
[test]: Adjust accordingly.
(%build-vm-os): New variable.
(run-build-vm-test): New procedure.
(%test-build-vm): New variable.
* doc/guix.texi (Virtualization Services)[Virtual Build Machines]: New
section.
(Build Environment Setup): Add cross-reference.

Change-Id: I0a47652a583062314020325aedb654f11cb2499c
2024-02-10 23:21:07 +01:00
Wilko Meyer 10a1935963
gnu: Remove linux-libre 4.14.
* 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
2024-01-22 13:24:20 -05:00
Tomas Volf 0aec4e7b70
tests: install: Fix encrypted-home-os, encrypted-home-os-key-file tests.
The installation no longer fits into the 1.6G, leading to a warning while
running the test:

    guix system: warning: at least 1526.8 MB needed but only 1408.4 MB available in /mnt

Followed by a failure:

     93% [####################################################################     ]note: build failure may have been caused by lack of free disk space
    builder for `/gnu/store/8wl8q8nc1za0vlyv21jpzwgml45njgk2-module-import-compiled.drv' failed with exit code 1

This commit increases the root partition to 2G, making the test pass again.

* gnu/tests/install.scm (%encrypted-root-installation-script): Increase the
root partition to 2G.
(%test-encrypted-home-os), (%test-encrypted-home-os-key-file): Increase the
target size to 3G to accommodate for the larger root partition.

Change-Id: I0f7092f7b7fc9992d3f895a1eaecf1f2065b7360
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf 2bfff0da33
tests: install: Fix encrypted-root-os test.
The installation no longer fits into the 1.6G, leading to a warning while
running the test:

    guix system: warning: at least 1526.8 MB needed but only 1408.4 MB available in /mnt

Followed by a failure:

     93% [####################################################################     ]note: build failure may have been caused by lack of free disk space
    builder for `/gnu/store/8wl8q8nc1za0vlyv21jpzwgml45njgk2-module-import-compiled.drv' failed with exit code 1

This commit increases the root partition to 2G, making the test pass again.

* gnu/tests/install.scm (%encrypted-root-installation-script): Increase the
root partition to 2G.

Change-Id: I4cc5c78cfbd93ab2ae92ec77603ce6fee0289843
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf a355131ba8
tests: install: Use the smallest possible iteration time for LUKS.
For testing that installation works, there is no need to spent 2000ms (the
default) iterating while generating the encryption key.  This commit therefore
sets the iteration time to the lowest possible value, 1(ms).

* gnu/tests/install.scm (%encrypted-root-installation-script):
(%encrypted-home-installation-script):
(%encrypted-root-not-boot-installation-script): Pass -i 1 to luksFormat
invocation.

Change-Id: Iab79459b48bebe4d293b18290a236c6414fb27fc
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf 10ea0dba00
tests: Add `encrypted-home-os-key-file' installation test.
Based on encrypted-home-os, this test verifies unlocking via a key file.

* gnu/tests/install.scm (%encrypted-home-os-key-file),
(%encrypted-home-os-key-file-source): New variables.
(%test-encrypted-home-os-key-file): New exported variables.
(%encrypted-home-installation-script): Generate initrd with a key file for
unlocking the LUKS.

Change-Id: I04460155284bdef7e18da645f2b4b26bd8e86636
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf 0d7e40473b
tests: security: Fix fail2ban-extension-test.
The openssh-service-type requires 'networking to be setup.  So add a
static-networking-service-type that provides it.

* gnu/tests/security.scm
(run-fail2ban-extension-test)[simple-operating-system]: Add
static-networking-service-type service.

Change-Id: I8d736cbf3fcaa54f86fbd60c52b3595b647731e2
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-01-12 17:26:24 +01:00
Maxim Cournoyer 58ab25a2ce
tests: telephony: Fix typo.
* gnu/tests/telephony.scm: Fix typo.

Series-to: 65371@debbugs.gnu.org
Series-postfix: telephony-team
Series-version: 2

Change-Id: I3eb048b8cdd1335c45ffb61b08425a18a2e7a4b2
2024-01-09 22:10:14 -05:00
Wojtek Kosior 693a4785be
tests: telephony: Fix VPATH builds.
* gnu/tests/telephony.scm (%jami-account-content-sexp): New variable.  Compute
its value with `read` instead of using `include`.
* gnu/tests/data/jami-dummy-account.dat (%jami-account-content-sexp): Remove
variable.  Make the file contain just the S-expression.

Change-Id: I8d37aaf7b739f5f39715bfb8a9b8c9536385fd09
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-01-09 22:10:13 -05:00
Ludovic Courtès 4e0b93ce73
tests: childhurd: Increase SSH connection timeout.
* gnu/tests/virtualization.scm (run-childhurd-test)[run-command-over-ssh]:
Pass #:timeout.

Change-Id: I44bb3673457275fe3a8ec0af2e364292727f53a8
2024-01-08 23:14:46 +01:00
Oleg Pykhalov bdf0ba4ca1
tests: docker-system: Increase image size.
* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase
'disk-image-size'.

Change-Id: If88588d8981efdfdc539460900f1cbb9a663f9cb
2024-01-08 21:04:44 +03:00
Ludovic Courtès 2cc881ac13
tests: jami: Double timeouts.
* gnu/tests/telephony.scm (run-jami-test): Pass #:timeout to
‘wait-for-service’.  Double number passed to ‘with-retries’.

Change-Id: Ib3c81a770c2d52b2eb40e4f28abc8e33f5c71fc8
2023-12-22 00:31:41 +01:00
Ludovic Courtès 204f08c43e
tests: jami: Check status of Jami D-Bus session.
* gnu/tests/telephony.scm (run-jami-test)["dbus session is up"]: New
test.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Ifa9b57c732f3c64e1ec6bf3028b69a57cee56320
2023-12-22 00:31:41 +01:00
Thomas Ieong b681e339fa
services: Add rspamd-service-type.
* gnu/services/mail.scm (rspamd-service-type): New variable.
* gnu/tests/mail.scm (%test-rspamd): New variable.
* doc/guix.texi: Document it.

Co-authored-by: Saku Laesvuori <saku@laesvuori.fi>
Change-Id: I7196643f087ffe9fc91aab231b69d5ed8dc9d198
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-12-14 23:12:24 +01:00
Ludovic Courtès 1de1b975be
tests: childhurd: Prefer “-cpu max” over “-cpu host”.
“-cpu host” can sometimes, for unclear reasons, lead to this error from
QEMU 8.1.1:

  qemu-system-x86_64: CPU model 'host' requires KVM or HVF

This commit fixes it.

Inspired by
<47b56e7c19>.

* gnu/tests/virtualization.scm (run-childhurd-test)[test]: Prefer
“-cpu max” over “-cpu host”.

Change-Id: I11a8a68bb0532fe1f3fd2c34b4a7a5fdb7bccb57
2023-12-14 23:12:24 +01:00
Ludovic Courtès 31b39f2a33
tests: inetd: Avoid race condition when looking for PID file.
* gnu/tests/networking.scm (run-inetd-test): Use ‘wait-for-file’ instead
of ‘file-exists?’.

Change-Id: I3e596814485428fb81595d81c4e03519340c6576
2023-11-05 23:23:23 +01:00
Alexey Abramov 670d985cab
services: static-networking: Add support for bonding.
* gnu/services/base.scm (<network-link>): Add mac-address field. Set
type field to #f by default, so it won't be mandatory. network-link
without a type will be used for existing interfaces.
(assert-network-link-mac-address, mac-address?): Add sanitizer. Allow
valid mac-address or #f.
(assert-network-link-type): Add sanitizer. Allow symbol or #f.
* gnu/services/base.scm (network-set-up/linux,
network-tear-down/linux): Adapt to new structure.
* doc/guix.texi (Networking Setup): Document it.
* gnu/tests/networking.scm (run-static-networking-advanced-test): New
variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-10-11 18:51:07 +02:00
Ludovic Courtès 917c17c052
tests: childhurd: Test SSH connection with a non-root user.
* gnu/tests/virtualization.scm (%childhurd-os): Remove ‘services’ and
add ‘users’ to the GNU/Hurd ‘operating-system’ declaration.
(run-childhurd-test)[run-command-over-ssh]: Log in as “test” instead of
“root”.
2023-10-05 23:14:55 +02:00
Ludovic Courtès 953c65ffdd
services: hurd-vm: Implement zero-configuration offloading.
This allows for zero-configuration offloading to a childhurd.

* gnu/services/virtualization.scm (operating-system-with-offloading-account):
New procedure.
(<hurd-vm-configuration>)[offloading?]: New field.
(hurd-vm-disk-image): Define ‘transform’ and use it.
(hurd-vm-activation): Generate SSH key for user ‘offloading’ and add
authorize it via /etc/childhurd/etc/ssh/authorized_keys.d.
(hurd-vm-configuration-offloading-ssh-key)
(hurd-vm-guix-extension): New procedures.
(hurd-vm-service-type): Add GUIX-SERVICE-TYPE extension.
* gnu/tests/virtualization.scm (run-childhurd-test)[import-module?]: New
procedure.
[os]: Add (gnu build install) and its closure to #:import-modules.
[test]: Add “copy-on-write store” and “offloading” tests.
* doc/guix.texi (Virtualization Services): Document it.
2023-10-01 22:58:20 +02:00
Ludovic Courtès c3a19cc2ac
services: hurd-vm: Disable password-based authentication for root.
With offloading to a childhurd is enabled, allowing password-less root
login in the childhurd to anyone amounts to providing write access to
the host’s store to anyone.  Thus, disable password-based root logins in
the childhurd.

* gnu/services/virtualization.scm (%hurd-vm-operating-system): Change
‘permit-root-login’ to 'prohibit-password.
* gnu/tests/virtualization.scm (%childhurd-os): Provide a custom ‘os’
field for ‘hurd-vm-configuration’.
* doc/guix.texi (Virtualization Services): Remove mention of
password-less root login.
2023-10-01 22:58:20 +02:00
Ludovic Courtès 100d71f8a1
tests: hurd-vm: Remove custom disk image configuration.
This was added in 18e76f8905.  Presumably,
the problem was that using compressed QCOW2 images makes the childhurd
slower, so it’s eventually marked as failing to start.  By enabling KVM
inside the Guix System VM, we allow the childhurd to run on KVM, which
compensates the slowdown due to the use of a compressed image.

* gnu/tests/virtualization.scm (hurd-vm-disk-image-raw): Remove.
(%childhurd-os): Use default config for ‘hurd-vm-service-type’.
(run-childhurd-test)[test]: Pass “-cpu host” to the run-vm script.
2023-10-01 22:58:19 +02:00
Ludovic Courtès bab6434f58
services: hurd-vm: ‘image’ field has to be an <image> record.
* gnu/services/virtualization.scm (<hurd-vm-configuration>)[image]:
Document as being an <image> record.
(hurd-vm-disk-image): Remove call to ‘system-image’.
(hurd-vm-shepherd-service): Add call to ‘system-image’.
* gnu/tests/virtualization.scm (hurd-vm-disk-image-raw): Remove call to
‘system-image’.
* doc/guix.texi (Virtualization Services): Adjust accordingly.
2023-10-01 22:58:19 +02:00
Ludovic Courtès db014e394e
tests: childhurd: Add missing module imports.
Fixes a regression introduced in
a09c7da8f8.

* gnu/tests/virtualization.scm (run-childhurd-test)[test]: Import (ice-9
textual-ports) and (ice-9 match) in the marionette when needed.
2023-09-17 15:31:03 +02:00
Christopher Baines 82abf6ddad
services: guix: Add bffe-service-type.
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-15 09:57:32 +01:00
Marius Bakke a71ce15c73
services: ganeti: Fix tests.
* gnu/tests/ganeti.scm (run-ganeti-test)["force-start wconfd"]: Don't use
INVOKE.
["gnt-os list"]: Import (ice-9 textual-ports).
2023-09-08 18:53:46 +08:00
Josselin Poiret d57cab7641
image: Add mbr-raw-image-type and use by default.
* 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-25 14:24:21 +02:00
Maxim Cournoyer 132ddca5a4
gnu: elogind: Update to 252.9.
* 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-16 11:24:10 -04:00
Felix Lechner b8ee6b8a59
services: Add cachefilesd service.
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-15 23:30:44 +02:00
Felix Lechner 465c328c82
tests: pam-limits: Confirm actual ulimits are installed.
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-08-15 23:30:43 +02:00
Maxim Cournoyer 1d837aaa32
tests: lightdm: Bump timeout waiting for screen text to 60 seconds.
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-19 10:38:15 -04:00
Maxim Cournoyer 1edbadc6b4
tests: xvnc: Fix 'gdm auto-suspend is disabled' test.
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-19 10:38:15 -04:00
Bruno Victal 9542429299
tests: xvnc: Group up GDM test and use GNU Ocrad instead of Tesseract.
* 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-19 10:38:15 -04:00
Bruno Victal ab2abe16de
tests: gdm: Prefer OCR to delay.
* 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-19 10:38:15 -04:00
Maxim Cournoyer 65c77f6089
gnu: lightdm: Apply patch to fix VNC server address binding ordering.
* 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-09 22:51:08 -04:00
Sergey Trofimov 209204e23b
image: Prefer gpt partition table for efi images
* 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-07-07 21:14:10 +02:00
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