GNU bug report logs - #78717
New etc-profile-d-service-type test fails, breaking many other tests

Previous Next

Package: guix;

Reported by: 45mg <45mg.writes <at> gmail.com>

Date: Sun, 8 Jun 2025 06:39:01 UTC

Severity: normal

Done: Andreas Enge <andreas <at> enge.fr>

To reply to this bug, email your comments to 78717 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: 45mg <45mg.writes <at> gmail.com>
To: bug-guix <at> gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: New etc-profile-d-service-type test fails, breaking many other tests
Date: Sun, 08 Jun 2025 06:38:00 +0000
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):

From: Rutherther <rutherther <at> ditigal.xyz>
To: 78717 <at> debbugs.gnu.org
Cc: 45mg <45mg.writes <at> gmail.com>
Subject: Re: New etc-profile-d-service-type test fails, breaking many other
 tests
Date: Sun, 08 Jun 2025 19:55:23 +0200
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




Information forwarded to bug-guix <at> gnu.org:
bug#78717; Package guix. (Sat, 09 Aug 2025 12:22:01 GMT) Full text and rfc822 format available.

Message #11 received at 78717 <at> debbugs.gnu.org (full text, mbox):

From: 45mg <45mg.writes <at> gmail.com>
To: 45mg <45mg.writes <at> gmail.com>, 78717 <at> debbugs.gnu.org
Cc: Rutherther <rutherther <at> ditigal.xyz>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: close (for real this time)
Date: Sat, 09 Aug 2025 12:21:26 +0000
45mg <45mg.writes <at> gmail.com> writes:

> Fixed by https://codeberg.org/guix/guix/pulls/912, apparently.




Reply sent to Andreas Enge <andreas <at> enge.fr>:
You have taken responsibility. (Sun, 10 Aug 2025 11:06:03 GMT) Full text and rfc822 format available.

Notification sent to 45mg <45mg.writes <at> gmail.com>:
bug acknowledged by developer. (Sun, 10 Aug 2025 11:06:03 GMT) Full text and rfc822 format available.

Message #16 received at 78717-done <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: 78717-done <at> debbugs.gnu.org
Subject: Close
Date: Sun, 10 Aug 2025 13:05:04 +0200
Closing this then.

Andreas





This bug report was last modified 2 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.