tests/: Support run_some from exported tarball
common/config.sh currently tries to find the top directory by looking
for .git. There are also many places under tests/ where we use
hard-coded ../../.. to find things like ${TOP_DIR}/lib.
We don't actually ship the tests with 'make dist'. So we will
be exporting tests/ as a separate tarball. In particular, I want
to then import this in the debian package. However, there it will
be under shadow.git/debian/tests, not shadow.git/tests.
To support this, accept the environment variable BUILD_BASE_DIR,
which should point to shadow.git.
An alternative would be to move the tests to their own git
tree. However, keeping tests in separate git tree tends to
lead to repos getting out of sync. And we'd still need to accept
something like BUILD_BASE_DIR.
Note there are a lot of tests under run-all, which I'm not converting
as they currently are not being run in CI, so I'm more likely to
break something.
Changelog:
2024 05 26: Incorporate feedback from alejandro-colomar
Link: <https://salsa.debian.org/debian/shadow/-/merge_requests/21>
Link: <https://salsa.debian.org/debian/shadow/-/merge_requests/22>
Cc: Chris Hofstaedtler <zeha@debian.org>
Signed-off-by: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: d55367bb16 ("tests/: Support run_some from exported tarball")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
This commit is contained in:
committed by
Alejandro Colomar
parent
7d974e3e9b
commit
79ce7adda3
@@ -2,14 +2,16 @@
|
||||
|
||||
set -e
|
||||
|
||||
build_path=$(pwd)
|
||||
while [ "${build_path}" != "/" -a ! -e "${build_path}/.git" ]; do
|
||||
build_path=$(dirname ${build_path})
|
||||
done
|
||||
if [ ! -e "${build_path}/.git" ]; then
|
||||
echo "Not inside git directory" 1>&2
|
||||
exit 1
|
||||
if [ -n "${BUILD_BASE_DIR}" ]; then
|
||||
build_path="${BUILD_BASE_DIR}"
|
||||
else
|
||||
build_path=$(git rev-parse --show-toplevel)
|
||||
fi
|
||||
if [ -z "${build_path}" ]; then
|
||||
echo "Failed to find build base path"
|
||||
exit 1
|
||||
fi
|
||||
export build_path
|
||||
|
||||
# Save the configuration files in tmp.
|
||||
save_config ()
|
||||
|
||||
Reference in New Issue
Block a user