New etc-profile-d-service-type test fails, breaking many other tests

  • Done
  • quality assurance status badge
Details
3 participants
  • 45mg
  • Andreas Enge
  • Rutherther
Owner
unassigned
Submitted by
45mg
Severity
normal

Debbugs page

4
(address . bug-guix@gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
877c1mu4af.fsf@gmail.com
I noticed this when I ran the 'encrypted-home-os-key-file' test to test
a new patch to <mapped-device> [1], and it failed due to the
'/etc/profile.d is sourced' test failing. Eventually I figured out that
it fails on the latest master as well, and the latest CI run confirms
this:


Looking at the log file, you can see the failing test:

Toggle snippet (12 lines)
...
Test begin:
test-name: "/etc/profile.d is sourced"
source-file: "/gnu/store/178h83msb53wf8v57zabi8s4q4ksfid8-encrypted-home-os-builder"
source-line: 1
source-form: (test-assert "/etc/profile.d is sourced" (zero? (marionette-eval (quote (system "\n. /etc/profile\nset -e -x\ntest -f /etc/profile.d/test_profile_d.sh\ntest \"$PROFILE_D_OK\" = yes")) marionette)))
Test end:
result-kind: fail
actual-value: #f
...

Looking at some of the other failing tests, you can see that they fail
in exactly the same way:

encrypted-root-os
encrypted-home-os
jfs-root-os
btrfs-root-os

Before this, the last CI run that ran to completion was on commit
85b5c2c, which was before the etc/profile.d test was added. In total,
there are 23 new failing tests from this CI run:


The strange thing is, the etc/profile.d test passes if I run it normally
as part of the basic tests, like this:
Toggle snippet (4 lines)
guix shell -D guix --pure -- make check-system TESTS=basic


R
R
Rutherther wrote on 8 Jun 10:55 -0700
(address . 78717@debbugs.gnu.org)(name . 45mg)(address . 45mg.writes@gmail.com)
87frga15kk.fsf@ditigal.xyz
Hi 45mg,

Toggle quote (45 lines)
> I noticed this when I ran the 'encrypted-home-os-key-file' test to test
> a new patch to <mapped-device> [1], and it failed due to the
> '/etc/profile.d is sourced' test failing. Eventually I figured out that
> it fails on the latest master as well, and the latest CI run confirms
> this:
>
> https://ci.guix.gnu.org/build/10936896/details
>
> Looking at the log file, you can see the failing test:
>
> https://ci.guix.gnu.org/build/10936896/log/raw
> --8<---------------cut here---------------start------------->8---
> ...
> Test begin:
> test-name: "/etc/profile.d is sourced"
> source-file: "/gnu/store/178h83msb53wf8v57zabi8s4q4ksfid8-encrypted-home-os-builder"
> source-line: 1
> source-form: (test-assert "/etc/profile.d is sourced" (zero? (marionette-eval (quote (system "\n. /etc/profile\nset -e -x\ntest -f /etc/profile.d/test_profile_d.sh\ntest \"$PROFILE_D_OK\" = yes")) marionette)))
> Test end:
> result-kind: fail
> actual-value: #f
> ...
> --8<---------------cut here---------------end--------------->8---
>
> Looking at some of the other failing tests, you can see that they fail
> in exactly the same way:
>
> encrypted-root-os
> https://ci.guix.gnu.org/build/10936887/details
> encrypted-home-os
> https://ci.guix.gnu.org/build/10936894/details
> jfs-root-os
> https://ci.guix.gnu.org/build/10936890/details
> btrfs-root-os
> https://ci.guix.gnu.org/build/10936905/details
>
> Before this, the last CI run that ran to completion was on commit
> 85b5c2c, which was before the etc/profile.d test was added. In total,
> there are 23 new failing tests from this CI run:
>
> https://ci.guix.gnu.org/eval/2062380?status=newly-failed
>
> The strange thing is, the etc/profile.d test passes if I run it normally
> as part of the basic tests, like this:

I don't think this is a strange thing at all. The basic test runs with
test-basic-os operating-system, this os has the
etc-profile-d-service-type. The other tests still use run-basic-test
that checks basic stuff, including /etc/profile.d sourcing, but use
different os definition, without the etc-profile-d-service-type.

So there needs to happen one of those two things:
1. The run-basic-test procedure has to be modified to not expect
/etc/profile.d always
2. The other tests have to use the os with etc-profile-d-service-type
services, ie. by concating the services from basic-test-os.

Toggle quote (7 lines)
> --8<---------------cut here---------------start------------->8---
> guix shell -D guix --pure -- make check-system TESTS=basic
> --8<---------------cut here---------------end--------------->8---
>
>
> [1] https://yhetil.org/guix/87jz7rsu49.fsf@gnu.org/

Rutherther
4
A
A
Andreas Enge wrote on 10 Aug 04:05 -0700
Close
(address . 78717-done@debbugs.gnu.org)
aJh84FNBUuhXg-6O@jurong
Closing this then.

Andreas
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 78717@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 78717
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