guix/tests
Brian Cully f66fa5f917
gnu: services: Revert to deleting and updating all matching services
This patch reverts the behavior introduced in
1819512073 which caused ‘modify-services’
clauses to only match a single instance of a service.

We will now match all service instances when doing a deletion or update, while
still raising an exception when trying to match against a service that does
not exist in the services list, or which was deleted explicitly by a ‘delete’
clause (or an update clause that returns ‘#f’ for the service).

Fixes: #64106

* gnu/services.scm (%modify-services): New procedure.
(modify-services): Use it.
(apply-clauses): Add DELETED-SERVICES argument, change to modify one service
at a time.
* tests/services.scm
("modify-services: delete then modify")
("modify-services: modify then delete")
("modify-services: delete multiple services of the same type")
("modify-services: modify multiple services of the same type"): New tests.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2023-08-31 23:31:50 -04:00
..
keys
services services: Add pam-mount-volume-service-type. 2023-08-10 09:26:08 +02:00
accounts.scm
base16.scm
base32.scm
base64.scm
boot-parameters.scm
bournish.scm
build-emacs-utils.scm
build-utils.scm
builders.scm
cache.scm cache: Catch invalid 'last-expiry-cleanup'. 2022-06-04 12:04:23 +02:00
challenge.scm
channels.scm
combinators.scm
containers.scm
cpan.scm
cpio.scm
cran.scm import: cran: Fix description->package test. 2021-12-18 04:09:47 +01:00
crate.scm
cve-sample.json
cve.scm
debug-link.scm
derivations.scm daemon: Improve error message for wrong hash sizes. 2023-01-09 17:40:54 +01:00
discovery.scm
egg.scm
elm.scm
elpa.scm
file-systems.scm pack: Streamline how files are included in tarballs. 2021-07-18 02:10:49 -04:00
gem.scm
gexp.scm
git-authenticate.scm
git.scm
glob.scm
gnu-maintenance.scm gnu-maintenance: Consider Qt source tarballs as "release files". 2023-08-26 11:38:56 -04:00
go.scm
grafts.scm
graph.scm tests: Adjust 'node-back-edges' test for 'bag' to system-dependent glibc. 2023-08-21 16:16:47 +02:00
gremlin.scm
guix-archive.sh tests: Fix checks for expected failures. 2023-04-21 16:16:38 +02:00
guix-authenticate.sh
guix-build-branch.sh
guix-build.sh ui: 'load*' accepts /dev/fd/N files pointing to a pipe. 2023-08-17 17:33:53 +02:00
guix-daemon.sh
guix-describe.sh
guix-download.sh
guix-environment-container.sh
guix-environment.sh tests: Fix checks for expected failures. 2023-04-21 16:16:38 +02:00
guix-gc.sh
guix-git-authenticate.sh tests: Fix checks for expected failures. 2023-04-21 16:16:38 +02:00
guix-graph.sh
guix-hash.sh
guix-home.sh tests: guix-home: Fix description search for home-mcron. 2023-08-25 17:45:47 +02:00
guix-lint.sh
guix-locate.sh Add 'guix locate'. 2023-06-18 23:44:29 +02:00
guix-pack-localstatedir.sh pack: '--localstatedir' and '-R' tests gracefully handle missing /gnu/store. 2019-05-18 12:23:31 +02:00
guix-pack-relocatable.sh tests: Fix checks for expected failures. 2023-04-21 16:16:38 +02:00
guix-pack.sh
guix-package-aliases.sh
guix-package-net.sh
guix-package.sh
guix-refresh.sh refresh: Add --target-version option. 2023-08-15 09:38:29 -04:00
guix-repl.sh
guix-shell-export-manifest.sh
guix-shell.sh tests: guix-shell: Use bash instead of user's $SHELL. 2023-08-25 14:23:43 +02:00
guix-style.sh
guix-system.sh
guix-time-machine.sh scripts: time-machine: Error when attempting to visit too old commits. 2023-08-16 21:34:13 -04:00
hackage.scm import: hackage: Add upstream-name property. 2023-02-26 10:19:36 +01:00
hexpm.scm
home-import.scm
home-services.scm
http-client.scm
import-git.scm import: Add 'generic-git' updater. 2021-09-18 19:37:45 +02:00
import-github.scm
import-utils.scm import-utils: Do not include punctuation when wrapping in @code{}. 2023-08-28 19:08:38 +02:00
inferior.scm
ipfs.scm
lint.scm
minetest.scm
modules.scm
monads.scm
nar.scm
networking.scm
offload.scm
opam.scm
openpgp.scm
pack.scm
packages.scm tests: packages: Set system for expected result of package->bag. 2023-08-18 16:09:29 +02:00
pki.scm
print.scm
processes.scm
profiles.scm
publish.scm
pypi.scm
read-print.scm read-print: Correctly read "(. x)". 2023-05-05 23:47:48 +02:00
records.scm
rpm.scm
scripts.scm
search-paths.scm
services.scm gnu: services: Revert to deleting and updating all matching services 2023-08-31 23:31:50 -04:00
sets.scm
size.scm
status.scm
store-database.scm
store-deduplication.scm
store-roots.scm tests: store-roots: Remove bogus test. 2023-08-18 16:10:08 +02:00
store.scm
style.scm style: Add 'arguments' styling rule. 2023-05-18 20:01:32 +02:00
substitute.scm
swh.scm
syscalls.scm
system.scm
test.drv
texlive.scm tests: Fix texlive->guix-package test. 2023-08-13 02:00:00 +02:00
transformations.scm
ui.scm
union.scm
upstream.scm tests: upstream: Restore test that was skipped. 2023-05-31 23:25:25 +02:00
utils.scm utils: Define a target-x86-32? and target-x86-64? predicate. 2021-11-07 01:38:23 -04:00
uuid.scm
workers.scm