Paul Eggert wrote: > > Please make sure that a testdir of all of Gnulib still builds: > > $ ./gnulib-tool --create-testdir --dir=../testdir-all --with-c++-tests > > --without-privileged-tests --single-configure `./all-modules` > > $ cd ../testdir-all > > $ ./configure > > $ make > > $ make check > > Thanks for the recipe. Should it be in the Gnulib manual?
The Gnulib manual is for the _users_ of Gnulib. This recipe is for the _contributors_ / _developers_ of Gnulib, which is why we document it in the HACKING file. This recipe takes a couple of minutes. When only one module or a few modules have changed, a faster recipe can be helpful. Let me document it as well. 2026-05-09 Bruno Haible <[email protected]> Document another quality assurance recipe. * HACKING (Maintaining high quality): Document how to use gnulib-tool --create-testdir with --extract-recursive-dependents. diff --git a/HACKING b/HACKING index 72c9895c0f..33628eafc0 100644 --- a/HACKING +++ b/HACKING @@ -119,7 +119,11 @@ Maintaining high quality ======================== It is a good idea to occasionally create a testdir of all of Gnulib: - $ rm -rf ../testdir-all; ./gnulib-tool --create-testdir --dir=../testdir-all --with-c++-tests --without-privileged-tests `./all-modules` + + $ rm -rf ../testdir-all; \ + ./gnulib-tool --create-testdir --dir=../testdir-all --with-c++-tests --without-privileged-tests \ + `./all-modules` + and test this directory on various platforms: - Linux/glibc systems, - Linux/musl systems, @@ -165,6 +169,16 @@ There are two continuous integrations that regularly perform this testing: - Android - and other platforms of your choice. +If you want to test changes on a few modules only, say M1 ... Mn, a +'testdir-all' may be overkill. For this case, you can create a testdir +of all potentially affected modules: + + $ rm -rf ../testdir; \ + ./gnulib-tool --create-testdir --dir=../testdir --with-c++-tests --without-privileged-tests \ + `./gnulib-tool --extract-recursive-dependents M1 ... Mn` + +and then test this directory on various platforms. + Coding Style ============
