[PATCH] tests: install: Switch to modifying the gc-root-service-type.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal

Debbugs page

Christopher Baines wrote 7 years ago
(address . guix-patches@gnu.org)
20170925195810.26912-1-mail@cbaines.net
Rather than adding the service to the system.

The previous approach is causing the system tests to fail, as the os already
contains a service of type gc-root-service-type, and the way that this service
extends the system-service doesn't compose, causing an error if its added
twice.

ERROR: In procedure symlink: File exists

* gnu/tests/install.scm (operating-system-with-gc-roots): Modify the existing
gc-root-service, rather than adding another.
---
gnu/tests/install.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 49743860e..28dfc3b8b 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -127,8 +127,9 @@
"Return a variant of OS where ROOTS are registered as GC roots."
(operating-system
(inherit os)
- (services (cons (service gc-root-service-type roots)
- (operating-system-user-services os)))))
+ (services
+ (modify-services (operating-system-user-services os)
+ (gc-root-service-type _ => roots)))))
(define MiB (expt 2 20))
--
2.14.1
Christopher Baines wrote 7 years ago
(address . 28600@debbugs.gnu.org)
20170925210255.0302fb81@cbaines.net
On Mon, 25 Sep 2017 20:58:10 +0100
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (32 lines)
> Rather than adding the service to the system.
>
> The previous approach is causing the system tests to fail, as the os
> already contains a service of type gc-root-service-type, and the way
> that this service extends the system-service doesn't compose, causing
> an error if its added twice.
>
> ERROR: In procedure symlink: File exists
>
> * gnu/tests/install.scm (operating-system-with-gc-roots): Modify the
> existing gc-root-service, rather than adding another.
> ---
> gnu/tests/install.scm | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
> index 49743860e..28dfc3b8b 100644
> --- a/gnu/tests/install.scm
> +++ b/gnu/tests/install.scm
> @@ -127,8 +127,9 @@
> "Return a variant of OS where ROOTS are registered as GC roots."
> (operating-system
> (inherit os)
> - (services (cons (service gc-root-service-type roots)
> - (operating-system-user-services os)))))
> + (services
> + (modify-services (operating-system-user-services os)
> + (gc-root-service-type _ => roots)))))
>
>
> (define MiB (expt 2 20))

Quite a few of the system tests seem to be failing, I got the
results below testing some version of Guix which I think roughly
equivalent to the master branch.

I think the above patch helps, but I'm not sure if it actually fixes
any of the failing tests, as I think there are other issues.

TOTAL: 27
PASS: /gnu/store/62pr6a9gpza57yx7qzk6mhr6d0l750wa-tailon-test
PASS: /gnu/store/r06chj5z1sjwf839qyd0sg1lni8na137-mpd-test
PASS: /gnu/store/p111z34c1in1h6g2gwqbncqlwnb65m6s-basic
PASS: /gnu/store/pixmmgv3ms5fam9h9x7lawq71jr6sx22-memcached-test
PASS: /gnu/store/4ns63ifvdd019m0pdgypx3xyvnhh7asw-elogind
PASS: /gnu/store/cck9b28c7nrjb6hnmb6b2f53dngz1zk0-dicod
PASS: /gnu/store/yxkbmsad9ji59wd8f2w4g7zby5vjf4cg-exim-test
PASS: /gnu/store/9a5i3y1mq51l352k8gksf18v43myihb0-opensmtpd-test
PASS: /gnu/store/9dvmrk9wjyki6ij4k7rg3wp0yi4miydh-prosody
PASS: /gnu/store/0p8mpifvqwrn7pcgs15pvd9v5akxadly-inetd-test
PASS: /gnu/store/h2xd8gdzjam94zbw1rapkcdpczg6nxa0-nfs
PASS: /gnu/store/y2xlfj2kqz5119ibz88v7np49zn4qq2s-rsync-test
PASS: /gnu/store/98yj0djybbahp7mmbhp9w8aq1700b98h-openssh
PASS: /gnu/store/s1sjx6kp3zdbbb79qj6mw2d4n1zy5fwa-dropbear
PASS: /gnu/store/jh45gkxlz40xcjbqr44fvkjcwabamrsm-libvirt-test
PASS: /gnu/store/4m3csmgrb6lm8825y8z1mbns1r5jvlbc-nginx-test
FAIL: /gnu/store/fz270kg3fsb79gmgrn4g3jhlvdncsy7p-nss-mdns
FAIL: /gnu/store/2brmg8qyhig1fg8f1dxcnz2ii9q2jm55-mcron
FAIL: /gnu/store/0mn5w20mgjcjlcl43dqs1mzp855bh7dd-halt
FAIL: /gnu/store/zbmp1x95h7skfw9ns3k21lx7vk5nqb53-iso-image-installer
FAIL: /gnu/store/mac0aa8r5711mivzhhar43a5dyg1in67-installed-os
FAIL: /gnu/store/gk4zc3g40lnm2ijps27hkwrrd1yvajkn-installed-extlinux-os
FAIL: /gnu/store/9653l9z5mqjpjs75b17h2k449s5lf689-btrfs-root-os
FAIL: /gnu/store/cnp72hfl9nd08m3zqb93vhr8b59bdng0-raid-root-os
FAIL: /gnu/store/3qqp3ps3s6hilw6zgriyvm3qpca8a0kv-encrypted-root-os
FAIL: /gnu/store/n2a8hvrppj5c34cgd8m41yz6zxj1yhk2-separate-store-os
FAIL: /gnu/store/2np47fqwi4vmhls0l69la6mbwayv1ygq-separate-home-os
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlnJYO9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xd/5g/9HQt0Pqpbn2qZevYhi/jWgQ7VxnSMqtSRBbcX7EDmjqypA8xHFkIplqbi
hp4ekOkVuQbAGLr+SPdEeyZTfM8QCvcFgopGRi1cDmKzl7S+AgzTRFiQr42GbgYY
b47vY1GdLBV56L9dvJwahZ2plIR0Gwsk/UyjIzgG44H0p7YcVSrfk+jQATU9/pJT
eXtkI2QpOkurzxcgR6aXMWfdB9siTCj+jcDprlhjy2V/HIzYrlrom/25Nst4Dxju
HFe/FoYrWS1zD+2vP+4F7Vm/mq9YMJYph1lQUWg/eZUgDQdYqkA6607B/eeFtKSs
FvxzloEVpJC/uGYmrob02Yfel806yXYirg/4UhpV7H5tJVSmEyy0pBVEBGf0gNsd
GEmWLcDcj0sbk2kju3jX3Uh3rQ3ASfoOdKFHajWFeYFIPjekEA/R4oIYdiwwY7VB
kPzDMr5MAq48P/Sl2BqENoz/bkydW3y+wAnvNsKFgEizYGYFHKSKe5mj2bfufnVY
i2NaOBPB3LU+Dt/GJ5nIKodL79OuTMjMvzPkd+zDi93DtZ4uSusjn89NY8U79SFs
d4X42rzo6hMd7Lp0icARyUKqwiZ2BD66uLsZRuyFqV0Lg+mQuoOOizzlMToKKZXf
VRD8QdoDhDORUL0BF4FXakz8/eWqtSI5izCi91v6oJC8z8yb5iI=
=HfWV
-----END PGP SIGNATURE-----


Ludovic Courtès wrote 7 years ago
(name . Christopher Baines)(address . mail@cbaines.net)(address . 28600@debbugs.gnu.org)
878th13nst.fsf@gnu.org
Hi!

Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (9 lines)
> Rather than adding the service to the system.
>
> The previous approach is causing the system tests to fail, as the os already
> contains a service of type gc-root-service-type, and the way that this service
> extends the system-service doesn't compose, causing an error if its added
> twice.
>
> ERROR: In procedure symlink: File exists

Good catch!

Toggle quote (20 lines)
> * gnu/tests/install.scm (operating-system-with-gc-roots): Modify the existing
> gc-root-service, rather than adding another.
> ---
> gnu/tests/install.scm | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
> index 49743860e..28dfc3b8b 100644
> --- a/gnu/tests/install.scm
> +++ b/gnu/tests/install.scm
> @@ -127,8 +127,9 @@
> "Return a variant of OS where ROOTS are registered as GC roots."
> (operating-system
> (inherit os)
> - (services (cons (service gc-root-service-type roots)
> - (operating-system-user-services os)))))
> + (services
> + (modify-services (operating-system-user-services os)
> + (gc-root-service-type _ => roots)))))

What about:

(services (cons (simple-service 'extra-root
gc-root-service-type roots)
(operating-system-user-services os)))

This would make sure there’s always a single ‘gc-root-service-type’
instance, and we’re just extending it with additional roots, rather than
overriding what it does.

I can push that if it works for you.

Thanks,
Ludo’.
Christopher Baines wrote 7 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 28600@debbugs.gnu.org)
20170926090048.72724ba9@cbaines.net
On Tue, 26 Sep 2017 09:46:10 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

Toggle quote (45 lines)
> Hi!
>
> Christopher Baines <mail@cbaines.net> skribis:
>
> > Rather than adding the service to the system.
> >
> > The previous approach is causing the system tests to fail, as the
> > os already contains a service of type gc-root-service-type, and the
> > way that this service extends the system-service doesn't compose,
> > causing an error if its added twice.
> >
> > ERROR: In procedure symlink: File exists
>
> Good catch!
>
> > * gnu/tests/install.scm (operating-system-with-gc-roots): Modify
> > the existing gc-root-service, rather than adding another.
> > ---
> > gnu/tests/install.scm | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
> > index 49743860e..28dfc3b8b 100644
> > --- a/gnu/tests/install.scm
> > +++ b/gnu/tests/install.scm
> > @@ -127,8 +127,9 @@
> > "Return a variant of OS where ROOTS are registered as GC roots."
> > (operating-system
> > (inherit os)
> > - (services (cons (service gc-root-service-type roots)
> > - (operating-system-user-services os)))))
> > + (services
> > + (modify-services (operating-system-user-services os)
> > + (gc-root-service-type _ => roots)))))
>
> What about:
>
> (services (cons (simple-service 'extra-root
> gc-root-service-type roots)
> (operating-system-user-services os)))
>
> This would make sure there’s always a single ‘gc-root-service-type’
> instance, and we’re just extending it with additional roots, rather
> than overriding what it does.

That fixes this issue, but I'm not sure what it means for the tests. If
the roots are not replaced, then the bare-bones-os will be present as
well as the roots added for each test.

This is just a thought though, I'm fine with either fix.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlnKCTBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XdJRw/7B9M/5FoZPHY6yG2gK1Czh0mTR55fWGDr81tjJElTkFdZ0Xm1KG0FZQDP
grSvAcdqZ6sGA39RhP6qak7WGZd8dqqCHB8jPPHrTbwrgddke6mpCUBDylSptU9c
OOOjlD1v83JFiSd8fDhwpLTaLdOfJFjkRKyOiFbvNvAr/TEgtW/jDXnNvUDhqRzJ
zNqAHxZtxYQSSQgsWr/xub8pC3+jcPNbyqS5Htz9cfB6vQlqMccQfQe6LzbosLMZ
5FybsA3cLlwwkghY50axSO4ed9yKVjb2fnNjQTsIqft3hPr1Lgk/uzLZv82iHrez
JJuqiReTIIpsw4cMwYRVrh7qCBIIteaC9+s5jYpHBMMsUqvsj2GqYt//iQOdydVB
sftoI5onpfAfkaRq12ukGqYSkxHMJDA7GLp9FfMTfOe8iLTftjeEZIiSGEoe5o0u
28xh+18VnCfUaK9KJ649mMEaTAVWIIwN94+Ju96IokC6vW1wRG6y4P4Rpd1emBvi
zckH3XJyoaDoTCooXUqxak4GC3T9wQy1LouHXP9Nw86SKch3IL7gk9WVavB/uF0u
sn2h/f41crlCePPH7DUDmw++jPj246SJOjPHXs5duGWC9Jfcjf9zUM0vVP+QjPCs
1SiZApblhz1+9SMmt5XSaLlIwMfLLLcFfqSTm1zNRrXwx7ViJ3M=
=38ZG
-----END PGP SIGNATURE-----


Ludovic Courtès wrote 7 years ago
(name . Christopher Baines)(address . mail@cbaines.net)(address . 28600@debbugs.gnu.org)
8760c526qx.fsf@gnu.org
Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (2 lines)
> FAIL: /gnu/store/2brmg8qyhig1fg8f1dxcnz2ii9q2jm55-mcron

Commit 077f1e6384fbd28ffd02e9e10a413bb3c24aaa15 fixes this one.

The “halt” test works for me.

I haven’t looked at the installation tests.

Ludo’.
Ludovic Courtès wrote 7 years ago
(name . Christopher Baines)(address . mail@cbaines.net)(address . 28600-done@debbugs.gnu.org)
871smt26gl.fsf@gnu.org
Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (3 lines)
> On Tue, 26 Sep 2017 09:46:10 +0200
> ludo@gnu.org (Ludovic Courtès) wrote:

[...]

Toggle quote (14 lines)
>> What about:
>>
>> (services (cons (simple-service 'extra-root
>> gc-root-service-type roots)
>> (operating-system-user-services os)))
>>
>> This would make sure there’s always a single ‘gc-root-service-type’
>> instance, and we’re just extending it with additional roots, rather
>> than overriding what it does.
>
> That fixes this issue, but I'm not sure what it means for the tests. If
> the roots are not replaced, then the bare-bones-os will be present as
> well as the roots added for each test.

I think it’s OK, because that’s what we want to test: we want to test
the installation image with few modifications compared to what we’re
shipping.

Pushed as 945a8fc240dbc48e3e4e212ef527eadc70231d39.

Now to see if there are still issues?

Thanks!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 28600@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 28600
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help