diff options
| -rw-r--r-- | doc/contributing.texi | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/doc/contributing.texi b/doc/contributing.texi index 95ba08c508c..576aee8a816 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi | |||
| @@ -175,24 +175,16 @@ all the dependencies and appropriate environment variables are set up to | |||
| 175 | hack on Guix: | 175 | hack on Guix: |
| 176 | 176 | ||
| 177 | @example | 177 | @example |
| 178 | guix shell -D guix -CPW | 178 | guix shell -D guix --pure |
| 179 | @end example | 179 | @end example |
| 180 | 180 | ||
| 181 | or even, from within a Git worktree for Guix: | 181 | or even, from within a Git worktree for Guix: |
| 182 | 182 | ||
| 183 | @example | 183 | @example |
| 184 | echo $(pwd) >> ~/.config/guix/shell-authorized-directories | 184 | echo $(pwd) >> ~/.config/guix/shell-authorized-directories |
| 185 | guix shell -CPW | 185 | guix shell --pure |
| 186 | @end example | 186 | @end example |
| 187 | 187 | ||
| 188 | If @option{-C} (short for @option{--container}) is not supported on your | ||
| 189 | system, try @command{--pure} instead of @option{-CPW}. | ||
| 190 | @xref{Invoking guix shell}, for more information on that command. | ||
| 191 | |||
| 192 | Most of the test suite runs without an internet connection. The @option{-N} | ||
| 193 | (short for @option{--network}) can be added to the @code{guix shell} command | ||
| 194 | to run the tests that require internet access. | ||
| 195 | |||
| 196 | If you are unable to use Guix when building Guix from a checkout, the | 188 | If you are unable to use Guix when building Guix from a checkout, the |
| 197 | following are the required packages in addition to those mentioned in the | 189 | following are the required packages in addition to those mentioned in the |
| 198 | installation instructions (@pxref{Requirements}). | 190 | installation instructions (@pxref{Requirements}). |
| @@ -210,7 +202,7 @@ On Guix, other development tools, like @code{strace}, can be included by | |||
| 210 | giving them as extra arguments to @command{guix shell}: | 202 | giving them as extra arguments to @command{guix shell}: |
| 211 | 203 | ||
| 212 | @example | 204 | @example |
| 213 | guix shell -D guix -CPW strace | 205 | guix shell --pure -D guix strace |
| 214 | @end example | 206 | @end example |
| 215 | 207 | ||
| 216 | From there you can generate the build system infrastructure | 208 | From there you can generate the build system infrastructure |
| @@ -261,18 +253,14 @@ right @code{localstatedir} and @code{sysconfdir} values, which get | |||
| 261 | recorded in the @code{(guix config)} Guile module. | 253 | recorded in the @code{(guix config)} Guile module. |
| 262 | 254 | ||
| 263 | Finally, you can build Guix and, if you feel so inclined, run the tests | 255 | Finally, you can build Guix and, if you feel so inclined, run the tests |
| 264 | (@pxref{Running the Test Suite}): | 256 | (depending on how you setup your environment, some tests might fail, |
| 257 | @pxref{Running the Test Suite}): | ||
| 265 | 258 | ||
| 266 | @example | 259 | @example |
| 267 | make | 260 | make |
| 268 | make check | 261 | make check |
| 269 | @end example | 262 | @end example |
| 270 | 263 | ||
| 271 | @noindent | ||
| 272 | If anything fails, take a look at installation instructions | ||
| 273 | (@pxref{Installation}) or send a message to the | ||
| 274 | @email{guix-devel@@gnu.org, mailing list}. | ||
| 275 | |||
| 276 | From there on, you can authenticate all the commits included in your | 264 | From there on, you can authenticate all the commits included in your |
| 277 | checkout by running: | 265 | checkout by running: |
| 278 | 266 | ||
| @@ -345,6 +333,33 @@ suite, type: | |||
| 345 | make check | 333 | make check |
| 346 | @end example | 334 | @end example |
| 347 | 335 | ||
| 336 | Some tests might fail or be skipped, depending on your environment. | ||
| 337 | For example, many tests require Internet access to download test | ||
| 338 | binaries into the temporary store used for testing. | ||
| 339 | |||
| 340 | Assuming you set up your environment with @command{guix shell}, | ||
| 341 | this is what you can expect: | ||
| 342 | |||
| 343 | @table @option | ||
| 344 | @item --pure | ||
| 345 | all tests should either pass or be skipped. This will also | ||
| 346 | set up the test store; | ||
| 347 | @item -CPWN | ||
| 348 | all tests should either pass or be skipped and this should | ||
| 349 | also set up the test store@footnote{At the time of writing, June 2026, | ||
| 350 | some tests might fail in a @option{-CPWN} shell; those are | ||
| 351 | @url{https://codeberg.org/guix/guix/issues/9381, bugs}.}; | ||
| 352 | @item -CPW | ||
| 353 | all network tests should automatically be skipped, but tests | ||
| 354 | that require the test store are run, so those will fail unless the test store | ||
| 355 | has been set up during an earlier test run with network access. | ||
| 356 | @end table | ||
| 357 | |||
| 358 | @quotation Note | ||
| 359 | Some tests are skipped for other reasons, for example because they are | ||
| 360 | only applicable for a specific system. | ||
| 361 | @end quotation | ||
| 362 | |||
| 348 | Test cases can run in parallel: you can use the @code{-j} option of | 363 | Test cases can run in parallel: you can use the @code{-j} option of |
| 349 | GNU@tie{}make to speed things up. The first run may take a few minutes | 364 | GNU@tie{}make to speed things up. The first run may take a few minutes |
| 350 | on a recent machine; subsequent runs will be faster because the store | 365 | on a recent machine; subsequent runs will be faster because the store |
