Commit graph

312 commits

Author SHA1 Message Date
Marius Bakke
757a2eb970
tests: patchwork: Use the default PostgreSQL.
* gnu/tests/web.scm (patchwork-os)[services]: Change from POSTGRESQL-10 to
POSTGRESQL.
2021-12-06 21:17:31 +01:00
Ludovic Courtès
21332f3b8c
gnu: hpcguix-web: Update to 0.2.0.
* gnu/packages/web.scm (hpcguix-web): Update to 0.2.0.
[arguments]: In 'wrap-program' phase, add guile-zlib to DEPS.
[native-inputs]: Add GUILE.
[inputs]: Add GUILE-ZLIB, GUILE-COMMONMARK, and GUILE-JSON.
[propagated-inputs]: Remove.  These were pointless.
* gnu/services/web.scm (<hpcguix-web-configuration>)[address, port]: New
fields.
* doc/guix.texi (Web Services): Document them.
* gnu/tests/web.scm (%hpcguix-web-os): Add 'address'.
2021-11-15 17:55:50 +01:00
Ludovic Courtès
3fbf38aca2
tests: Pass '-F qcow2' to 'qemu-img create'.
Fixes a regression introduced in
0b5e128750, whereby 'qemu-img create ...'
as used here would fail with:

  qemu-img: disk.img: Backing file specified without backing format

thereby breaking tests from (gnu tests install).

* gnu/tests/install.scm (qemu-command/writable-image): Pass "-F qcow2".
2021-10-18 10:00:50 +02:00
Marius Bakke
93f69b02a2
gnu: ganeti: Update to 3.0.1.
* gnu/packages/virtualization.scm (ganeti): Update to 3.0.1.
[source](patches): Remove obsolete.
* gnu/tests/ganeti.scm (%ganeti-os): Adjust network configuration so QEMU port
forwarding can work.
(run-ganeti-test): Remove unused port mapping.  Adjust and enable previously
failing test.
* gnu/packages/patches/ganeti-deterministic-manual.patch,
gnu/packages/patches/ganeti-drbd-compat.patch,
gnu/packages/patches/ganeti-os-disk-size.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
2021-10-11 18:59:44 +02:00
Tobias Geerinckx-Rice
0b298cb9f7
tests: install: Test an XFS root file system.
* gnu/tests/install.scm (%xfs-root-os, %xfs-root-os-source)
(%xfs-root-installation-script, %test-xfs-root-os): New variables.
2021-09-23 18:17:18 +02:00
Julien Lepiller
c60daa8e9d
gnu: version-control: Add gitile service.
* gnu/services/version-control.scm (gitile-service-type): New variable.
* doc/guix.texi (Version Control Services): Document it.
* gnu/tests/version-control.scm (%test-gitile): New variable.
2021-09-02 22:56:55 +02:00
Maxim Cournoyer
da4e409483
Migrate to the new 'targets' field of bootloader-configuration.
The old 'target' field is deprecated; adjust the sources to use the new
'targets' one instead.

* doc/guix-cookbook.texi<target>: Replace by 'targets'.
* gnu/bootloader/grub.scm: Likewise.
* gnu/installer/parted.scm: Likewise.
* gnu/machine/digital-ocean.scm: Likewise.
* gnu/system/examples/asus-c201.tmpl: Likewise
* gnu/system/examples/bare-bones.tmpl: Likewise
* gnu/system/examples/bare-hurd.tmpl: Likewise
* gnu/system/examples/beaglebone-black.tmpl: Likewise
* gnu/system/examples/desktop.tmpl: Likewise
* gnu/system/examples/docker-image.tmpl: Likewise
* gnu/system/examples/lightweight-desktop.tmpl: Likewise
* gnu/system/examples/vm-image.tmpl: Likewise
* gnu/system/examples/yggdrasil.tmpl: Likewise
* gnu/system/hurd.scm: Likewise
* gnu/system/images/hurd.scm: Likewise
* gnu/system/images/novena.scm: Likewise
* gnu/system/images/pine64.scm: Likewise
* gnu/system/images/pinebook-pro.scm: Likewise
* gnu/system/images/rock64.scm: Likewise
* gnu/system/install.scm: Likewise
* gnu/system/vm.scm: Likewise
* gnu/tests.scm: Likewise
* gnu/tests/ganeti.scm: Likewise
* gnu/tests/install.scm: Likewise
* gnu/tests/nfs.scm: Likewise
* gnu/tests/telephony.scm: Likewise
* tests/boot-parameters.scm: Likewise
* tests/system.scm: Likewise
2021-08-29 01:05:26 -04:00
Maxim Cournoyer
2ca982ff41
gnu: bootloader: Support multiple targets.
Fixes <https://issues.guix.gnu.org/40997>.

* gnu/bootloader.scm (<bootloader-configuration>): New 'targets' field.
(%bootloader-configuration-target): New procedure.
(bootloader-configuration-target): Add deprecation warning.
(bootloader-configuration-targets): New procedure.
* guix/scripts/system.scm (install): Access targets via
bootloader-configuration-targets.
(perform-action)[bootloader-target]: Remove unused argument and update doc.
Access targets via bootloader-configuration-targets and fix indentation.
(process-action): Access targets via bootloader-configuration-targets.
Do not provide the unused BOOTLOADER-TARGET argument when applying
`perform-action'.
* guix/scripts/system/reconfigure.scm (install-bootloader-program): Rename
DEVICE argument to DEVICES.  Adjust doc and comment.  Apply `installer' and
`disk-installer' for every DEVICES.
(install-bootloader): Access targets via bootloader-configuration-targets and
rename variable from DEVICE to DEVICES.
* gnu/tests/install.scm: Adjust accordingly.
* tests/guix-system.sh: Likewise.
* gnu/tests/reconfigure.scm (run-install-bootloader-test): Adjust the DEVICES
argument so that it is a list.
* doc/guix.texi: Update doc.
2021-08-29 01:05:26 -04:00
Maxim Cournoyer
10f554700c
Reinstate "services: Add a service for Jami."
This reverts commit 4673f81793, which reverted
commit 69dcc24c9f 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-02 17:23:30 -04:00
Maxim Cournoyer
4673f81793
Revert "services: Add a service for Jami."
This reverts commit 69dcc24c9f.  It broke 'guix
pull'.
2021-08-02 15:48:59 -04:00
Maxim Cournoyer
69dcc24c9f
services: Add a service for Jami.
* 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-08-02 15:15:02 -04:00
Tobias Geerinckx-Rice
0dbd2c3b08
installer: tests: Expect but do not select other services by default.
* 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-07-04 13:04:45 +02:00
Brice Waegeneire
ef3f38ea00
services: openssh: Replace 'without-password' by 'prohibit-password'.
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-20 16:44:08 +02:00
Mathieu Othacehe
0b76b25a0e
tests: hpcguix-web: Fix it.
* gnu/tests/web.scm (run-hpcguix-web-server-test): Increase the VM memory size
and add retries for the http-get test.
2021-06-01 14:33:27 +02:00
Brice Waegeneire
8a0dc5f1bf
tests: Fix loadable-kernel-modules-service tests.
* 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-31 21:57:26 +02:00
raid5atemyhomework
a3df382525
gnu: Allow services to install kernel-loadable modules.
* 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-05-11 16:13:48 +02:00
Mathieu Othacehe
95b3fc12bc
tests: Add gui-uefi-installed-os test.
* 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-28 15:51:12 +02:00
Mathieu Othacehe
868d8068a0
tests: ldap: Fix it.
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-18 10:31:59 +02:00
Mathieu Othacehe
89af95313d
tests: Increase VM memory size.
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-18 09:52:18 +02:00
Mathieu Othacehe
3b5c4e6fb2
tests: patchwork: Fix it.
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-18 09:52:18 +02:00
Mathieu Othacehe
c51ffa784e
tests: postgresql: Fix it.
This is a follow-up of c311147bd1.

* gnu/tests/databases.scm (run-postgresql-test): Use "/tmp" as database host.
2021-04-13 19:31:28 +02:00
Mathieu Othacehe
822eacc6bb
tests: halt: Fix it.
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-13 10:02:46 +02:00
Christopher Baines
c311147bd1
services: postgresql: Change service default socket directory.
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-12 19:12:46 -04:00
Maxime Devos
68c9e0a56e
gnu: tests: Test basic funtionality of the IPFS service.
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-12 18:42:23 +02:00
Mathieu Othacehe
e1a4652099
tests: docker: Increase VM building memory size to 1024MiB.
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-12 14:12:49 +02:00
Tobias Geerinckx-Rice
173a631da0
tests: nfs: Fix typo in description.
* gnu/tests/nfs.scm (%test-nfs-root-fs)[description]: Fix typo.
2021-04-10 14:11:26 +02:00
Christopher Baines
eda4bb4f16
services: Add Laminar.
* gnu/services/ci.scm: New file.
* gnu/tests/ci.scm: New file.
* doc/guix.texi (Laminar): Document the Laminar service.
2021-04-09 11:59:58 +01:00
Pierre Langlois
81f65a3a2c
tests: libvirt: Catch issues with incorrect /var and /etc in package.
* gnu/tests/virtualization.scm (run-libvirt-test): Chdir to "/tmp" before
running test.  Add "connect" test.
2021-04-05 18:26:36 +01:00
Simon South
5d8c2c00d6
tests: Add Transmission Daemon system test.
* 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-28 22:31:00 +02:00
Mathieu Othacehe
eee69da3a5
tests: Remove Cuirass tests.
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-23 16:47:47 +01:00
Léo Le Bouter
097cf21d1d
gnu: Remove MongoDB.
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 feff80cec3 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-16 11:05:24 +01:00
Mathieu Othacehe
207ef1a2b4
tests: cuirass: Remove cuirass simple test.
This is a follow-up of 6c883d0f1d.

* gnu/tests/cuirass.scm (simple-cuirass-service, %cuirass-simple-test): Remove
them.
2021-03-10 09:37:48 +01:00
Ludovic Courtès
2b0026813b
tests: docker-system: Increase VM memory.
* gnu/tests/docker.scm (run-docker-system-test)[vm]: Increase
'memory-size'.
2021-02-25 11:29:35 +01:00
Mathieu Othacehe
0de0074844
tests: cuirass: Restore "cuirass running".
This is a follow-up of ab054868af. 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-23 11:54:53 +01:00
Mathieu Othacehe
ab054868af
tests: cuirass: Remove "cuirass running" test.
* gnu/tests/cuirass.scm ("cuirass running"): Remove it as it fails if all the
dependencies are not started yet.
2021-02-23 11:24:47 +01:00
Mathieu Othacehe
bebcf97600
services: cuirass: Improve simple-cuirass-services.
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-23 09:45:09 +01:00
Mathieu Othacehe
e9bf511082
services: cuirass: Add "simple-cuirass-services".
* 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-19 20:10:09 +01:00
Mathieu Othacehe
25ad6e1d8e
tests: cuirass: Add an operating system argument.
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-19 20:10:08 +01:00
Leo Famulari
75b775e81b
Merge branch 'staging' 2021-02-01 14:18:38 -05:00
Mathieu Othacehe
d7db38341a
tests: cuirass: Increase delay.
* gnu/tests/cuirass.scm (run-cuirass-test): Increase "cuirass-web build
queued" test delay.
2021-01-29 11:48:47 +01:00
Mathieu Othacehe
df656c1518
tests: cuirass: Add Cuirass remote test.
* gnu/tests/cuirass.scm (run-cuirass-test): Add "name" and "remote-build?"
arguments.
(%cuirass-test): Adapt it.
(%cuirass-remote-test): New variable.
2021-01-29 11:36:06 +01:00
Mathieu Othacehe
f58d071366
tests: Add cuirass test. 2021-01-28 12:57:27 +01:00
Mathieu Othacehe
ec145a2ff9
services: postgresql: Add postgresql-role-service-type.
* 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-28 12:57:27 +01:00
Mathieu Othacehe
fe4b882350
services: postgresql: Add log directory support.
* 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-28 12:57:26 +01:00
Mathieu Othacehe
6c0679215f
services: postgresql: Add socket directory support.
* 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-28 12:57:26 +01:00
Mathieu Othacehe
a38d0b0137
services: postgresql: Use Guile datatypes.
* 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-28 12:57:26 +01:00
Maxim Cournoyer
886302fcf7
system: tests: Add a Btrfs RAID system test.
* 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-27 11:38:44 -05:00
Leo Famulari
68dd78e2e4
Merge branch 'master' into staging 2021-01-25 15:40:55 -05:00
Mathieu Othacehe
c64adff4c6
tests: install: Fix build.
This is a follow-up of: 2f497d94e7.

* gnu/tests/install.scm (run-install): Rename 'raw to 'efi-raw.
2021-01-20 12:50:47 +01:00
Leo Famulari
48d8d92c51
tests: monitoring: Use the latest postgresql for testing Zabbix.
This avoids a package collision while building the operating-system profile.

* gnu/tests/monitoring.scm (%zabbix-os): Use POSTGRESQL instead of
POSTGRESQL-10.
2021-01-04 18:07:53 -05:00