URL: <https://savannah.gnu.org/bugs/?68480>
Summary: help-version.sh test failure (and possible
inconsistency between fu_path_prepend_ and $(TESTS_ENVIRONMENT) )
Group: findutils
Submitter: jay
Submitted: Thu 25 Jun 2026 09:17:46 PM UTC
Category: find
Severity: 2 - Minor
Priority: 5 - Normal
Item Group: Test suite failure
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Unlocked
Release: None
Fixed Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Thu 25 Jun 2026 09:17:46 PM UTC By: James Youngman <jay>
time env RUN_EXPENSIVE_TESTS=yes MFLAGS="j" make distcheck just failed for me
in a VPATH build directory. That is, where I build like this:
mkdir compile
cd compile
time ../findutils/configure -C \
--enable-compiler-warnings \
--enable-compiler-warnings-are-errors &&
make -j
The build itself works fine. But I get a test failure:
time env RUN_EXPENSIVE_TESTS=yes MFLAGS="j" make distcheck
I will attach the log. But part of the problem may be that the test executes
with some incorrect $PATH entries:
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../xargs:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../locate:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../find:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/find:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/locate:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/xargs:/home/james/.cargo/bin:/home/james/.nvm/versions/node/v24.5.0/bin:/home/james/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/makemkv/bin:/usr/local/bin:/var/lib/flatpak/exports/bin:/home/james/source/spectrum/tools/z88dk/deb-z88dk/orig/z88dk/bin:/sbin:/usr/sbin
The first few are wrong, because they point outside the distcheck tree (into
its parent instead). As shown here:
echo
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../xargs:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../locate:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../find:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/find:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/locate:/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/xargs:/home/james/.cargo/bin:/home/james/.nvm/versions/node/v24.5.0/bin:/home/james/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/makemkv/bin:/usr/local/bin:/var/lib/flatpak/exports/bin:/home/james/source/spectrum/tools/z88dk/deb-z88dk/orig/z88dk/bin:/sbin:/usr/sbin
| tr ':' '\n' | while read entry; do echo; echo "${entry} resolves to
$(readlink -f ${entry})"; done
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../xargs
resolves to /home/james/source/GNU/findutils/git/gnu/compile/xargs
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../locate
resolves to /home/james/source/GNU/findutils/git/gnu/compile/locate
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/../../../find
resolves to /home/james/source/GNU/findutils/git/gnu/compile/find
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/find
resolves to
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/find
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/locate
resolves to
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/locate
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/xargs
resolves to
/home/james/source/GNU/findutils/git/gnu/compile/findutils-4.10.0.138-37527/_build/sub/xargs
/home/james/.cargo/bin resolves to /home/james/.cargo/bin
/home/james/.nvm/versions/node/v24.5.0/bin resolves to
/home/james/.nvm/versions/node/v24.5.0/bin
/home/james/bin resolves to /home/james/bin
/usr/local/bin resolves to /usr/local/bin
/usr/bin resolves to /usr/bin
/bin resolves to /usr/bin
/usr/local/games resolves to /usr/local/games
/usr/games resolves to /usr/games
/opt/makemkv/bin resolves to /opt/makemkv/bin
/usr/local/bin resolves to /usr/local/bin
/var/lib/flatpak/exports/bin resolves to /var/lib/flatpak/exports/bin
/home/james/source/spectrum/tools/z88dk/deb-z88dk/orig/z88dk/bin resolves to
/home/james/source/spectrum/tools/z88dk/deb-z88dk/orig/z88dk/bin
/sbin resolves to /usr/sbin
/usr/sbin resolves to /usr/sbin
One contributor to the problem is that $PATH is set up to point to the
binaries under test in two different places.
One is ../findutils/tests/local.mk:
TESTS_ENVIRONMENT = \
. $(srcdir)/tests/lang-default; \
tmp__=$${TMPDIR-/tmp}; \
test -d "$$tmp__" && test -w "$$tmp__" || tmp__=.; \
. $(srcdir)/tests/envvar-check; \
TMPDIR=$$tmp__; export TMPDIR; \
export \
VERSION='$(VERSION)' \
LOCALE_FR='$(LOCALE_FR)' \
LOCALE_FR_UTF8='$(LOCALE_FR_UTF8)' \
abs_top_builddir='$(abs_top_builddir)' \
abs_top_srcdir='$(abs_top_srcdir)' \
abs_srcdir='$(abs_srcdir)' \
built_programs='$(built_programs) $(single_binary_progs)' \
fail=0 \
host_os=$(host_os) \
host_triplet='$(host_triplet)' \
srcdir='$(srcdir)' \
top_srcdir='$(top_srcdir)' \
CONFIG_HEADER='$(abs_top_builddir)/$(CONFIG_INCLUDE)' \
CC='$(CC)' \
AWK='$(AWK)' \
EGREP='$(EGREP)' \
EXEEXT='$(EXEEXT)' \
MAKE=$(MAKE) \
PACKAGE_VERSION=$(PACKAGE_VERSION) \
PERL='$(PERL)' \
SHELL='$(PREFERABLY_POSIX_SHELL)' \
; test -d /usr/xpg4/bin && PATH='/usr/xpg4/bin$(PATH_SEPARATOR)'"$$PATH"; \
PATH='$(abs_top_builddir)/find$(PATH_SEPARATOR)$(abs_top_builddir)/locate$(PATH_SEPARATOR)$(abs_top_builddir)/xargs$(PATH_SEPARATOR)'"$$PATH"
\
; 9>&2
The other is help-version.sh itself:
. "${srcdir=.}/tests/init.sh"; fu_path_prepend_
fu_path_prepend_ is defined in init.cfg:
# Prepend all our source directories to PATH.
fu_path_prepend_()
{
path_prepend_ "${srcdir=.}/find" "${srcdir=.}/locate"
"${srcdir=.}/xargs"
}
Because the original build directory is a VPATH build directory and the
distcheck build directory isn't, only one of the two actually has binaries in
${srcdir}.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68480>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
