aboutsummaryrefslogtreecommitdiff
path: root/gnu/tests
Commit message (Collapse)AuthorAge
* services: Missing services are automatically instantiated.Ludovic Courtès2018-01-21
| | | | | | | | | | | | | | | | | | | | | | | This simplifies OS configuration: users no longer need to be aware of what a given service depends on. See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html>. * gnu/services.scm (missing-target-error): New procedure. (service-back-edges): Use it. (instantiate-missing-services): New procedure. * gnu/system.scm (operating-system-services): Call 'instantiate-missing-services'. * tests/services.scm ("instantiate-missing-services") ("instantiate-missing-services, no default value"): New tests. * gnu/services/version-control.scm (cgit-service-type)[extensions]: Add FCGIWRAP-SERVICE-TYPE. * gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE and FCGIWRAP-SERVICE-TYPE instances. * doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example. (Miscellaneous Services): Remove 'nginx-service-type' and 'fcgiwrap-service-type' in Cgit example.
* tests: Cgit test waits for /var/run/shepherd/socket.Ludovic Courtès2018-01-21
| | | | | | | | Previously tests sometimes start before the shepherd was listening, leading to test failures. * gnu/tests/version-control.scm (run-cgit-test)[test]: Add "shepherd socket ready" test. Rename to two "service running" tests for clarity.
* gnu: services: web: Add service for httpd.Christopher Baines2018-01-17
| | | | | | | | | | | | | * gnu/services/web.scm (<httpd-module>, <httpd-config-file>, <httpd-virtualhost> <httpd-configuration>): New record types. (%default-httpd-modules, %httpd-accounts, httpd-service-type): New variables. (httpd-shepherd-services, httpd-activation, httpd-process-extensions): New procedures. * gnu/tests/web.scm (run-httpd-test): New procedure. (%httpd-os, %tests-httpd): New variables. * doc/guix.texi (Web Services): Document the Apache HTTP Server.
* gnu: tests: web: Generalise the nginx test.Christopher Baines2018-01-17
| | | | | | | | | | | So that it can also be used for other web servers. * gnu/tests/web.scm (%index.html-contents): Change nginx to guix. (%make-http-root): Move the index.html file from /srv to /srv/http. (%nginx-servers): Remove the setting of root. (run-nginx-test, run-webserver-test): Rename run-nginx-test to run-webserver-test and generalise its behaviour (%test-nginx): Change to use run-webserver-test, rather than run-nginx-test.
* services: bitlbee: Add test.Ludovic Courtès2018-01-15
| | | | | * gnu/tests/messaging.scm (run-bitlbee-test): New procedure. (%test-bitlbee): New variable.
* tests: networking: Add tests for Open vSwitch.Marius Bakke2017-12-29
| | | | | | | * gnu/tests/networking.scm (openvswitch-configuration-service, %openvswitch-os): New variables. (setup-openvswitch, run-openvswitch-test): New procedures. (%test-openvswitch): New public variable.
* tests: Adjust php-fpm test to new nginx API.Ludovic Courtès2017-12-19
| | | | | | | | | | Fixes <https://bugs.gnu.org/29769>. Reported by Mark H Weaver <mhw@netris.org>. This is a followup to 8b223ceac4ff0781e95d69362875f87cff03f4d6. * gnu/tests/web.scm (%php-fpm-nginx-server-blocks): Turn 'listen' into a list.
* services: nginx: Replace 'http-port' and 'https-port' with 'listen'.Clément Lassieur2017-12-18
| | | | | | | | | | | * doc/guix.texi (Web Services, Version Control Services): Update accordingly. * gnu/services/certbot.scm (certbot-nginx-server-configurations): Likewise. * gnu/services/version-control.scm (%cgit-configuration-nginx): Likewise. * gnu/services/web.scm (<nginx-server-configuration>, emit-nginx-server-config): Likewise. * gnu/tests/version-control.scm (%cgit-configuration-nginx, %git-nginx-configuration): Likewise. * gnu/tests/web.scm (%nginx-servers, %php-fpm-nginx-server-blocks): Likewise.
* gnu: services: Add php-fpm.nee2017-12-12
| | | | | | | | | | | | | * gnu/services/web.scm (<php-fpm-configuration>, <php-fpm-process-manager-configuration>): New record types. (php-fpm-configuration?, php-fpm-process-manager-configuration?, php-fpm-service-type, nginx-php-location): New procedures. * doc/guix.texi (Web-Services): Document php-fpm service. * gnu/tests/web.scm: Add php-fpm system test. Signed-off-by: Christopher Baines <mail@cbaines.net>
* services: web: Remove default certificate and key files for nginx.Christopher Baines2017-12-11
| | | | | | | | | | | | If nginx is configured with a ssl-certificate file, and ssl-certificate-key, it will fail to start unless these exist. To avoid this happening, change the default to #f. * gnu/services/web.scm (<nginx-server-configuration>) [ssl-certificate,ssl-certificate-key]: Set the defaults to #f. * gnu/tests/web.scm (%nginx-servers): Remove redundant nginx-server-configuration fields. * doc/guix.texi (Web Services): Update examples and documentation.
* gnu, doc, tests: Use ‘bootloader-configuration’ everywhere.Tobias Geerinckx-Rice2017-12-06
| | | | | | | | | | | | | | * doc/guix.texi (Proceeding with the Installation): Replace the old-style ‘grub-configuration’ with the newer ‘bootloader-configuration’ syntax. * gnu/system/examples/vm-image.tmpl: Likewise. * gnu/system/install.scm (installation-os): Likewise. * gnu/tests.scm (%simple-os): Likewise. * gnu/tests/install.scm (%minimal-os, %minimal-os-on-vda, %separate-home-os) (%separate-store-os, %raid-root-os, %encrypted-root-os, %btrfs-root-os): Likewise. * gnu/tests/nfs.scm (%base-os): Likewise. * tests/guix-system.scm (OS_BASE, make_user_config): Likewise. * tests/system.scm (%os, %os-with-mapped-device): Likewise.
* tests: Add 'git-http' test.Ludovic Courtès2017-11-28
| | | | | | * gnu/tests/version-control.scm (%git-nginx-configuration) (%git-http-os, %test-git-http): New variables. (run-git-http-test): New procedure.
* tests: cgit: Add a file to the test repository.Ludovic Courtès2017-11-28
| | | | | | | | * gnu/tests/version-control.scm (README-contents): New variable. (%make-git-repository): Add a 'README' file to the repo. (%test-repository-service): New variable. (%cgit-os): Use it. (run-cgit-test): Test /test/tree/README and /test/tree/does-not-exist.
* tests: messaging: Enable Prosody DIGEST-MD5 auth mechanism.Clément Lassieur2017-11-26
| | | | | | | GNU Freetalk doesn't support SCRAM-SHA-1. * gnu/tests/messaging.scm (%test-prosody): Override default disable-sasl-mechanisms value.
* tests: install: Increase target-size.Oleg Pykhalov2017-11-15
| | | | | | | 1200 MiB are too small for a btrfs-root-os, thus let increase it. * gnu/tests/install.scm (run-install): Increase target-size to 2200 MiB. (%btrfs-root-installation-script): Increase my-root partition size to 2G.
* tests: ssh: Make sure we can run executables from PATH.Marius Bakke2017-11-01
| | | | | * gnu/tests/ssh.scm (run-ssh-test): Add tests for running commands in system and user profile.
* tests: install: Estimate the installation system disk size.Hartmut Goebel2017-10-30
| | | | | | | | 1500 MiB are too small for a current system, thus let system-disk-image estimate the required size. * gnu/tests/install.scm: (run-install): Pass "#:disk-image-size 'guess" to system-disk-image.
* tests: databases: Add a simple test for MySQL.Christopher Baines2017-10-08
| | | | | | | | | Previously, the activation phase for this service caused some systems using it to not boot. This test checks that it's possible to boot a system using it, and at least start the service. * gnu/tests/databases.scm (%mysql-os, %test-mysql): New variables. (run-mysql-test): New procedure.
* services: Add MongoDB.Christopher Baines2017-10-06
| | | | | | | | | * gnu/services/databases.scm (%default-mongodb-configuration-file, %mongodb-accounts, mongodb-service-type): New variables. (<mongodb-configuration>): New record type. (mongodb-activation, mongodb-shepherd-service): New procedures. * gnu/tests/databases.scm (%test-mongodb): New variable. * doc/guix.texi (Database Services): Add MongoDB documentation.
* gnu: services: Add cgit.Oleg Pykhalov2017-10-03
| | | | | | | | | | | | | * gnu/services/version-control.scm (<cgit-configuration-file>, <cgit-configuration>): New record types. (cgit-configuration-robots-string, cgit-activation, cgit-configuration-nginx-config): New procedures. (%cgit-configuration-nginx, cgit-service-type): New variables. * gnu/tests/version-control.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Version Control): Document the cgit service. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* tests: install: Switch to modifying the gc-root-service-type.Ludovic Courtès2017-09-26
| | | | | | | | | | | Fixes <https://bugs.gnu.org/28600>. Fixes a regression introduced in 4e854b1814a9216ae7cc90aef4d82fd989a519c3. Reported by Christopher Baines <mail@cbaines.net>. * gnu/tests/install.scm (operating-system-with-gc-roots): Use 'simple-service' to extend GC-ROOT-SERVICE-TYPE instead of instantiating it.
* tests: mcron: Adjust use of 'wait-for-file'.Ludovic Courtès2017-09-26
| | | | | | | | | | Fixes a regression introduced in 8bd5231485cdeb02078c4294badb3a1e7caa0fe0, whereby returning #<eof> would no longer work (since #<eof> would be in the cdr of the result, and thus it would not get converted to a string.) * gnu/tests/base.scm (run-mcron-test)["root's job with command"]: Pass #:read to 'wait-for-file'.
* gnu: Add rsync service.Oleg Pykhalov2017-09-23
| | | | | | | | | * doc/guix.texi (Networking Services): Add rsync service documentation. * gnu/services/rsync.scm (<rsync-configuration>): New file. * gnu/tests/rsync.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new files. Signed-off-by: Christopher Baines <mail@cbaines.net>
* tests: Fix incorrect use of 'file-append'.Ludovic Courtès2017-09-08
| | | | | | | | Fixes a regression introduced in fbc7b1f12561159e0ec3f6459d336f95cf2ce503. * gnu/tests/install.scm (run-install)[install]: Don't use 'file-append' with a string as its first argument; use a gexp with 'string-append' instead. Use a gexp instead of a list for "-cdrom IMG".
* gnu: elogind: Use itself as the cgroup controller.Ludovic Courtès2017-09-08
| | | | | | | | | | | | | | | | Fixes a regression introduced in fa67d5654176b4b815832eaf259188e1486c65ab whereby elogind would fail to start with: Cannot determine cgroup we are running in: No data available Out of memory. thereby preventing log-in altogether. * gnu/packages/freedesktop.scm (elogind)[arguments]: Pass "--with-cgroup-controller=elogind". * gnu/tests/desktop.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* marionette: 'wait-for-file' can be passed a read procedure.Ludovic Courtès2017-09-08
| | | | | | | * gnu/build/marionette.scm (wait-for-file): Add #:read parameter and honor it. * gnu/tests/base.scm (run-basic-test)["login on tty1"]: Use 'wait-for-file' instead of inline code.
* tests: Add test for installing from an ISO Image.Christopher Baines2017-09-06
| | | | | | * gnu/tests/install.scm (%test-iso-image-installer): New variable. (run-install): Add #:installation-disk-image-file-system-type as a keyword argument.
* services: user-processes: Reap child processes.Ludovic Courtès2017-08-28
| | | | | | | | | | Fixes <http://bugs.gnu.org/26931>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/base.scm (user-processes-service-type)[stop]: Add 'reap-children' loop. * gnu/tests/base.scm (run-halt-test): New procedure. (%test-halt): New variable.
* Merge branch 'core-updates'Marius Bakke2017-08-26
|\
| * Merge branch 'master' into core-updatesMarius Bakke2017-08-21
| |\
| * \ Merge branch 'master' into core-updatesMark H Weaver2017-08-15
| |\ \
| * \ \ Merge branch 'master' into core-updatesMarius Bakke2017-08-01
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesLeo Famulari2017-07-23
| |\ \ \ \
| * | | | | tests: ssh: Use 'guile-ssh'.Ludovic Courtès2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/tests/ssh.scm (run-ssh-test): Use GUILE-SSH instead of GUILE2.0-SSH.
* | | | | | gnu: bootloader: Deprecate "device" field in favor of "target".Andy Wingo2017-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader.scm (<bootloader-configuration>): Deprecate "device" field in favor of "target" field. This is mostly a renaming but also a generalization to support UEFI targets being paths to a mounted partition instead of a device name. * gnu/system/examples/bare-bones.tmpl: * gnu/system/examples/desktop.tmpl: * gnu/system/examples/lightweight-desktop.tmpl: * gnu/system/examples/vm-image.tmpl: * gnu/system/install.scm: * gnu/tests.scm: * gnu/tests/install.scm: * gnu/tests/nfs.scm: * tests/system.scm: Adapt all invocations of bootloader-configuration. * guix/scripts/system.scm (perform-action): Rename device argument to bootloader-target. (process-action): Adapt caller. * doc/guix.texi (Proceeding with the Installation): * doc/guix.texi (Bootloader Configuration): Update documentation.
* | | | | | tests: Add 'libvirt-service-type' test.Christopher Baines2017-08-23
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | * gnu/tests/virtualization.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* | | | | gnu: Fix memcached service startup.Christopher Baines2017-08-15
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memcached changes to the memcached user from root before writing the PID file. This means that it must be able to write the PID file as the memcached user. To make this work, create the /var/run/memcached directory when the service starts, make it owned by memcached, and change memcached to write the PID file to /var/run/memcached/pid. This wasn't picked up by the system test as the "service running" part was too permissive, and only failed on an error. Instead, test the response from calling start-service and check that the PID is a number. * gnu/services/databases.scm (memcached-activation): New variable. (memcached-shepherd-service): Change PID file location. (memcached-service-type): Extend the activation-service-type. * gnu/tests/databases.scm (run-memcached-test)[test]: Change the "service running" test to check the response from the shepherd.
* | | | gnu: Add mpd service.Peter Mikkelsen2017-08-13
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi: Add documentation. * gnu/services/audio.scm (<mpd-configuration>): New record type. (mpd-service-type): New service type. * gnu/tests/audio.scm: New file. * gnu/local.mk: Add new files. Signed-off-by: Christopher Baines <mail@cbaines.net>
* | | services: Add memcached.Christopher Baines2017-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/services/databases.scm (memcached-service-type, %memcached-accounts): New variables. (<memcached-configuration>): New record type. (memcached-service-type): New procedures. * gnu/tests/databases.scm: New file. * doc/guix.texi (Database Services): Document the new memcached service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add entry for tests/databases.scm.
* | | gnu: services: admin: Add tailon.Christopher Baines2017-07-29
| |/ |/| | | | | | | | | | | | | | | | | | | * gnu/services/admin.scm (<tailon-configuration>, <tailon-configuration-file>): New record types. (tailon-configuration-files-string, tailon-shepherd-service): New procedures. (%tailon-accounts, tailon-service-type: New variables. * doc/guix.texi (Monitoring Services: Document the Tailon service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/tests/admin.scm. * gnu/tests/admin.scm: New file.
* | tests: Use 'virtual-machine' records instead of monadic procedures.Ludovic Courtès2017-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/tests/base.scm (%test-basic-os): Use 'let*' instead of 'mlet*' and 'virtual-machine' instead of 'system-qemu-image/shared-store-script'. (run-mcron-test): Likewise. (run-nss-mdns-test): Likewise. * gnu/tests/dict.scm (run-dicod-test): Likewise. * gnu/tests/mail.scm (run-opensmtpd-test): Likewise. (run-exim-test): Likewise. * gnu/tests/messaging.scm (run-xmpp-test): Likewise. * gnu/tests/networking.scm (run-inetd-test): Likewise. * gnu/tests/nfs.scm (run-nfs-test): Likewise. * gnu/tests/ssh.scm (run-ssh-test): Likewise. * gnu/tests/web.scm (run-nginx-test): Likewise.
* | gnu: Rename (gnu packages qemu) to (gnu packages virtualization).宋文武2017-07-15
|/ | | | | | | | | * gnu/packages/qemu.scm: Rename this ... * gnu/packages/virtualization.scm: ... to this. * gnu/local.mk (GNU_SYSTEM_MODULES), gnu/packages/bootloaders.scm, gnu/packages/debug.scm, gnu/packages/gnome.scm, gnu/system/vm.scm, gnu/tests/install.scm: Adjust accordingly.
* tests: Add extlinux gpt test.Mathieu Othacehe2017-06-21
| | | | | | | | | * gnu/tests/install.scm (%test-installed-extlinux-os): New exported variable. (%minimal-extlinux-os, %minimal-extlinux-os-source): New variables. (%extlinux-gpt-installation-script): New variable. (run-install)[packages]: New argument. The packages specified are appended to the installation image.
* marionette: Factorize 'wait-for-file'.Ludovic Courtès2017-06-12
| | | | | | | | | | | * gnu/build/marionette.scm (wait-for-file): New procedure. * gnu/tests/base.scm (run-mcron-test)[test](wait-for-file): Remove. Pass second argument in 'wait-for-file' calls. * gnu/tests/ssh.scm (run-ssh-test)[test](wait-for-file): Remove. Pass second argument in 'wait-for-file' calls. * gnu/tests/messaging.scm (run-xmpp-test)[test](guest-wait-for-file): Remove. Use 'wait-for-file' instead, with second argument.
* activation: Change permissions on /root to #o700.Ludovic Courtès2017-05-30
| | | | | | | | | Reported by Alex Griffin <a@ajgrf.com>. Fixes <http://bugs.gnu.org/27135>. * gnu/build/activation.scm (add-user): When UID is zero, add 'chmod' call. * gnu/tests/base.scm (run-basic-test)["permissions on /root"]: New test.
* Merge branch 'version-0.13.0'Marius Bakke2017-05-22
|\
| * tests: ssh: Use 'guile2.0-ssh'.Ludovic Courtès2017-05-21
| | | | | | | | | | | | Fixes a regression introduced in 4d8806c3d662c74e6d48d0f0d6ce423fce9a3a08. * gnu/tests/ssh.scm (run-ssh-test): Use GUILE2.0-SSH instead of GUILE-SSH.
| * services: user-homes: Do not create home directories marked as no-create.Ludovic Courtès2017-05-20
| | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby GuixSD would create the /nonexistent directory, from user 'nobody', even though it has 'create-home-directory?' set to #f. * gnu/build/activation.scm (activate-users+groups): Add comment for \#:create-home?. (activate-user-home)[ensure-user-home]: Skip when CREATE-HOME? is #f or SYSTEM? is #t. * gnu/tests/base.scm (run-basic-test)["no extra home directories"]: New tests.
* | services: user-homes: Do not create home directories marked as no-create.Ludovic Courtès2017-05-18
| | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug whereby GuixSD would create the /nonexistent directory, from user 'nobody', even though it has 'create-home-directory?' set to #f. * gnu/build/activation.scm (activate-users+groups): Add comment for \#:create-home?. (activate-user-home)[ensure-user-home]: Skip when CREATE-HOME? is #f or SYSTEM? is #t. * gnu/tests/base.scm (run-basic-test)["no extra home directories"]: New tests.
* | bootloader: Add extlinux support.Mathieu Othacehe2017-05-16
|/ | | | | | | | | | | | | | | * gnu/bootloader.scm: New file. * gnu/bootloader/extlinux.scm: New file. * gnu/bootloader/grub.scm: New file. * gnu/local.mk: Build new files. * gnu/system.scm: Adapt to new bootloader api. * gnu/scripts/system.scm: Adapt to new bootloader api. * gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu bootloader grub) modules. * gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm. * gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader). * gnu/tests.scm: Ditto. * gnu/tests/nfs.scm: Ditto.