ADFlib
ADFlib copied to clipboard
make distcheck fails to archive complete tests due to file name length limitation (????)
The new "framework" for testing command-line utilities requires a number of configuration/data files, each representing specific test. Some of them have somewhat descriptive names, and, as it came out, they are too long for autotools to properly make dist...
The issue showed up when the tests of unadf, which are working fine with cmake testing as well as with simple make check, failed on make distcheck. The reason for this was that the test framework instead of executing the test, started generating the expected result (that's how these tests are implemented, to facilitate maintenance). And the reason for that were missing files with expected results.
make distcheck execution shows the following errors:
[...]
make[3]: Leaving directory '[...]/adflib/build/tests'
test -n "" \
|| find "adflib-0.9.0" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/bash [...]/adflib/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "adflib-0.9.0"
make[2]: Leaving directory '[...]/adflib/build'
tardir=adflib-0.9.0 && ${TAR-tar} chof - "$tardir" | eval GZIP= gzip --best -c >adflib-0.9.0.tar.gz
tar: adflib-0.9.0/tests/examples2/results/unadf/extract_files_to_dir_2_check_permissions_system_configuration: file name is too long (max 99); not dumped
tar: adflib-0.9.0/tests/examples2/results/unadf/extract_files_to_dir_2_check_permissions_startup_sequence_msys: file name is too long (max 99); not dumped
tar: adflib-0.9.0/tests/examples2/results/unadf/extract_files_to_dir_2_check_permissions_system_configuration_msys: file name is too long (max 99); not dumped
tar: Exiting with failure status due to previous errors
make[1]: Leaving directory '[...]/adflib/build
if test -d "adflib-0.9.0"; then find "adflib-0.9.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "adflib-0.9.0" || { sleep 5 && rm -rf "adflib-0.9.0"; }; else :; fi
[...]
but, what is even more surprising, it goes on despite the error and later fails on the tests (which are missing these data for results verification).