aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests
Commit message (Collapse)AuthorAge
* tests: "basic" test loads (guix …) modules from the right place.Ludovic Courtès2017-05-13
| | | | | | | | This is a followup to 7561881f2a5d2dc463c24713745eca03e67044bf. * gnu/tests/base.scm (run-basic-test)["/run/current-system is a GC root"]: Remove 'set!' statements, add 'add-to-load-path' statement for GUIX.
* tests: Strengthen GC root test.Ludovic Courtès2017-05-13
| | | | | * gnu/tests/base.scm (run-basic-test)["/run/current-system is a GC root"]: Check for a specific return value, 'success!.
* tests: mail: Add test for eximCarlo Zancanaro2017-04-19
| | | | | | | * gnu/tests/mail.scm (%exim-os, %test-exim): New variables. (run-exim-test): New procedure. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* tests: dicod: Bail out if we cannot connect within 20 seconds.Ludovic Courtès2017-04-16
| | | | | * gnu/tests/dict.scm (run-dicod-test)["connect inside"]: Bail out after 20 seconds of failure to connect.
* services: 'service-parameters' becomes 'service-value'.Ludovic Courtès2017-04-16
| | | | | | | | | * gnu/services.scm (<service>)[parameters]: Rename to... [value]: ... this. Change calls to 'service-parameters' to 'service-value'. * gnu/system.scm, gnu/tests/base.scm, guix/scripts/system.scm, tests/services.scm: Likewise. * doc/guix.texi (Service Reference): Adjust accordingly.
* tests: Remove unused import (gnu system grub).Danny Milosavljevic2017-04-15
| | | | * gnu/tests/web.scm: Remove unused import.
* tests: Add GNU dicod test.Ludovic Courtès2017-04-01
| | | | | * gnu/tests/dict.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* tests: Introduce 'simple-operating-system' and use it.Ludovic Courtès2017-04-01
| | | | | | | | | | | | | | * gnu/tests.scm (%simple-os): New macro. (simple-operating-system): New macro. * gnu/tests/base.scm (%simple-os): Define using 'simple-operating-system'. (%mcron-os): Use 'simple-operating-system'. * gnu/tests/mail.scm (%opensmtpd-os): Likewise. * gnu/tests/messaging.scm (%base-os, os-with-service): Remove. (run-xmpp-test): Use 'simple-operating-system'. * gnu/tests/networking.scm (%inetd-os): Likewise. * gnu/tests/ssh.scm (%base-os, os-with-service): Remove. (run-ssh-test): Use 'simple-operating-system'. * gnu/tests/web.scm (%nginx-os): Likewise.
* services: Add inetd-service-type.Thomas Danckaert2017-03-24
| | | | | | | | | | * gnu/services/networking.scm (<inetd-configuration>, <inetd-entry>): New record types. (inetd-config-file, inetd-shepherd-service): New procedures. (inetd-service-type): New variable. * doc/guix.texi (Networking Services): Document it. * gnu/tests/networking.scm: New file. * gnu/local.mk: Add it.
* tests: ssh: Add a test for SFTP.Clément Lassieur2017-03-21
| | | | | | * gnu/tests/ssh.scm (run-ssh-test): Introduce "SFTP file writing and reading". Make 'sftp?' a keyword parameter. (%test-openssh): Pass #:sftp? #t to 'run-ssh-test'.
* tests: ssh: Abstract session connection and authentication.Clément Lassieur2017-03-21
| | | | | | | * gnu/tests/ssh.scm (run-ssh-test): Introduce make-session-for-test, call-with-connected-session and call-with-connected-session/auth. (run-ssh-test)["connect"]: Rename to "shell command". Abstract its session connection and authentication work into the above three functions.
* tests: Add 'prosody-service-type' test.Clément Lassieur2017-02-10
| | | | | | | | | * gnu/tests/messaging.scm: New file. * gnu/services/messaging.scm: New exported procedure. (<shepherd-service>)[provision]: Add 'xmpp-daemon'. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* services: Add 'special-files-service-type'.Ludovic Courtès2017-02-08
| | | | | | | | | | | | | * gnu/build/activation.scm (activate-/bin/sh): Remove. (activate-special-files): New procedure. * gnu/services.scm (activation-script): Remove call to 'activate-/bin/sh'. (special-files-service-type): New variable. (extra-special-file): New procedure. * gnu/services/base.scm (%base-services): Add SPECIAL-FILES-SERVICE-TYPE instance. * gnu/tests/base.scm (run-basic-test)[special-files]: New variables. ["special files"]: New test.
* activation: Set the right owner for home directories.Ludovic Courtès2017-02-04
| | | | | | | | | | | | | | This fixes a regression introduced in ae763b5b0b7d5e7316a3d0efe991fe8ab2261031 whereby home directories and skeletons would be root-owned. * gnu/build/activation.scm (copy-account-skeletons): Make 'directory' a keyword parameter. Add #:uid and #:gid and honor them. [set-owner]: New procedure. (activate-user-home): Add call to 'getpw' and 'chown'. Pass UID and GID to 'copy-account-skeletons'. * gnu/tests/base.scm (run-basic-test)["skeletons in home directories"]: Test file ownership under HOME.
* system: Create home directories once 'file-systems' is up.Ludovic Courtès2017-02-01
| | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/21108>. Reported by Andy Patterson <ajpatter@uwaterloo.ca> and Leo Famulari <leo@famulari.name>. * gnu/build/activation.scm (activate-users+groups)[activate-user]: Pass #:create-home? #t iff CREATE-HOME? and SYSTEM?. (activate-user-home): New procedure. * gnu/system/shadow.scm (account-shepherd-service): New procedure. (account-service-type)[extensions]: Add SHEPHERD-ROOT-SERVICE-TYPE extension. * gnu/tests/base.scm (run-basic-test)["home"] ["skeletons in home directories"]: New tests. * gnu/tests/install.scm (%separate-home-os, %separate-home-os-source) (%test-separate-home-os): New variables.
* services: Create /var/log/wtmp upon activation.Ludovic Courtès2017-01-24
| | | | | | | | This fixes a bug whereby /var/log/wtmp would never be created, and thus accounting information would be lost. * gnu/services.scm (activation-script): Create /var/log/wtmp. * gnu/tests/base.scm (run-basic-test)["wtmp entry"]: New test.
* services: Create /var/run/utmpx upon activation.Ludovic Courtès2017-01-19
| | | | | | | | This fixes a bug whereby /var/run/utmpx would never be created, and thus accounting information would be missing. * gnu/services.scm (activation-script): Create /var/run/utmpx. * gnu/tests/base.scm (run-basic-test)["utmpx entry"]: New test.
* tests: Add 'nginx-service-type' test.Ludovic Courtès2017-01-19
| | | | | * gnu/tests/web.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* file-systems: 'file-system-needed-for-boot?' is #t for parents of the store.Ludovic Courtès2017-01-16
| | | | | | | | | | | | Suggested by John Darrington <john@darrington.wattle.id.au>. * gnu/system/file-systems.scm (%not-slash): New variable. (file-prefix?): New procedure. (file-system-needed-for-boot?): Use it to check whether FS holds the store. * tests/file-systems.scm ("file-system-needed-for-boot?"): New test. * gnu/tests/install.scm (%separate-store-os)[file-systems]: Remove 'needed-for-boot?' field for "/gnu".
* system: Add btrfs file system support.David Craven2017-01-10
| | | | | | | | | | | | | | | | * gnu/build/file-systems.scm (%btrfs-endianness, btrfs-superblock?, read-btrfs-superblock, btrfs-superblock-uuid, btrfs-superblock-volume-name, check-btrfs-file-system): New variables. (%paritition-label-readers, %partition-uuid-readers): Add btrfs readers. * gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a btrfs file-system is used. * gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source, %btrfs-root-installation-script, %test-btrfs-root-os): New system test. * doc/guix.texi: Adjust accordingly. Fixes <http://bugs.gnu.org/19280>.
* gnu: Add system test for the rpcbind-daemon service.John Darrington2016-12-15
| | | | | * gnu/tests/nfs.scm: New file. * gnu/local.mk: Add it.
* tests: Create a copy-on-write image instead of copying eagerly.Ludovic Courtès2016-11-30
| | | | | * gnu/tests/install.scm (qemu-command/writable-image): Invoke 'qemu-img -o backing_file' instead of calling 'copy-file'.
* tests: Add 'opensmtpd-service-type' test.宋文武2016-11-27
| | | | | * gnu/tests/mail.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* tests: Remove 'GUIX_LOCPATH' hack that had been added for glibc@2.23.Ludovic Courtès2016-11-23
| | | | | | * gnu/tests/base.scm (run-basic-test)[test]("locale"): Remove 'GUIX_LOCPATH' hack, which is no longer needed since commit 9f58fe3d1c32e3f0ced065e286532a10cad1b5e3.
* install: Enable "cryptodisk" handling in GRUB.Ludovic Courtès2016-11-23
| | | | | | | | | | | | | | | | | | This allows 'grub-install' to do the right thing when / or /boot is a LUKS-encrypted partition. Fixes <http://bugs.gnu.org/21843>. * gnu/build/install.scm (install-grub): Add 'setenv' to set 'GRUB_ENABLE_CRYPTODISK'. (wait-for-screen-text): New test. * gnu/tests/base.scm (run-basic-test): Add #:initialization parameter and honor it. * gnu/tests/install.scm (%encrypted-root-os)[kernel-arguments]: Remove. (%encrypted-root-installation-script): Pass '--uuid' to 'cryptsetup luksFormat'. Remove 'sed' invocation. (enter-luks-passphrase): New procedure. (%test-encrypted-os)[value]: Pass #:initialization to 'run-basic-test'.
* marionette: Add 'marionette-screen-text' using OCR.Ludovic Courtès2016-11-23
| | | | | * gnu/build/marionette.scm (marionette-screen-text): New procedure. * gnu/tests/base.scm (run-basic-test)["screen text"]: New test.
* tests: basic: Fix harmless thinko.Ludovic Courtès2016-11-17
| | | | | | | * gnu/tests/base.scm (run-basic-test)["login on tty1"]: Move the file-waiting loop inside the 'marionette-eval' body. Before that, we were waiting for the file to appear on the host, which would never happen, meaning that we were always waiting for 15 seconds.
* tests: Test installation with a RAID root partition.Ludovic Courtès2016-10-27
| | | | | * gnu/tests/install.scm (%raid-root-os, %raid-root-os-source) (%raid-root-installation-script, %test-raid-root-os): New variables.
* tests: Add #:memory-size parameter for the command to run the installed OS.Ludovic Courtès2016-10-27
| | | | | * gnu/tests/install.scm (qemu-command/writable-image): Add #:memory-size parameter and honor it.
* tests: Test installation with store on a separate partition.Ludovic Courtès2016-10-27
| | | | | | | | This is a followup to 0f65f54ebd76324653fd5506a7dab42ee44d9255. * gnu/tests/install.scm (%separate-store-os, %separate-store-os-source) (%separate-store-installation-script, %test-separate-store-os): New variables.
* tests: ssh: Add Dropbear test.Ludovic Courtès2016-10-03
| | | | | | * gnu/tests/ssh.scm (run-ssh-test): Try authenticating with 'userauth-none!' when 'userauth-password!' fails. (%test-dropbear): New variable.
* tests: ssh: Generalize.Ludovic Courtès2016-10-03
| | | | | | | | | | | * gnu/tests/ssh.scm (%openssh-os): Rename to... (%base-os): ... this. [services]: Remove 'openssh-service-type' instance. (os-with-service): New procedure. (run-openssh-test): Rename to... (run-ssh-test): ... this. Add 'ssh-service' and 'pid-file' parameters. Use 'os-with-service' to add SSH-SERVICE to %BASE-OS. Honor PID-FILE. (%test-openssh): Adjust accordingly.
* tests: Add 'openssh-service-type' test.Ludovic Courtès2016-10-03
| | | | | * gnu/tests/ssh.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* services: syslog: Use syslog-configuration.David Craven2016-09-06
| | | | | | | | | * gnu/services/base.scm (<syslog-configuration>): New variable. (syslog-service-type): Use <syslog-configuration>. (syslog-service): Use <syslog-configuration>. * gnu/tests/base.scm (%avahi-os): Use <syslog-configuration>. * doc/guix.texi (syslog-configuration-type): Add @deftp. (syslog-service): Update @deffn.
* services: herd: Provide <live-service> objects.Ludovic Courtès2016-08-31
| | | | | | | | | | * gnu/services/herd.scm (<live-service>): New record type. (current-services): Change to return a single value: #f or a list of <live-service>. * guix/scripts/system.scm (call-with-service-upgrade-info): Adjust accordingly. * gnu/tests/base.scm (run-basic-test)["shepherd services"]: Adjust accordingly.
* tests: Make sure /var/guix/gcroots/profiles is a valid symlink.Ludovic Courtès2016-08-29
| | | | | | | | | | Reported by csanchezdll@gmail.com (Carlos Sánchez de La Lama) at <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01641.html>. * gnu/build/install.scm (directives): Add /var/guix/gcroots/profiles symlink. * gnu/tests/base.scm (run-basic-test)["/var/guix/gcroots/profiles is a valid symlink"]: New test.
* tests: Make sure /run/current-system is a GC root.Ludovic Courtès2016-08-29
| | | | | * gnu/tests/base.scm (run-basic-test)["/run/current-system is a GC root"]: New test.
* system: Define 'GUIX_LOCPATH' to work around 'glibc' package defect.Ludovic Courtès2016-08-02
| | | | | | | | | | | Our 'glibc' package currently ignores /run/current-system/locale, although the intent is to look for locales in that directory. * gnu/packages/base.scm (glibc/linux): Add comment about /run/current-system/locale being ignored. * gnu/system.scm (operating-system-environment-variables): Add 'GUIX_LOCPATH'. * gnu/tests/base.scm (run-basic-test): Add "locale" test.
* tests: install: Generalize 'run-install'.Ludovic Courtès2016-07-18
| | | | | | | | | * gnu/tests/install.scm (%simple-installation-script): New variable. Contains installation script formerly in 'run-install'. (run-install): Add 'target-os', 'target-os-source', and #:script parameters. Honor them. (qemu-command/writable-image): New procedure. (%test-installed-os): Use it.
* gnu: Switch to 'with-imported-modules'.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation.
* tests: install: Adjust to new 'marionette-service-type' interface.Ludovic Courtès2016-07-02
| | | | | | | | This is a followup to 037f9e07cd03d6894a6b5fc9a252c34d3b163962. Reported by Mark H Weaver. * gnu/tests/install.scm (%minimal-os): Pass a <marionette-configuration> object as the value for the MARIONETTE-SERVICE-TYPE.
* tests: Add Avahi and NSS-mDNS test.Ludovic Courtès2016-06-27
| | | | | | * gnu/tests/base.scm (%avahi-os): New variable. (run-nss-mdns-test): New procedure. (%test-nss-mdns): New variable.
* tests: base: Add host name resolution tests.Ludovic Courtès2016-06-27
| | | | | * gnu/tests/base.scm (run-basic-test)["host name resolution", "host not found"]: New tests.
* tests: basic: Don't hard-code the expected architecture name.Ludovic Courtès2016-06-23
| | | | | * gnu/tests/base.scm (run-basic-test)["uname"]: Don't hard-code the architecture.
* tests: Installation test no longer requires KVM.Ludovic Courtès2016-06-23
| | | | | * gnu/tests/install.scm (%test-installed-os): Use '-enable-kvm' only when /dev/kvm exists.
* services: Add 'mcron-service'.Ludovic Courtès2016-06-22
| | | | | | | | * gnu/services/mcron.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/tests/base.scm (%mcron-os, %test-mcron): New variables. (run-mcron-test): New procedure. * doc/guix.texi (Scheduled Job Execution): New node.
* tests: Add a mechanism to describe and discover system tests.Ludovic Courtès2016-06-20
| | | | | | | | | | * gnu/tests.scm (<system-test>): New record type. (write-system-test, test-modules, fold-system-tests) (all-system-tests): New procedures. * gnu/tests/base.scm (%test-basic-os): Turn into a <system-test>. * gnu/tests/install.scm (%test-installed-os): Likewise. * build-aux/run-system-tests.scm (%system-tests): Remove. (run-system-tests): Use 'all-system-tests'.
* tests: Add system installation test.Ludovic Courtès2016-06-20
| | | | | | | * gnu/tests.scm (define-os-with-source): New macro. * gnu/tests/install.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * build-aux/run-system-tests.scm (%system-tests): Likewise.
* tests: base: Fully honor the OS passed to 'run-basic-test'.Ludovic Courtès2016-06-20
| | | | | | * gnu/tests/base.scm (run-basic-test)["uname"]: Use the host name of OS. ["shepherd services"]: Use service names from OS. (%test-basic-os): Add call to 'virtualized-operating-system'.
* tests: Export 'run-basic-test'.Ludovic Courtès2016-06-20
| | | | | * gnu/tests/base.scm (run-basic-test): New procedure, extracted from ... (%test-basic-os): ... here. Use it.