aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests
AgeCommit message (Expand)Author
2020-10-30installer: Use UUIDs in the 'swap-devices' field....Note: This change requires an updated 'guix' package that contains Linux-swap support in (gnu build file-systems). * gnu/installer/parted.scm (user-partitions->configuration): Use UUIDs in the 'swap-devices' field. * gnu/installer/newt/final.scm (run-final-page)[wait-for-clients]: New procedure. Use it. * gnu/installer/tests.scm (choose-partitioning): Wait for 'starting-final-step' message and move configuration file dialog handling to... (conclude-installation): ... here. Send over PORT the reply corresponding to 'starting-final-step'. * gnu/tests/install.scm (gui-test-program): When ENCRYPTED? is false, invoke 'swaplabel' in the marionette. (installation-target-os-for-gui-tests): When ENCRYPTED? is false, except a fixed UUID. Ludovic Courtès
2020-10-26tests: Fix nss-mdns test....* gnu/tests/base.scm (run-nss-mdns-test): Use full "avahi-browse" path. Mathieu Othacehe
2020-10-20services: databases: Don't specify a default postgresql version....Currently, if the postgresql package major version changes, this is going to break the service upon upgrade, because PostgreSQL will reject the data files from the differing major version of the service. Because it's important to either keep running a particular major version, or intentionally upgrade, I think the configuration would be better with no default. I think this is also going to be helpful when trying to assist users upgrading PostgreSQL. * gnu/services/databases.scm (<postgresql-configuration>): Remove default for postgresql. (postgresql-service-type): Remove the default value. * gnu/tests/databases.scm (%postgresql-os): Update accordingly. * gnu/tests/guix.scm (%guix-data-service-os): Update accordingly. * gnu/tests/monitoring.scm (%zabbix-os): Update accordingly. * gnu/tests/web.scm (patchwork-os): Update accordingly. * doc/guix.texi (PostgreSQL): Update accordingly. Christopher Baines
2020-10-20tests: monitoring: Use (service postgresql-service-type)....As I'm looking at removing the procedure, in favour of always using the service type. * gnu/tests/monitoring.scm (%zabbix-os): Use (service postgresql-service-type) rather than (postgresql-service). Christopher Baines
2020-10-13installer: Add Emacs EXWM desktop environment....Suggested by zenny via IRC. * gnu/installer/services.scm (%system-services): Add emacs, emacs-exwm, emacs-desktop-environment. * etc/release-manifest.scm (%system-packages): Likewise. * gnu/system/examples/lightweight-desktop.tmpl: Likewise. * gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests) [packages]: Likewise * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page): Make one entry taller. Jan (janneke) Nieuwenhuizen
2020-10-05services: guix: Add guix-build-coordinator-service-type....* gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record type. (guix-build-coordinator-configuration, guix-build-coordinator-configuration?, guix-build-coordinator-configuration-package, guix-build-coordinator-configuration-user, guix-build-coordinator-configuration-group, guix-build-coordinator-configuration-datastore-uri-string, guix-build-coordinator-configuration-agent-communication-uri-string, guix-build-coordinator-configuration-client-communication-uri-string, guix-build-coordinator-configuration-allocation-strategy, guix-build-coordinator-configuration-hooks, guix-build-coordinator-configuration-guile, make-guix-build-coordinator-start-script, guix-build-coordinator-shepherd-services, guix-build-coordinator-activation, guix-build-coordinator-account): New procedures. (guix-build-coordinator-service-type): New variable. * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. * doc/guix.texi (Guix Services): Document it. Christopher Baines
2020-10-01services: hurd-vm: Resurrect system-test by using raw disk-image....Using the new compressed-qcow2 image breaks this test. * gnu/tests/virtualization.scm (hurd-vm-disk-image-raw): New procedure. (%childhurd-os): Use it. Jan (janneke) Nieuwenhuizen
2020-09-30system: image: Add image-type support....* gnu/system/image.scm (image-with-os): New macro. Rename the old "image-with-os" procedure to ... (image-with-os*): ... this new procedure, (system-image): adapt according, (raw-image-type, iso-image-type, uncompressed-iso-image-type %image-types): new variables, (lookup-image-type-by-name): new procedure. (find-image): remove it. * gnu/system/images/hurd.scm (hurd-image-type): New variable, use it to define ... (hurd-disk-image): ... this variable, using "os->image" procedure. * gnu/tests/install.scm (run-install): Rename installation-disk-image-file-system-type parameter to installation-image-type, use os->config instead of find-image to compute the image passed to system-image, (%test-iso-image-installer) adapt accordingly, (guided-installation-test): ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Mathieu Othacehe
2020-09-29services: hurd-vm: Add system test....* gnu/tests/virtualization.scm (%childhurd-os): New variable. (run-childhurd-test): New procedure. (%test-childhurd): New variable. Ludovic Courtès
2020-09-10tests: nfs: Improve "nfs-root-fs"....Follow-up to a1a39ed5a46044161a71cbe6931c7e3006a82ecb. * gnu/tests/nfs.scm (run-nfs-root-fs-test): Improve tests. (%test-nfs-root-fs)[description]: Modify. Danny Milosavljevic
2020-09-10tests: install: Fix gui-installed-desktop-os-encrypted test....* gnu/tests/base.scm (run-basic-test): Add a 'desktop?' argument. Wait 30 seconds before trying to switch to TTY1 on desktop. * gnu/tests/install.scm (guided-installation-test): Use 512MiB of RAM and pass the desktop argument to "run-basic-test". Mathieu Othacehe
2020-09-07tests: nfs: Improve "nfs-root-fs"....Follow-up to a1a39ed5a46044161a71cbe6931c7e3006a82ecb. * gnu/tests/nfs.scm (run-nfs-root-fs-test): Improve tests. Danny Milosavljevic
2020-09-07tests: Add "nfs-root-fs" system test....* gnu/tests/nfs.scm (run-nfs-root-fs-test): New procedure. (%test-nfs-root-fs): New variable. Export it. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Stefan
2020-07-22services: nix: Fix sandbox....* gnu/tests/package-management.scm: New file. * gnu/local.mk: Add this. * gnu/services/nix.scm (<nix-configuration>): New record. (nix-activation): Generate Nix config file which fixes sandbox. (nix-service-type): Add default value. (nix-shepherd-service): Allow provide Nix package. * doc/guix.texi (Miscellaneous Services)[Nix service]<nix-configuration>: Document record. Oleg Pykhalov
2020-07-19services: ganeti: Use TLS on the remote API by default....* gnu/services/ganeti.scm (<ganeti-rapi-configuration>): Set SSL? to #t. * gnu/tests/ganeti.scm (%ganeti-os): Set SSL? to #f. * doc/guix.texi (Virtualization Services): Adjust accordingly. Marius Bakke
2020-07-17tests: docker-system: Use guile-3.0....This helps find the (json) module in the virtual machine. * gnu/tests/docker.scm (build-tarball&run-docker-test, run-docker-system-test): Replace guile-2.2 with guile-3.0. Jakub Kądziołka
2020-07-16services: Add ganeti....* gnu/services/ganeti.scm, gnu/tests/ganeti.scm: New files. * doc/guix.texi (Virtualization Services): Document the Ganeti services. Marius Bakke
2020-07-15tests: zabbix: Fix typo in comment....* gnu/tests/monitoring.scm (run-zabbix-server-test)[test]: Fix typo in comment. Oleg Pykhalov
2020-07-13gnu: tests: Fix unbound variable....Record type descriptors were made private in a143e92446859bd1edc7a7aea85b2089c82c77da, but a usage of them was forgotten in the tests files. * gnu/tests/web.scm (patchwork-initial-database-setup-service): Use accessors to access field values instead of unexported type descriptor. Julien Lepiller
2020-07-11tests: networking: Use 'net.ifnames=0' for the Open vSwitch test....* gnu/tests/networking.scm (%openvswitch-os): Override KERNEL-ARGUMENTS. Marius Bakke
2020-06-30tests: install: Increase image size limit....Commits 0eed77127592323d89f56c215a15374a1aaae110 and 614a1e3fa2d731d4719f03912b1b87fb4fd309cb caused a ~150M increase of the image size. Increase the image size limit by 200M until the situation is addressed. * gnu/tests/install.scm (%simple-installation-script, %extlinux-gpt-installation-script, %simple-installation-script-for-/dev/vda, %raid-root-installation-script, %encrypted-root-installation-script): Increase image size limit by 200M. Mathieu Othacehe
2020-06-26tests: install: Disable image compression....* gnu/tests/install.scm (run-install): Disable image compression to speed-up the tests. Mathieu Othacehe
2020-06-26tests: install: Fix marionette race condition....If the marionette shuts down before the script return is received, then status will be <eof>. * gnu/tests/install.scm (run-install): Allow status to be the <eof> object. Mathieu Othacehe
2020-06-13image: Make 'find-image' non-monadic....* gnu/system/image.scm (find-image): Make non-monadic. Add 'target' parameter. * gnu/tests/install.scm (run-install): Update caller, passing (%current-target-system). * guix/scripts/system.scm (perform-action): Likewise. Jan (janneke) Nieuwenhuizen
2020-05-29image: Do not use VM to create disk-images....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. Mathieu Othacehe
2020-05-20bootloader: grub: Allow booting from a Btrfs subvolume....* 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. Maxim Cournoyer
2020-05-05Merge branch 'master' into core-updatesMarius Bakke
2020-05-05image: Add a new API....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. Mathieu Othacehe
2020-05-03tests: install: Test a F2FS root file system....* gnu/tests/install.scm (%f2fs-root-os, %f2fs-root-installation-script, %test-f2fs-root-os): New variables. Danny Milosavljevic
2020-04-30Merge branch 'master' into core-updates... 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 Marius Bakke
2020-04-29tests: install: Fix device usage....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. Mathieu Othacehe
2020-04-29tests: install: Fix gui-installed-os test....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. Mathieu Othacehe
2020-04-29tests: install: Increase virtual machine RAM....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. Mathieu Othacehe
2020-04-26reconfigure: Don't call build-derivations for upgrade-services test...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. Christopher Baines
2020-04-26tests: Add 'guile-final' to the installation test GC roots....* gnu/tests/install.scm (run-install): Add GUILE-FINAL to OPERATING-SYSTEM-WITH-GC-ROOTS. Marius Bakke
2020-04-22system: Automatically adjust linux-module packages to use the...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. Danny Milosavljevic
2020-04-21tests: web: Explicitly wait for the HTTP port....* gnu/tests/web.scm (run-webserver-test)["HTTP port ready"]: New test. Ludovic Courtès
2020-04-21tests: ssh: Explicitly wait for port 22....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. Ludovic Courtès
2020-04-10tests: openvswitch: Use the absolute file name of ovs-vsctl....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. Marius Bakke
2020-04-10tests: Run guided installation tests from an ISO image....* gnu/tests/install.scm (guided-installation-test): Pass #:installation-disk-image-file-system-type to 'run-install'. Ludovic Courtès
2020-04-08tests: Mark VM images as non-substitutable....* gnu/tests/install.scm (run-install): Pass #:substitutable? to 'system-disk-image' and to 'gexp->derivation'. Ludovic Courtès
2020-04-07services: guix: Add 'set-http-proxy' action....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. Ludovic Courtès
2020-04-06services: syslog: Create log files as non-world-readable....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. Ludovic Courtès
2020-04-05gnu: Add kernel-module-loader-service....* 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> Brice Waegeneire
2020-03-26tests: install: Add %test-gui-installed-desktop-os-encrypted....* 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. Mathieu Othacehe
2020-03-25tests/nfs: Fix use of WAIT-FOR-FILE....* gnu/tests/nfs.scm ("nfs services are running"): Pass marionette to WAIT-FOR-FILE. Ricardo Wurmus
2020-03-22system: Add kernel-loadable-modules to operating-system....* 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. Danny Milosavljevic
2020-03-22tests: install: Abort when one installation step fails....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. Mathieu Othacehe
2020-03-19tests: Accept manual installation scripts that exit with SIGTERM....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. Ludovic Courtès
2020-03-16tests: nfs-server: Use marionette helper procedures....* gnu/tests/nfs.scm (run-nfs-server-test)[test](wait-for-file): Remove. ("nscd is listening on its socket"): Use 'wait-for-unix-socket'. Ludovic Courtès