diff --git a/tests/common/config.sh b/tests/common/config.sh index a2f8df03..926cdae5 100644 --- a/tests/common/config.sh +++ b/tests/common/config.sh @@ -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 () diff --git a/tests/libsubid/04_nss/Makefile b/tests/libsubid/04_nss/Makefile index dd5acf72..79c2fc9d 100644 --- a/tests/libsubid/04_nss/Makefile +++ b/tests/libsubid/04_nss/Makefile @@ -1,12 +1,15 @@ all: test_nss libsubid_zzz.so -test_nss: test_nss.c ../../../lib/nss.c - gcc -c -I../../../lib/ -I../../.. -o test_nss.o test_nss.c - gcc -o test_nss test_nss.o ../../../lib/.libs/libshadow.a -ldl +BASE_TEST_DIR ?= $(shell git rev-parse --show-toplevel) +basedir := $(BASE_TEST_DIR) + +test_nss: test_nss.c $(basedir)/lib/nss.c + gcc -c -I$(basedir)/lib/ -I$(basedir)-o test_nss.o test_nss.c + gcc -o test_nss test_nss.o $(basedir)/lib/.libs/libshadow.a -ldl libsubid_zzz.so: libsubid_zzz.c - gcc -c -I../../../lib/ -I../../.. -I../../../libsubid libsubid_zzz.c - gcc -L../../../libsubid -shared -o libsubid_zzz.so libsubid_zzz.o ../../../lib/.libs/libshadow.a -ldl + gcc -c -I$(basedir)/lib/ -I$(basedir) -I$(basedir)/libsubid libsubid_zzz.c + gcc -L$(basedir)/libsubid -shared -o libsubid_zzz.so libsubid_zzz.o $(basedir)/lib/.libs/libshadow.a -ldl clean: rm -f *.o *.so test_nss diff --git a/tests/libsubid/04_nss/subidnss.test b/tests/libsubid/04_nss/subidnss.test index 3d40dc8c..400171fa 100755 --- a/tests/libsubid/04_nss/subidnss.test +++ b/tests/libsubid/04_nss/subidnss.test @@ -9,7 +9,7 @@ cd $(dirname $0) make -export LD_LIBRARY_PATH=.:../../../lib/.libs:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=.:${build_path}/lib/.libs:$LD_LIBRARY_PATH ./test_nss 1 ./test_nss 2 diff --git a/tests/libsubid/04_nss/test_range b/tests/libsubid/04_nss/test_range index ee25080f..45a791c7 100755 --- a/tests/libsubid/04_nss/test_range +++ b/tests/libsubid/04_nss/test_range @@ -11,23 +11,23 @@ cleanup1() { umount /etc/nsswitch.conf } trap cleanup1 EXIT HUP INT TERM -../../../src/check_subid_range user1 u 100000 65535 +${build_path}/src/check_subid_range user1 u 100000 65535 if [ $? -ne 0 ]; then exit 1 fi -../../../src/check_subid_range user2 u 100000 65535 +${build_path}/src/check_subid_range user2 u 100000 65535 if [ $? -eq 0 ]; then exit 1 fi -../../../src/check_subid_range unknown u 100000 65535 +${build_path}/src/check_subid_range unknown u 100000 65535 if [ $? -eq 0 ]; then exit 1 fi -../../../src/check_subid_range error u 100000 65535 +${build_path}/src/check_subid_range error u 100000 65535 if [ $? -eq 0 ]; then exit 1 fi -../../../src/check_subid_range user1 u 1000 65535 +${build_path}/src/check_subid_range user1 u 1000 65535 if [ $? -eq 0 ]; then exit 1 fi @@ -43,7 +43,7 @@ cleanup2() { umount /etc/nsswitch.conf } trap cleanup2 EXIT HUP INT TERM -../../../src/check_subid_range user1 u 100000 65535 +${build_path}/src/check_subid_range user1 u 100000 65535 if [ $? -eq 0 ]; then exit 1 fi