On 4/27/24 4:06 PM, Bruno Haible wrote: > The remaining problem now is: > > $ rm -rf ../testdir3; GNULIB_TOOL_IMPL=sh+py ./gnulib-tool > --create-megatestdir --dir=../testdir3 --single-configure stdio > sys_types > ./gnulib-tool: *** gnulib-tool.py produced different files than > gnulib-tool.sh! Compare ../testdir3 and ../testdir3-glpy3133646. > ./gnulib-tool: *** Stop.
Thanks for figuring out the test case for me. I'm thinking that this is due to GLTestDir creating a GLEmiter in __init__() like this: self.emitter = GLEmiter(self.config) then in GLTestDir.execute(): # Determine whether a $testsbase/libtests.a is needed. libtests = False for module in tests_modules: files = module.getFiles() for file in files: if file.startswith('lib/'): libtests = True break if libtests: self.config.setLibtests(True) The emiter has no clue that libtests is changed. So following those lines when we print the configure.ac: if single_configure: # Create $testsbase/Makefile.am. destfile = joinpath(directory, 'Makefile.am') witness_macro = '%stests_WITNESS' % macro_prefix emit = self.emitter.tests_Makefile_am(destfile, tests_modules, moduletable, self.makefiletable, witness_macro, for_test) The 'libtests' value read from the config in self.emitter is incorrect. That's what it seems like at least. Going to eat dinner then work on a patch. Hopefully my thoughts are correct... Collin