guix_mirror_bot pushed a commit to branch master
in repository guix.

commit d7234541055f0bc99d00b060a0f073d5c834d2d0
Author: Hugo Buddelmeijer <[email protected]>
AuthorDate: Fri Jun 19 23:40:17 2026 +0200

    doc: Improve instructions to minimize unexpected test failures.
    
    * doc/contributing.texi (Building from Git): Suggest `guix shell --pure`
    as that is currenlty the only way to make the tests pass on the first run.
    (Running the Test Suite): Explain which test failures are expected depending
    on each setup.
    
    Change-Id: I3425879dcd2a71c2e3c2fd00b55c819447ac9437
    Signed-off-by: Ludovic Courtès <[email protected]>
    Modified-by: Ludovic Courtès <[email protected]>
    Merges: #9408
---
 doc/contributing.texi | 49 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 17 deletions(-)

diff --git a/doc/contributing.texi b/doc/contributing.texi
index 95ba08c508..576aee8a81 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -175,24 +175,16 @@ all the dependencies and appropriate environment 
variables are set up to
 hack on Guix:
 
 @example
-guix shell -D guix -CPW
+guix shell -D guix --pure
 @end example
 
 or even, from within a Git worktree for Guix:
 
 @example
 echo $(pwd) >> ~/.config/guix/shell-authorized-directories
-guix shell -CPW
+guix shell --pure
 @end example
 
-If @option{-C} (short for @option{--container}) is not supported on your
-system, try @command{--pure} instead of @option{-CPW}.
-@xref{Invoking guix shell}, for more information on that command.
-
-Most of the test suite runs without an internet connection. The @option{-N}
-(short for @option{--network}) can be added to the @code{guix shell} command
-to run the tests that require internet access.
-
 If you are unable to use Guix when building Guix from a checkout, the
 following are the required packages in addition to those mentioned in the
 installation instructions (@pxref{Requirements}).
@@ -210,7 +202,7 @@ On Guix, other development tools, like @code{strace}, can 
be included by
 giving them as extra arguments to @command{guix shell}:
 
 @example
-guix shell -D guix -CPW strace
+guix shell --pure -D guix strace
 @end example
 
 From there you can generate the build system infrastructure
@@ -261,18 +253,14 @@ right @code{localstatedir} and @code{sysconfdir} values, 
which get
 recorded in the @code{(guix config)} Guile module.
 
 Finally, you can build Guix and, if you feel so inclined, run the tests
-(@pxref{Running the Test Suite}):
+(depending on how you setup your environment, some tests might fail,
+@pxref{Running the Test Suite}):
 
 @example
 make
 make check
 @end example
 
-@noindent
-If anything fails, take a look at installation instructions
-(@pxref{Installation}) or send a message to the
-@email{guix-devel@@gnu.org, mailing list}.
-
 From there on, you can authenticate all the commits included in your
 checkout by running:
 
@@ -345,6 +333,33 @@ suite, type:
 make check
 @end example
 
+Some tests might fail or be skipped, depending on your environment.
+For example, many tests require Internet access to download test
+binaries into the temporary store used for testing.
+
+Assuming you set up your environment with @command{guix shell},
+this is what you can expect:
+
+@table @option
+@item --pure
+all tests should either pass or be skipped.  This will also
+set up the test store;
+@item -CPWN
+all tests should either pass or be skipped and this should
+also set up the test store@footnote{At the time of writing, June 2026,
+some tests might fail in a @option{-CPWN} shell; those are
+@url{https://codeberg.org/guix/guix/issues/9381, bugs}.};
+@item -CPW
+all network tests should automatically be skipped, but tests
+that require the test store are run, so those will fail unless the test store
+has been set up during an earlier test run with network access.
+@end table
+
+@quotation Note
+Some tests are skipped for other reasons, for example because they are
+only applicable for a specific system.
+@end quotation
+
 Test cases can run in parallel: you can use the @code{-j} option of
 GNU@tie{}make to speed things up.  The first run may take a few minutes
 on a recent machine; subsequent runs will be faster because the store

Reply via email to