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

To reply to this bug, email your comments to 78717 AT debbugs.gnu.org.

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




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.