aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests
Commit message (Collapse)AuthorAge
* image: Do not use VM to create disk-images.Mathieu Othacehe2020-05-29
| | | | | | | | | | | | | | | | Now that installing Grub on raw disk-images is supported, we do not need to rely on (gnu system vm) module. * gnu/system/image.scm (make-system-image): Rename to ... (system-image): ... this, and remove the compatibility wrapper. (find-image): Turn to a monadic procedure. This will become useful when introducing Hurd support, to be able to detect the target system. * gnu/ci.scm (qemu-jobs): Use lower-object now that system-image returns a file-like object. * gnu/tests/install.scm (run-install): Ditto. * guix/scripts/system.scm (system-derivation-for-action): Add a 'base-image' argument, (perform-action): adapt accordingly.
* bootloader: grub: Allow booting from a Btrfs subvolume.Maxim Cournoyer2020-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/grub.scm (strip-mount-point): Remove procedure. (normalize-file): Add procedure. (grub-configuration-file): New BTRFS-SUBVOLUME-FILE-NAME parameter. When defined, prepend its value to the kernel and initrd file names, using the NORMALIZE-FILE procedure. Adjust the call to EYE-CANDY to pass the BTRFS-SUBVOLUME-FILE-NAME argument. Normalize the KEYMAP file as well. (eye-candy): Add a BTRFS-SUBVOLUME-FILE-NAME parameter, and use it, along with the NORMALIZE-FILE procedure, to normalize the FONT-FILE and IMAGE nested variables. Adjust doc. * gnu/bootloader/depthcharge.scm (depthcharge-configuration-file): Adapt. * gnu/bootloader/extlinux.scm (extlinux-configuration-file): Likewise. * gnu/system/file-systems.scm (btrfs-subvolume?) (btrfs-store-subvolume-file-name): New procedures. * gnu/system.scm (operating-system-bootcfg): Specify the Btrfs subvolume file name the store resides on to the `operating-system-bootcfg' procedure, using the new BTRFS-SUBVOLUME-FILE-NAME argument. * doc/guix.texi (File Systems): Add a Btrfs subsection to document the use of subvolumes. * gnu/tests/install.scm (%btrfs-root-on-subvolume-os) (%btrfs-root-on-subvolume-os-source) (%btrfs-root-on-subvolume-installation-script) (%test-btrfs-root-on-subvolume-os): New variables.
* Merge branch 'master' into core-updatesMarius Bakke2020-05-05
|\
| * image: Add a new API.Mathieu Othacehe2020-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Raw disk-images and ISO9660 images are created in a Qemu virtual machine. This is quite fragile, very slow, and almost unusable without KVM. For all these reasons, add support for host image generation. This implies the use new image generation mechanisms. - Raw disk images: images of partitions are created using tools such as mke2fs and mkdosfs depending on the partition file-system type. The partition images are then assembled into a final image using genimage. - ISO9660 images: the ISO root directory is populated within the store. GNU xorriso is then called on that directory, in the exact same way as this is done in (gnu build vm) module. Those mechanisms are built upon the new (gnu image) module. * gnu/image.scm: New file. * gnu/system/image.scm: New file. * gnu/build/image: New file. * gnu/local.mk: Add them. * gnu/system/vm.scm (system-disk-image): Rename to system-disk-image-in-vm. * gnu/ci.scm (qemu-jobs): Adapt to new API. * gnu/tests/install.scm (run-install): Ditto. * guix/scripts/system.scm (system-derivation-for-action): Ditto.
| * tests: install: Test a F2FS root file system.Danny Milosavljevic2020-05-03
| | | | | | | | | | * gnu/tests/install.scm (%f2fs-root-os, %f2fs-root-installation-script, %test-f2fs-root-os): New variables.
* | Merge branch 'master' into core-updatesMarius Bakke2020-04-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/backup.scm gnu/packages/emacs-xyz.scm gnu/packages/guile.scm gnu/packages/lisp.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/web.scm gnu/packages/xorg.scm
| * tests: install: Fix device usage.Mathieu Othacehe2020-04-29
| | | | | | | | | | | | | | | | | | | | This is a follow-up of a860eddbbddeae5d3b6fe084e29ac9fafd2d6f02. Guided installation tests are now run from an ISO image. Hence the main block device is vda and not vdb anymore. * gnu/tests/install.scm (installation-target-os-for-gui-tests): Use %minimal-os-on-vda instead of %minimal-os. (%minimal-os-on-vda): Make sure that it replicates the config of %minimal-os.
| * tests: install: Fix gui-installed-os test.Mathieu Othacehe2020-04-29
| | | | | | | | | | | | | | | | This is a follow-up of a860eddbbddeae5d3b6fe084e29ac9fafd2d6f02. If using an ISO, the main disk is vda and not vdb anymore. * gnu/tests/install.scm (installation-target-os-for-gui-tests): Use vda2 as swap partition.
| * tests: install: Increase virtual machine RAM.Mathieu Othacehe2020-04-29
| | | | | | | | | | | | | | | | | | | | It seems that 'guix system init' is consuming more than the 800M of RAM currently allocated. Until this is understood, bump the limit to 1.2G. Reported here: https://lists.gnu.org/archive/html/bug-guix/2020-04/msg00519.html * gnu/tests/install.scm (run-install): Bump RAM to 1.2G.
| * reconfigure: Don't call build-derivations for upgrade-services testChristopher Baines2020-04-26
| | | | | | | | | | | | | | | | | | | | This commit adjusts the upgrade-services system test to not build anything when computing the derivation for the system test. I came across this when looking at issues computing the system test derivations to store in the Guix Data Service. * gnu/tests/reconfigure.scm (run-upgrade-services-test): Remove the use of, and definition for ensure-service-file.
* | tests: Add 'guile-final' to the installation test GC roots.Marius Bakke2020-04-26
|/ | | | | * gnu/tests/install.scm (run-install): Add GUILE-FINAL to OPERATING-SYSTEM-WITH-GC-ROOTS.
* system: Automatically adjust linux-module packages to use theDanny Milosavljevic2020-04-22
| | | | | | | | operating-system's kernel. * gnu/system.scm (package-for-kernel): New procedure. (operating-system-directory-base-entries): Use it. * gnu/tests/linux-module.scm: Test it.
* tests: web: Explicitly wait for the HTTP port.Ludovic Courtès2020-04-21
| | | | * gnu/tests/web.scm (run-webserver-test)["HTTP port ready"]: New test.
* tests: ssh: Explicitly wait for port 22.Ludovic Courtès2020-04-21
| | | | | | | Previously we could occasionally try to connect before the server is actually listening, both for OpenSSH and Dropbear. * gnu/tests/ssh.scm (run-ssh-test)["wait for port 22"]: New test.
* tests: openvswitch: Use the absolute file name of ovs-vsctl.Marius Bakke2020-04-10
| | | | | | | | | This fixes a regression introduced in 8b9cad01e9619f53dc5a65892ca6a09ca5de3447 where ovs-vsctl would no longer be available in PATH. * gnu/tests/networking.scm (run-openvswitch-test): Qualify "ovs-vsctl" invocation by ungexping the OPENVSWITCH variable instead of assuming it's available on PATH.
* tests: Run guided installation tests from an ISO image.Ludovic Courtès2020-04-10
| | | | | * gnu/tests/install.scm (guided-installation-test): Pass #:installation-disk-image-file-system-type to 'run-install'.
* tests: Mark VM images as non-substitutable.Ludovic Courtès2020-04-08
| | | | | * gnu/tests/install.scm (run-install): Pass #:substitutable? to 'system-disk-image' and to 'gexp->derivation'.
* services: guix: Add 'set-http-proxy' action.Ludovic Courtès2020-04-07
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/25569>. Reported by Divan Santana <divan@santanas.co.za>. * gnu/services/base.scm (shepherd-set-http-proxy-action): New procedure. (guix-shepherd-service): Add 'actions' field. Change 'start' to a lambda; check the value of the "http_proxy" environment variable and add "http_proxy" and "https_proxy" to #:environment-variables as a function of that. * gnu/tests/base.scm (run-basic-test)["guix-daemon set-http-proxy action", "guix-daemon set-http-proxy action, clear"]: New tests. * doc/guix.texi (Base Services): Document it.
* services: syslog: Create log files as non-world-readable.Ludovic Courtès2020-04-06
| | | | | | | | | | Partly fixes <https://bugs.gnu.org/40405>. Reported by Diego Nicola Barbato <dnbarbato@posteo.de>. * gnu/services/base.scm (syslog-service-type): Change 'start' method to set umask to #o137 before spawning syslogd. * gnu/tests/base.scm (run-basic-test)["/var/log/messages is not world-readable"]: New test.
* gnu: Add kernel-module-loader-service.Brice Waegeneire2020-04-05
| | | | | | | | | | | | | | | * doc/guix.texi (Linux Services): Add a new subsection and document the new service and its configuration. * gnu/services/linux.scm (kernel-module-loader-service-type): New type. (kernel-module-loader-shepherd-service): New procedure. * gnu/tests/linux-modules.scm (module-loader-program): Procedure removed. (modules-loaded?-program): New procedure. (run-loadable-kernel-modules-test): 'module-loader-program' procedure replaced by the new one. [os]: Use 'kernel-module-loader-service'. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
* tests: install: Add %test-gui-installed-desktop-os-encrypted.Mathieu Othacehe2020-03-26
| | | | | | | | | | | | * gnu/tests/install.scm (gui-test-program): Add a desktop? argument, and pass it to choose-services, (installation-target-os-for-gui-tests): new procedure, (installation-target-desktop-os-for-gui-tests): new procedure, (guided-installation-test): add target-os and desktop? arguments. Use target-os instead of the previous os variable. Pass desktop? argument to gui-test-program. (%test-gui-installed-os): Adapt accordingly, (%test-gui-installed-os-encrypted): ditto, (%test-gui-installed-desktop-os-encrypted): new exported variable.
* tests/nfs: Fix use of WAIT-FOR-FILE.Ricardo Wurmus2020-03-25
| | | | | * gnu/tests/nfs.scm ("nfs services are running"): Pass marionette to WAIT-FOR-FILE.
* system: Add kernel-loadable-modules to operating-system.Danny Milosavljevic2020-03-22
| | | | | | | | | | | | | | | * gnu/system.scm (<operating-system>): Add kernel-loadable-modules. (operating-system-directory-base-entries): Use it. * doc/guix.texi (operating-system Reference): Document KERNEL-LOADABLE-MODULES. * gnu/build/linux-modules.scm (depmod): New procedure. (make-linux-module-directory): New procedure. Export it. * guix/profiles.scm (linux-module-database): New procedure. Export it. * gnu/tests/linux-modules.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/linux.scm (make-linux-libre*)[arguments]<#:phases>[install]: Disable depmod. Remove "build" and "source" symlinks. [native-inputs]: Remove kmod.
* tests: install: Abort when one installation step fails.Mathieu Othacehe2020-03-22
| | | | | | | | | | | | | | | | | When marionette-eval calls fail in gui-test-program, the installation continues which results in two scenarios: - hang forever at the next marionette-eval call, - keep going and start a broken installation, which is annoying because it clears the terminal and hides the error. Make sure that gui-test-program is exited with #f return code when one of the marionette-eval calls fail. * gnu/tests/install.scm (gui-test-program): Add a new macro "marionette-eval*". Throw an exception when one on the marionette-eval calls fail.
* tests: Accept manual installation scripts that exit with SIGTERM.Ludovic Courtès2020-03-19
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/39926>. Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>. Previously we'd error out if the installation script exits with non-zero, which was the case because the 'reboot' program would typically not get a reply, and thus would eventually be killed by PID 1 as the system is brought down. * gnu/tests/install.scm (run-install)[install]: Expect SCRIPT to exit with SIGTERM in addition to exiting with zero.
* tests: nfs-server: Use marionette helper procedures.Ludovic Courtès2020-03-16
| | | | | * gnu/tests/nfs.scm (run-nfs-server-test)[test](wait-for-file): Remove. ("nscd is listening on its socket"): Use 'wait-for-unix-socket'.
* tests: nfs: Ensure 'rpcinfo' can be found.Ludovic Courtès2020-03-16
| | | | | | | The test was failing since 8b9cad01e9619f53dc5a65892ca6a09ca5de3447. * gnu/tests/nfs.scm (run-nfs-test)[test]("RPC service running"): Add 'setenv' call for PATH.
* tests: opensmtpd: Check /var/spool/mail instead of /var/mail.Ludovic Courtès2020-03-16
| | | | | | | | | The test had been failing since the upgrade to 6.6.3p1 in commit 2dbfd8eec43b602d23cee3fdd2842cc333e36c24. * gnu/services/mail.scm (opensmtpd-activation): Create /var/spool/mail. * gnu/tests/mail.scm (run-opensmtpd-test): Check /var/spool/mail instead of /var/mail.
* tests: opensmtpd: Gracefully handle test failure.Ludovic Courtès2020-03-16
| | | | | | | | | Previously the 'wait' loop would run for ~1024 seconds, at which point we'd reach the file descriptor limit due to the leak in 'queue-empty?'. * gnu/tests/mail.scm (run-opensmtpd-test)[test]("mail arrived"): In 'queue-empty?', close PIPE to avoid file descriptor leak. In 'wait' loop, arrange to run at most 20 times.
* tests: dhcpd: Adjust network interface name.Ludovic Courtès2020-03-16
| | | | | | | This is a followup to 8e53fe2b91d2776bc1529e7b34967c8f1d9edc32. * gnu/tests/networking.scm (dhcpd-v4-configuration) (%dhcpd-os): Use "ens3" instead of "eth0".
* tests: rsync: Set PATH.Ludovic Courtès2020-03-16
| | | | | | | | This is a followup to 8b9cad01e9619f53dc5a65892ca6a09ca5de3447, which would leave PATH unset. * gnu/tests/rsync.scm (run-rsync-test)[test]("service running"): Add call to 'setenv' for PATH.
* tests: getmail: Provide a pre-initialized user account password.Ludovic Courtès2020-03-09
| | | | | | | | * gnu/tests/mail.scm (%getmail-os): Rewrite so that the "alice" account has a password. (run-getmail-test)[test]("set password for alice"): Remove. This would not work since commit 8b9cad01e9619f53dc5a65892ca6a09ca5de3447 since 'passwd' would no longer be in $PATH.
* tests: docker-system: Increase memory requirement.Ludovic Courtès2020-03-09
| | | | | | | The system image would no longer fit in memory, starting from commit 8c7eb58453870f380a077c7cfd8dafa97bb8e13f. * gnu/tests/docker.scm (run-docker-system-test): Set 'memory-size' to 3500.
* tests: zabbix: Set 'PATH' before running the scripts.Ludovic Courtès2020-03-09
| | | | | | | This is a followup to 8b9cad01e9619f53dc5a65892ca6a09ca5de3447. * gnu/tests/monitoring.scm (run-zabbix-server-test)[test]: Set 'PATH' in MARIONETTE.
* tests: install: Add %test-gui-installed-os-encrypted.Mathieu Othacehe2020-03-05
| | | | | * gnu/tests/install.scm (%test-gui-installed-os-encrypted): New variable, (guided-installation-test): set a swap-device only if there is no encryption.
* tests: install: Add "gui-installed-os".Ludovic Courtès2020-03-05
| | | | | | | | | | | | | * gnu/installer/tests.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * gnu/tests/install.scm (run-install): Add #:gui-test. Add (gnu installer tests) to the marionette imported modules. Honor GUI-TEST. Check whether SCRIPT is true. (%root-password, %syslog-conf): New variable. (operating-system-with-console-syslog, gui-test-program) (guided-installation-test): New procedures. (%extra-packages, installation-os-for-gui-tests) (%test-gui-installed-os): New variable.
* tests: 'run-basic-test' can enter a root password.Ludovic Courtès2020-03-05
| | | | * gnu/tests/base.scm (run-basic-test): Add #:root-password and honor it.
* gnu: Add system test for CUPS.Marius Bakke2020-03-02
| | | | | * gnu/tests/cups.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly.
* tests: Factorize LUKS passphrase.Ludovic Courtès2020-02-22
| | | | | | * gnu/tests/install.scm (%luks-passphrase): New variable. (%encrypted-root-installation-script): Use it. (enter-luks-passphrase): Use it.
* Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice2020-02-09
| | | | | | | | | | | As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address.
* gnu: Update opensmtpd configuration grammar.Tobias Geerinckx-Rice2020-01-31
| | | | | | | | This follows up on commit 0d486909083c98d7c75cdfc027f89e69f9bf8f48. * gnu/services/mail.scm (%default-opensmtpd-config-file): Adapt to ‘new’ ≥6.4 grammar. * gnu/tests/mail.scm (%opensmtpd-os): Likewise.
* tests: mail: Remove %getmail-os from the bottom of the file.getmail-service-fixesChristopher Baines2020-01-20
| | | | | | This was left over when debugging the system test. * gnu/tests/mail.scm: Remove %getmail-os from the bottom of the file.
* tests: install: "raid-root-os" test uses RAID-1 instead of RAID-0.Ludovic Courtès2020-01-19
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/38086>. Thanks to Vagrant and Tobias! * gnu/tests/install.scm (%raid-root-os)[initrd-modules]: Add "raid1" instead of "raid0". (%raid-root-installation-script): Make the partitions twice as big. Invoke 'mdadm' with '--level=mirror' instead of '--level=stripe'; connect "yes" to its stdin. (%test-raid-root-os): Set #:target-size to 2.8 GiB.
* services: nfs: Add nfs-service-type.Ricardo Wurmus2020-01-08
| | | | | | | | | | | | | | | * gnu/services/nfs.scm (<nfs-configuration>): New record. (nfs-configuration, nfs-configuration?, nfs-configuration-nfs-utils, nfs-configuration-nfs-version, nfs-configuration-exports, nfs-configuration-rpcmountd-port, nfs-configuration-rpcstatd-port, nfs-configuration-rpcbind, nfs-configuration-idmap-domain, nfs-configuration-nfsd-port, nfs-configuration-nfsd-threads, nfs-configuration-pipefs-directory, nfs-configuration-debug, nfs-shepherd-services): New procedures. (nfs-service-type): New variable. * doc/guix.texi (Network File System): Document it. * gnu/tests/nfs.scm (%test-nfs-server): New variable. (%base-os): Use default value of rpcbind-service-type.
* tests: install: Test a JFS root file system.Tobias Geerinckx-Rice2020-01-03
| | | | | * gnu/tests/install.scm (%jfs-root-os, %jfs-root-installation-script) (%test-jfs-root-os): New variables.
* tests: install: Fix typo.Maxim Cournoyer2019-11-18
| | | | * gnu/tests/install.scm (run-install): Fix typo in docstring.
* tests: Update references to the now-deprecated 'guile-json' variable.Ludovic Courtès2019-11-09
| | | | | | | * gnu/tests/docker.scm (build-tarball&run-docker-test): Refer to 'guile-json-3' instead of 'guile-json'. * gnu/tests/singularity.scm (build-tarball&run-singularity-test): Likewise.
* tests: install: Increase root partition size.Ludovic Courtès2019-11-06
| | | | | | | | | 1.2G had become slightly too small on x86_64. This is a followup to 8dfb0c969e513276c632b8d26fb3601fa02993ca. * gnu/tests/install.scm (%simple-installation-script) (%extlinux-gpt-installation-script) (%simple-installation-script-for-/dev/vda): Switch from 1.2G to 1.4G.
* services: Add the Guix Data Service.wip-guix-data-serviceChristopher Baines2019-09-25
| | | | | | | | * gnu/services/guix.scm: New file. * gnu/tests/guix.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files. * doc/guix.texi (Guix Services): New section documenting the Guix Data Service.
* pack: Create /tmp in Docker images.Ludovic Courtès2019-08-27
| | | | | | | | | | Fixes <https://bugs.gnu.org/37161>. * guix/scripts/pack.scm (docker-image)[build]: Add a 'directory' entry for "/tmp" to DIRECTIVES. * tests/pack.scm ("docker-image + localstatedir"): Test the presence of /tmp. * gnu/tests/docker.scm (run-docker-test)["Load docker image and run it"]: Test the presence and permission bits of "/tmp".