From 3b0b830e40330b7fa679cf3c6e25dfb29d19e969 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Wed, 5 Feb 2020 12:09:51 +1100 Subject: ctdb-tests: Use $PWD/bin/ if it exists when running in-tree When running tests from a top-level build, a stale build in ctdb/bin/ will be preferred and may cause confusing results. Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- ctdb/tests/scripts/script_install_paths.sh | 33 ++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'ctdb') diff --git a/ctdb/tests/scripts/script_install_paths.sh b/ctdb/tests/scripts/script_install_paths.sh index 9e54f4b473a..6890cf87aa6 100644 --- a/ctdb/tests/scripts/script_install_paths.sh +++ b/ctdb/tests/scripts/script_install_paths.sh @@ -1,5 +1,29 @@ # Hey Emacs, this is a -*- shell-script -*- !!! :-) +# Sets $bin_dir +find_bin_dir () +{ + _ctdb_dir="$1" + + bin_dir="$(pwd -P)/bin" + if [ -d "$(pwd -P)/bin" ] ; then + return + fi + + bin_dir="${_ctdb_dir}/bin" + if [ -d "$bin_dir" ] ; then + return + fi + + bin_dir="$(dirname "${_ctdb_dir}")/bin" + if [ -d "$bin_dir" ] ; then + return + fi + + die "Unable to locate bin/ subdirectory" +} + + if ! $CTDB_TESTS_ARE_INSTALLED ; then if [ ! -f "${CTDB_TEST_DIR}/run_tests.sh" ] ; then die "Tests not installed but can't find run_tests.sh" @@ -7,19 +31,16 @@ if ! $CTDB_TESTS_ARE_INSTALLED ; then ctdb_dir=$(cd -P "$(dirname "$CTDB_TEST_DIR")" && pwd) # real path - top_dir="$ctdb_dir" - if [ ! -d "${top_dir}/bin" ] ; then - top_dir=$(dirname "$top_dir") - fi + find_bin_dir "$ctdb_dir" CTDB_SCRIPTS_BASE="${ctdb_dir}/config" CTDB_SCRIPTS_INIT_SCRIPT="${ctdb_dir}/config/ctdb.init" CTDB_SCRIPTS_SBIN_DIR="${ctdb_dir}/config" CTDB_SCRIPTS_TOOLS_BIN_DIR="${ctdb_dir}/tools" CTDB_SCRIPTS_TOOLS_HELPER_DIR="${ctdb_dir}/tools" - CTDB_SCRIPTS_HELPER_BINDIR="${top_dir}/bin" + CTDB_SCRIPTS_HELPER_BINDIR="$bin_dir" CTDB_SCRIPTS_DATA_DIR="${ctdb_dir}/config" - CTDB_SCRIPTS_TESTS_LIBEXEC_DIR="${top_dir}/bin" + CTDB_SCRIPTS_TESTS_LIBEXEC_DIR="$bin_dir" CTDB_SCRIPTS_TESTS_BIN_DIR="$CTDB_TEST_DIR" else # Installed -- cgit v1.2.1