summaryrefslogtreecommitdiff
path: root/gnu/tests
AgeCommit message (Collapse)Author
2021-08-02Reinstate "services: Add a service for Jami."Maxim Cournoyer
This reverts commit 4673f817938d9d2b1b40a072ab2e0c44a32ccc97, which reverted commit 69dcc24c9f0cdfea674eb690e7755d26a25ced2b with the fix detailed below. Thanks to Christopher Baines for reporting the failure and proposing a fix. * guix/self.scm (compiled-guix) [*system-test-modules*]: Add the test data files via the 'extra-files' argument. * gnu/local.mk (dist_patch_DATA): Move the tests/data/jami-dummy-account.dat file to... * gnu/local.mk (MODULES_NOT_COMPILED): ... here.
2021-08-02Revert "services: Add a service for Jami."Maxim Cournoyer
This reverts commit 69dcc24c9f0cdfea674eb690e7755d26a25ced2b. It broke 'guix pull'.
2021-08-02services: Add a service for Jami.Maxim Cournoyer
* gnu/services/telephony.scm (string-or-computed-file?) (string-list?, account-fingerprint-list?): New procedures. (maybe-string-list, maybe-account-fingerprint-list) (maybe-boolean, maybe-string, jami-account-list): New configuration field types. (serialize-string-list, serialize-boolean, serialize-string) (jami-account, jami-account->alist, jami-configuration) (jami-account-list?, jami-account-list-maybe): New procedures. (%jami-accounts): New variable. (jami-configuration->command-line-arguments): New procedure. (jami-dbus-session-activation, jami-shepherd-services): New procedures. (jami-service-type): New variable. * gnu/build/jami-service.scm: New file. * gnu/tests/data/jami-dummy-account.dat: Likewise. * gnu/tests/telephony.scm: Likewise. * gnu/local.mk (GNU_SYSTEM_MODULES): Register them. * Makefile.am (SCM_TESTS): Register the test file. (dist_patch_DATA): Register the new data file. * doc/guix.texi (Telephony Services): Document it.
2021-07-04installer: tests: Expect but do not select other services by default.Tobias Geerinckx-Rice
* gnu/installer/tests.scm (choose-services): Accept a new choose-other-service? keyword argument, defaulting to false. Expect an "Other services" checkbox-list. Update docstring.
2021-06-20services: openssh: Replace 'without-password' by 'prohibit-password'.Brice Waegeneire
For some time, OpenSSH's option 'PermitRootLogin' has deprecated the ambiguous argument 'without-password' with 'prohibit-password'. * doc/guix.texi (Network Services): Replace 'without-password by 'prohibit-password. * gnu/machine/digital-ocean.scm (guix-infect): Change system configuration to use 'prohibit-password. * gnu/services/ssh.scm (openssh-configuration): Change comment to use 'prohibit-password. (openssh-config-file): Add support for 'prohibit-password to 'permit-root-login'. Warn about deprecated 'without-password usage. * gnu/tests/ganeti.scm (%ganeti-os): Replace 'without-password by 'prohibit-password. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
2021-06-01tests: hpcguix-web: Fix it.Mathieu Othacehe
* gnu/tests/web.scm (run-hpcguix-web-server-test): Increase the VM memory size and add retries for the http-get test.
2021-05-31tests: Fix loadable-kernel-modules-service tests.Brice Waegeneire
* gnu/tests/linux-modules.scm (run-loadable-kernel-modules-service-test): Actually load the modules with kernel-module-loader-service-type. Use a singleton service instead of defining a custom one. * doc/guix.texi (Service Reference): To give an example of linux-loadable-module-service-type use a singleton instead of defining a new service.
2021-05-11gnu: Allow services to install kernel-loadable modules.raid5atemyhomework
* gnu/system.scm (operating-system-directory-base-entries): Remove code to handle generation of "kernel" for linux-libre kernels. (operating-system-default-essential-services): Instantiate linux-builder-service-type. (package-for-kernel): Move ... * gnu/services.scm: ... to here. (linux-builder-service-type): New variable. (linux-builder-configuration): New type. (linux-loadable-module-service-type): New variable. * gnu/tests/linux-modules.scm (run-loadable-kernel-modules-test): Move code to ... (run-loadable-kernel-modules-test-base): ... new procedure here. (run-loadable-kernel-modules-service-test): New procedure. (%test-loadable-kernel-modules-service-0): New variable. (%test-loadable-kernel-modules-service-1): New variable. (%test-loadable-kernel-modules-service-2): New variable. * doc/guix.texi: Document linux-loadable-module-service-type. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2021-04-28tests: Add gui-uefi-installed-os test.Mathieu Othacehe
* gnu/installer/tests.scm (conclude-installation): Rename it into ... (start-installation): ... this new procedure. (complete-installation): New procedure. (choose-partitioning): Add an uefi-support? argument. * gnu/tests/install.scm (uefi-firmware): New procedure. (run-install, qemu-command/writable-image, gui-test-program, installation-target-os-for-gui-tests): Add an uefi-support? argument. (%extra-packages): Add grub-efi, fatfsck/static and dosfstools. (%test-gui-installed-os): New variable.
2021-04-18tests: ldap: Fix it.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/47745>. * gnu/tests/ldap.scm (run-ldap-test): Use a password with more that 8 characters so that dscreate doesn't fail.
2021-04-18tests: Increase VM memory size.Mathieu Othacehe
The patchwork test sometimes fail because there's not enough available RAM in the marionette. Increase the VM memory size to 1024MiB. * gnu/tests/web.scm (run-patchwork-test): Increase VM memory size to 1024MiB.
2021-04-18tests: patchwork: Fix it.Mathieu Othacehe
The "http-get" test is sometimes failing because the Web server is not yet initialized and returns the 500 error code. Use the retry-or-error procedure, like in the tailon test to do a few retries. * gnu/tests/web.scm (run-tailon-test): Move "retry-or-error" procedure to the top level and adapt its call. (run-patchwork-test): Use it.
2021-04-13tests: postgresql: Fix it.Mathieu Othacehe
This is a follow-up of c311147bd16aa0e5746d9cbf31502f5fd61e470c. * gnu/tests/databases.scm (run-postgresql-test): Use "/tmp" as database host.
2021-04-13tests: halt: Fix it.Mathieu Othacehe
This fixes: <https://issues.guix.gnu.org/47727>. The OCR prompt detection is failing, so remove it altogether. It looks like the test doesn't need the prompt detection delay to work properly. * gnu/tests/base.scm (run-halt-test): Remove failing OCR detection.
2021-04-12services: postgresql: Change service default socket directory.Christopher Baines
Fixes <https://bugs.gnu.org/46737>. PostgreSQL running with a different socket directory to the default one in the package itself breaks some services, this commit restores the previous behaviour where PostgreSQL by default will run with a socket directory that matches the default used by PostgreSQL packaged for Guix. Switching to a different default value can happen, but only alongside changing the PostgreSQL package. * gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]: Change default to #false. * doc/guix.texi (Database Services): Update documentation, and specify a different value for disabling connections via sockets. * gnu/tests/guix.scm (%guix-data-service-os): Use default PostgreSQL behaviour. * gnu/tests/monitoring.scm (%zabbix-os): Likewise. * gnu/tests/web.scm (patchwork-os): Likewise. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-04-12gnu: tests: Test basic funtionality of the IPFS service.Maxime Devos
It is tested whether the IPFS service listens at the gateway and API ports and whether it is possible to upload and download a bytevector. * gnu/tests/networking.scm (%ipfs-os): New variable. (run-ipfs-test): New procedure. (%test-ipfs): New system test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-12tests: docker: Increase VM building memory size to 1024MiB.Mathieu Othacehe
This fixes the following error when running the "docker-system" test: In ice-9/ftw.scm: 553:30 1 (_ #<directory stream db6660>) In unknown file: 0 (readdir #<directory stream db6660>) ERROR: In procedure readdir: In procedure readdir: Cannot allocate memory * gnu/tests/docker.scm (%test-docker-system): Bump image building VM memory size to 1024 MiB.
2021-04-10tests: nfs: Fix typo in description.Tobias Geerinckx-Rice
* gnu/tests/nfs.scm (%test-nfs-root-fs)[description]: Fix typo.
2021-04-09services: Add Laminar.Christopher Baines
* gnu/services/ci.scm: New file. * gnu/tests/ci.scm: New file. * doc/guix.texi (Laminar): Document the Laminar service.
2021-04-05tests: libvirt: Catch issues with incorrect /var and /etc in package.Pierre Langlois
* gnu/tests/virtualization.scm (run-libvirt-test): Chdir to "/tmp" before running test. Add "connect" test.
2021-03-28tests: Add Transmission Daemon system test.Simon South
* gnu/tests/file-sharing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-03-23tests: Remove Cuirass tests.Mathieu Othacehe
Those tests don't make sense anymore as the Cuirass 1.0 version has removed the possibility to execute a custom registration procedure. * gnu/tests/cuirass.scm: Remove it. * gnu/local.mk (GNU_SYSTEM_MODULES): Ditto.
2021-03-16gnu: Remove MongoDB.Léo Le Bouter
mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the release tarball under the SSPL, therefore we cannot provide mongodb while upholding to good security standards. It turns out feff80cec3c97a3df2c20d300be12d67f79d4f22 was right since while the main license file wasnt altered to SSPL, some files in the tree contain SSPL headers. * gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove. * gnu/packages/databases.scm (mongo-tools): Remove. * doc/guix.texi (mongodb-service-type): Remove. * gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test): Remove. * gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?, mongodb-configuration-mongodb, mongodb-configuration-config-file, mongodb-configuration-data-directory, mongodb-service-type, %default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation, mongodb-shepherd-service): Remove. * gnu/packages/databases.scm (mongodb): Remove.
2021-03-10tests: cuirass: Remove cuirass simple test.Mathieu Othacehe
This is a follow-up of 6c883d0f1deacff4fc227a4f925414a3733efc6e. * gnu/tests/cuirass.scm (simple-cuirass-service, %cuirass-simple-test): Remove them.
2021-02-25tests: docker-system: Increase VM memory.Ludovic Courtès
* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase 'memory-size'.
2021-02-23tests: cuirass: Restore "cuirass running".Mathieu Othacehe
This is a follow-up of ab054868afe6a4ba9d8aa9943e265bd6a871d0ae. The test was failing because the Shepherd control socket wasn't ready yet. Restore it but make sure that the control socket is available first. * gnu/tests/cuirass.scm ("shepherd socket ready"): New test. ("cuirass running"): Restore it.
2021-02-23tests: cuirass: Remove "cuirass running" test.Mathieu Othacehe
* gnu/tests/cuirass.scm ("cuirass running"): Remove it as it fails if all the dependencies are not started yet.
2021-02-23services: cuirass: Improve simple-cuirass-services.Mathieu Othacehe
Instead of returning multiple services in simple-cuirass-services, rely on the instantiate-missing-services procedure to instantiate postgresql and postgresql-role-service-type when missing. Turn simple-cuirass-services procedure into simple-cuirass-configuration->specs, that takes a simple-cuirass-configuration record and returns a Cuirass specification. Suggested-by: Ludovic Courtès <ludo@gnu.org> * gnu/services/cuirass.scm (%default-cuirass-config): Remove it. (simple-cuirass-services): Rename it to ... (simple-cuirass-configuration->specs): ... this procedure. * gnu/tests/cuirass.scm (cuirass-services): Remove postgresql and postgresql-role services that are automatically instantiated. (simple-cuirass-service): New variable. (%cuirass-simple-test): Adapt it to use simple-cuirass-configuration->specs instead of simple-cuirass-services. * doc/guix.texi (Simple Cuirass): Update it.
2021-02-19services: cuirass: Add "simple-cuirass-services".Mathieu Othacehe
* gnu/services/cuirass.scm (<build-manifest>, <simple-cuirass-configuration>): New records. (build-manifest, build-manifest?, simple-cuirass-configuration, simple-cuirass-configuration?, simple-cuirass-services): New procedures. (%default-cuirass-config): New variable. * gnu/tests/cuirass.scm (%cuirass-simple-test): New variable. * doc/guix.texi (Continuous Integration): Document it.
2021-02-19tests: cuirass: Add an operating system argument.Mathieu Othacehe
Rewrite so that "run-cuirass-test" takes an operating-system argument. This is functionally equivalent. * gnu/tests/cuirass.scm (%derivation-file, git-service, cow-service, %cuirass-specs): New variables. (cuirass-services): New procedure. (run-cuirass-test): Add an "operating-system" argument. (%cuirass-test): Adapt it. (%cuirass-remote-test): Ditto.
2021-02-01Merge branch 'staging'Leo Famulari
2021-01-29tests: cuirass: Increase delay.Mathieu Othacehe
* gnu/tests/cuirass.scm (run-cuirass-test): Increase "cuirass-web build queued" test delay.
2021-01-29tests: cuirass: Add Cuirass remote test.Mathieu Othacehe
* gnu/tests/cuirass.scm (run-cuirass-test): Add "name" and "remote-build?" arguments. (%cuirass-test): Adapt it. (%cuirass-remote-test): New variable.
2021-01-28tests: Add cuirass test.Mathieu Othacehe
2021-01-28services: postgresql: Add postgresql-role-service-type.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-role, postgresql-role?, postgresql-role-name, postgresql-role-permissions, postgresql-role-create-database?, postgresql-role-configuration, postgresql-role-configuration?, postgresql-role-configuration-host, postgresql-role-configuration-roles, postgresql-role-service-type): New procedures. * gnu/tests/databases.scm: Test it. * doc/guix.texi: Document it.
2021-01-28services: postgresql: Add log directory support.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-configuration-log-directory): New procedure. (<postgresql-configuration>)[log-directory]: New field. (postgresql-activation): Create the log directory. (postgresql-shepherd-service): Honor it. * gnu/tests/databases.scm (%postgresql-log-directory): New variable. (log-file): New test case. * doc/guix.texi (Database Services): Document it.
2021-01-28services: postgresql: Add socket directory support.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-config-file-socket-directory): New procedure. (<postgresql-config-file>)[socket-directory]: New field. (postgresql-config-file-compiler): Honor it. (postgresql-activation): Create the socket directory if needed. * doc/guix.texi (Database Services): Document it. * gnu/tests/guix.scm (%guix-data-service-os): Adapt it. * gnu/tests/monitoring.scm (%zabbix-os): Ditto. * gnu/tests/web.scm (patchwork-os): Ditto. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: postgresql: Use Guile datatypes.Mathieu Othacehe
* gnu/services/databases.scm (postgresql-config-file-compiler): Support Guile datatypes in the "extra-config" field. * gnu/tests/databases.scm (%postgresql-os): Test it. * doc/guix.texi (Database Services): Document it.
2021-01-27system: tests: Add a Btrfs RAID system test.Maxim Cournoyer
* gnu/tests/install.scm (%btrfs-raid-root-os) (%btrfs-raid-root-os-source, %btrfs-raid-root-installation-script) (%test-btrfs-raid-root-os): New variables.
2021-01-25Merge branch 'master' into stagingLeo Famulari
2021-01-20tests: install: Fix build.Mathieu Othacehe
This is a follow-up of: 2f497d94e7f6574b0847025ce29eafaf858008ef. * gnu/tests/install.scm (run-install): Rename 'raw to 'efi-raw.
2021-01-04tests: monitoring: Use the latest postgresql for testing Zabbix.Leo Famulari
This avoids a package collision while building the operating-system profile. * gnu/tests/monitoring.scm (%zabbix-os): Use POSTGRESQL instead of POSTGRESQL-10.
2020-12-21system: Allow separated /boot and encrypted root.Miguel Ángel Arruga Vivas
* gnu/bootloader/grub.scm (grub-configuration-file): New parameter store-crypto-devices. [crypto-devices]: New helper function. [builder]: Use crypto-devices. * gnu/machine/ssh.scm (roll-back-managed-host): Use boot-parameters-store-crypto-devices to provide its contents to the bootloader configuration generation process. * gnu/tests/install.scm (%encrypted-root-not-boot-os, %encrypted-root-not-boot-os): New os declaration. (%encrypted-root-not-boot-installation-script): New script, whose contents were initially taken from %encrypted-root-installation-script. (%test-encrypted-root-not-boot-os): New test. * gnu/system.scm (define-module): Export operating-system-bootoader-crypto-devices and boot-parameters-store-crypto-devices. (<boot-parameters>): Add field store-crypto-devices. (read-boot-parameters): Parse store-crypto-devices field. [uuid-sexp->uuid]: New helper function extracted from device-sexp->device. (operating-system-bootloader-crypto-devices): New function. (operating-system-bootcfg): Use operating-system-bootloader-crypto-devices to provide its contents to the bootloader configuration generation process. (operating-system-boot-parameters): Add store-crypto-devices to the generated boot-parameters. (operating-system-boot-parameters-file): Likewise to the file with the serialized structure. * guix/scripts/system.scm (reinstall-bootloader): Use boot-parameters-store-crypto-devices to provide its contents to the bootloader configuration generation process. * tests/boot-parameters.scm (%default-store-crypto-devices): New variable. (%grub-boot-parameters, test-read-boot-parameters): Use %default-store-crypto-devices. (tests store-crypto-devices): New tests.
2020-11-28services: MySQL: Add more tests.Marius Bakke
* gnu/tests/databases.scm (run-mysql-test): Try creating a database and inserting data.
2020-11-28services: MySQL: Upgrade database schemas automatically.Marius Bakke
* gnu/services/databases.scm (<mysql-configuration>): Add AUTO-UPGRADE? field. (mysql-upgrade-wrapper, mysql-upgrade-shepherd-service, mysql-shepherd-services): New variables. (mysql-service-type): Use MYSQL-SHEPHERD-SERVICES instead of MYSQL-SHEPHERD-SERVICE. * doc/guix.texi (Database Services): Document the AUTO-UPGRADE? field of MYSQL-SERVICE-TYPE. * gnu/tests/databases.scm (run-mysql-test): Test that mysql_upgrade has run.
2020-11-28services: MySQL: Deprecate 'mysql-service'.Marius Bakke
* gnu/services/databases.scm (mysql-service): Define in terms of DEFINE-DEPRECATED. * gnu/tests/databases.scm (%mysql-os): Adjust accordingly. * doc/guix.texi (Database Services): Adjust the MariaDB/MySQL section to document MYSQL-SERVICE-TYPE instead of MYSQL-SERVICE. While at it, document the EXTRA-CONTENT field.
2020-11-26mapped-devices: Add 'lvm-device-mapping'.Mikhail Tsykalov
* gnu/system/mapped-devices.scm (lvm-device-mapping, open-lvm-device, close-lvm-device): New variables. * gnu/tests/install.scm (%lvm-separate-home-os, %lvm-separate-home-os-source, %lvm-separate-home-installation-script, %test-lvm-separate-home-os): New variables. * gnu/system/linux-initrd.scm (raw-initrd): Add (srfi srfi-1) to initrd expression. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-11-07tests: nfs-root-fs: Use the right store file name.Ludovic Courtès
* gnu/tests/nfs.scm (run-nfs-root-fs-test): Pass "nfs-root-fs-test" as the first argument to 'gexp->derivation'.
2020-11-07tests: git-http: Avoid race condition.Ludovic Courtès
* gnu/tests/version-control.scm (run-git-http-test)[test]("fcgiwrap listens"): New test.
2020-11-06tests: mpd: Remove race condition; use default MPD configuration.Ludovic Courtès
* gnu/tests/audio.scm (%mpd-os): Use the default 'mpd-configuration'. (run-mpd-test)[test]("mpd listening"): New test. ("mpc connect"): Use 'system*' and 'test-equal'.