GNU bug report logs -
#78717
New etc-profile-d-service-type test fails, breaking many other tests
Previous Next
To reply to this bug, email your comments to 78717 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#78717
; Package
guix
.
(Sun, 08 Jun 2025 06:39:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
45mg <45mg.writes <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Sun, 08 Jun 2025 06:39:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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:
--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 <at> gnu.org/
Information forwarded
to
bug-guix <at> gnu.org
:
bug#78717
; Package
guix
.
(Sun, 08 Jun 2025 17:56:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 78717 <at> debbugs.gnu.org (full text, mbox):
Hi 45mg,
> 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.
> --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 <at> gnu.org/
Rutherther
This bug report was last modified 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.