Hi Bruno, On 3/30/24 4:22 PM, Bruno Haible wrote: > Once the test suite entirely passes, will be the time to revisit this > 'cleaner' > function. Your approach with the regex can be part of the solution.
Yes, that sounds like a good idea. It should be easier to validate changes that way. The test cases are almost passing anyways. :) I think I found some small issues in the test cases. Can you please double check these for me? They should be easy to fix. Here is what I see for the import tests at the moment: $ env GNULIB_TOOL_IMPL=py ./test-all.sh PASS: test-hello-c-gnulib-1.sh PASS: test-hello-c-gnulib-automakesubdir-1.sh PASS: test-hello-c-gnulib-automakesubdir-withtests-1.sh PASS: test-hello-c-gnulib-conddeps-1.sh PASS: test-hello-c-gnulib-nonrecursive-1.sh PASS: test-wget2-1.sh ./test-oath-toolkit-1.out tmp384427-out differ: byte 561, line 24 --- ./test-oath-toolkit-1.out 2024-03-30 14:11:44.586946254 -0700 +++ tmp384427-out 2024-03-30 17:14:43.330203522 -0700 @@ -21,6 +21,7 @@ top/GNUmakefile top/maint.mk Updating file gl/m4/gnulib-common.m4 (backup in gl/m4/gnulib-common.m4~) +Updating gl/Makefile.am (backup in gl/Makefile.am~) Finished. You may need to add #include directives for the following .h files. FAIL: gnulib-tool's output has unexpected differences. FAIL: test-oath-toolkit-1.sh PASS: test-oath-toolkit-2.sh PASS: test-oath-toolkit-3.sh PASS: test-oath-toolkit-4.sh PASS: test-oath-toolkit-5.sh Files ./test-coreutils-1.result/gnulib-tests/gnulib.mk and tmp384554-result/gnulib-tests/gnulib.mk differ Files ./test-coreutils-1.result/lib/gnulib.mk and tmp384554-result/lib/gnulib.mk differ Files ./test-coreutils-1.result/m4/gnulib-cache.m4 and tmp384554-result/m4/gnulib-cache.m4 differ Files ./test-coreutils-1.result/m4/gnulib-comp.m4 and tmp384554-result/m4/gnulib-comp.m4 differ FAIL: gnulib-tool's result has unexpected differences. FAIL: test-coreutils-1.sh PASS: test-emacs-1.sh I believe the 'test-oath-toolkit-1.sh' test just needs to be updated since I see the same error when using gnulib-tool.sh. The Coreutils one is from the --local-dir sorting I mentioned earlier. I think I have a better idea on how to fix that now, so I'll submit it soon. Then when running the create-testdir tests: $ env GNULIB_TOOL_IMPL=py ./test-all.sh PASS: test-create-testdir-1.sh PASS: test-create-testdir-2.sh PASS: test-create-testdir-3.sh Files ./test-create-testdir-4.result/gllib/iconv_open-aix.h and tmp240808-result/gllib/iconv_open-aix.h differ Files ./test-create-testdir-4.result/gllib/iconv_open-hpux.h and tmp240808-result/gllib/iconv_open-hpux.h differ Files ./test-create-testdir-4.result/gllib/iconv_open-irix.h and tmp240808-result/gllib/iconv_open-irix.h differ Files ./test-create-testdir-4.result/gllib/iconv_open-osf.h and tmp240808-result/gllib/iconv_open-osf.h differ Files ./test-create-testdir-4.result/gllib/iconv_open-solaris.h and tmp240808-result/gllib/iconv_open-solaris.h differ Files ./test-create-testdir-4.result/gllib/iconv_open-zos.h and tmp240808-result/gllib/iconv_open-zos.h differ Files ./test-create-testdir-4.result/gllib/parse-datetime-gen.h and tmp240808-result/gllib/parse-datetime-gen.h differ Files ./test-create-testdir-4.result/gllib/parse-datetime.c and tmp240808-result/gllib/parse-datetime.c differ Files ./test-create-testdir-4.result/gllib/unicase/locale-languages.h and tmp240808-result/gllib/unicase/locale-languages.h differ Files ./test-create-testdir-4.result/gllib/unicase/special-casing-table.h and tmp240808-result/gllib/unicase/special-casing-table.h differ Files ./test-create-testdir-4.result/gllib/unictype/bidi_byname.h and tmp240808-result/gllib/unictype/bidi_byname.h differ Files ./test-create-testdir-4.result/gllib/unictype/categ_byname.h and tmp240808-result/gllib/unictype/categ_byname.h differ Files ./test-create-testdir-4.result/gllib/unictype/combiningclass_byname.h and tmp240808-result/gllib/unictype/combiningclass_byname.h differ Files ./test-create-testdir-4.result/gllib/unictype/joininggroup_byname.h and tmp240808-result/gllib/unictype/joininggroup_byname.h differ Files ./test-create-testdir-4.result/gllib/unictype/joiningtype_byname.h and tmp240808-result/gllib/unictype/joiningtype_byname.h differ Files ./test-create-testdir-4.result/gllib/unictype/pr_byname.h and tmp240808-result/gllib/unictype/pr_byname.h differ Files ./test-create-testdir-4.result/gllib/unictype/scripts_byname.h and tmp240808-result/gllib/unictype/scripts_byname.h differ Files ./test-create-testdir-4.result/gllib/uninorm/composition-table.h and tmp240808-result/gllib/uninorm/composition-table.h differ FAIL: gnulib-tool's result has unexpected differences. FAIL: test-create-testdir-4.sh PASS: test-create-megatestdir-1.sh PASS: test-create-megatestdir-2.sh These files are dependent on program versions. My gperf 3.1 package had a wrong version number. I then built it from git master and saw extra lines to silence warnings added in a few commits [1] [2]. I checked out the 3.2 commit and, third times the charm, the iconv and unicode files were fixed [3]. The 3.2 release commit didn't have a git tag and isn't on GNU's ftp server. Not sure if you forgot or if this was intended, so I figured I would let you know. That leaves the parse-datetime files. The diff seems to explain itself: /* Bison version string. */ -#define YYBISON_VERSION "3.8.2" +#define YYBISON_VERSION "3.8.2.46-9785-dirty" I removed the one from my local path and everything is fine now. Maybe we can remove these like the Autotools files? Or put the version numbers in the README? [1] https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=ce5106eb19a08ca9721641e8560969e73b7dd60e [2] https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=ce5106eb19a08ca9721641e8560969e73b7dd60e [3] https://git.savannah.gnu.org/gitweb/?p=gperf.git;a=commit;h=6d53a2dbe0ad692d0f36fd394b7e1962d9a81730 [4] https://ftp.gnu.org/gnu/gperf/ Collin
