From: Michael Jeanson Date: Mon, 12 Feb 2024 23:12:55 +0000 (-0500) Subject: Fix the test suite for Out of tree builds X-Git-Tag: RELEASE_1_4_5~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce58a5b993419d67bec3a54ef0291ab9bd42a5a8;p=thirdparty%2Fmlmmj.git Fix the test suite for Out of tree builds Move the test suite to the top level Makefile to allow proper dependencies between the built files and the check target. Add a generated 'kyua.conf' file to the build directory to pass the top_srcdir and top_buildir variable from the build system to the test suite. Modify the test scripts to fetch the data files from the top_srcdir and the generated files from the top_builddir variable. Signed-off-by: Michael Jeanson --- diff --git a/Makefile.am b/Makefile.am index 968a1947..aba37584 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,8 @@ EXTRA_DIST = include LICENSE UPGRADE FAQ \ TUNABLES README.access README.archives README.listtexts man \ README.exim4 README.sendmail README.security README.qmail \ - README.postfix README.footers + README.postfix README.footers \ + Kyuafile tests/Kyuafile CLEANFILES = *~ mlmmj-*.tar.* man1_MANS = man/mlmmj-bounce.1 man/mlmmj-make-ml.1 man/mlmmj-receive.1 \ @@ -13,11 +14,62 @@ man1_MANS = man/mlmmj-bounce.1 man/mlmmj-make-ml.1 man/mlmmj-receive.1 \ SUBDIRS = src listtexts contrib if WANT_TESTS -SUBDIRS += tests +AM_CFLAGS += @ATF_CFLAGS@ -check: $(check_SCRIPTS) $(check_PROGRAMS) - kyua --config=none test --kyuafile='$(builddir)/Kyuafile' \ - --build-root='$(builddir)' +check_PROGRAMS = \ + tests/fakesmtpd \ + tests/mlmmj +dist_noinst_HEADERS = \ + tests/mlmmj_tests.h + +tests_mlmmj_SOURCES = \ + tests/mlmmj.c \ + tests/mlmmj_tests.c +tests_mlmmj_LDADD = \ + $(top_builddir)/src/libmlmmj.a \ + @ATF_LIBS@ -lrt + +tests_fakesmtpd_SOURCES = \ + tests/fakesmtpd.c + +EXTRA_DIST += \ + tests/*.sh + +CLEANFILES += \ + $(test_scripts:.sh=) + +test_scripts = \ + tests/mlmmj-send.sh \ + tests/functional-tests.sh \ + tests/mlmmj-maintd.sh \ + tests/mlmmj-sub.sh \ + tests/mlmmj-bounce.sh \ + tests/mlmmj-list.sh \ + tests/mlmmj-process.sh \ + tests/mlmmj-receive.sh + +check_SCRIPTS = \ + $(test_scripts:.sh=) + +# Copy the test scripts striped of the '.sh' extension in the build directory +SUFFIXES = .sh +.sh: + install -m 755 $< $@ + +# Run the Kyua test suite when the 'check' target is invoked +check-local: $(check_SCRIPTS) $(check_PROGRAMS) + failed=no; \ + kyua --config='$(top_builddir)/kyua.conf' test \ + --kyuafile='$(top_srcdir)/Kyuafile' --build-root='$(top_builddir)' \ + || failed=yes; \ + if [ "$${failed}" = yes ]; then \ + kyua report --results-file='$(abs_top_srcdir)' \ + --verbose --results-filter=broken,failed; \ + exit 1; \ + fi + +# Build the test programs when the 'all' target is invoked +all-local: $(check_PROGRAMS) $(check_SCRIPTS) endif diff --git a/configure.ac b/configure.ac index b95548a9..7cc1efc9 100644 --- a/configure.ac +++ b/configure.ac @@ -93,12 +93,11 @@ AM_LDFLAGS="$COVERAGE_LDFLAGS $ASAN_LDFLAGS $UBSAN_LDFLAGS" AC_SUBST(AM_LDFLAGS) AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([kyua.conf]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([src/mlmmj-make-ml]) AC_CONFIG_FILES([listtexts/Makefile]) AC_CONFIG_FILES([contrib/Makefile]) AC_CONFIG_FILES([contrib/receivestrip/Makefile]) -AC_CONFIG_FILES([tests/Makefile]) -AC_CONFIG_FILES([tests/Kyuafile]) AC_CONFIG_FILES([tests/test_env.sh]) AC_OUTPUT diff --git a/kyua.conf.in b/kyua.conf.in new file mode 100644 index 00000000..daf00b0f --- /dev/null +++ b/kyua.conf.in @@ -0,0 +1,4 @@ +syntax(2) + +test_suites.mlmmj.top_srcdir = "@abs_top_srcdir@" +test_suites.mlmmj.top_builddir = "@abs_top_builddir@" diff --git a/tests/Kyuafile.in b/tests/Kyuafile similarity index 100% rename from tests/Kyuafile.in rename to tests/Kyuafile diff --git a/tests/Makefile.am b/tests/Makefile.am deleted file mode 100644 index 84fbc537..00000000 --- a/tests/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -check_PROGRAMS = mlmmj fakesmtpd - -mlmmj_SOURCES = mlmmj.c \ - mlmmj_tests.c - -fakesmtpd_SOURCES= fakesmtpd.c - -EXTRA_DIST = *.sh *.h -CLEANFILES= $(test_scripts:.sh=) - -AM_CFLAGS += @ATF_CFLAGS@ -mlmmj_LDADD = $(top_builddir)/src/libmlmmj.a @ATF_LIBS@ -lrt - -test_scripts = mlmmj-send.sh \ - functional-tests.sh \ - mlmmj-maintd.sh \ - mlmmj-sub.sh \ - mlmmj-bounce.sh \ - mlmmj-list.sh \ - mlmmj-process.sh \ - mlmmj-receive.sh -check_SCRIPTS= $(test_scripts:.sh=) -SUFFIXES= .sh - -all: $(check_PROGRAMS) $(check_SCRIPTS) - -check: $(check_SCRIPTS) $(check_PROGRAMS) - -.sh: - install -m 755 $< $@ diff --git a/tests/mlmmj-bounce.sh b/tests/mlmmj-bounce.sh index c0370fc3..a4492007 100644 --- a/tests/mlmmj-bounce.sh +++ b/tests/mlmmj-bounce.sh @@ -158,7 +158,7 @@ dsnparse_body() init_ml ml echo test@mlmmjtest > ml/control/listaddress - cp $(atf_get_srcdir)/dsnmail dsnmail + cp ${top_srcdir}/tests/dsnmail dsnmail atf_check -s exit:0 $mlmmjbounce -L ./ml -d -n 2 -m dsnmail } diff --git a/tests/mlmmj-maintd.sh b/tests/mlmmj-maintd.sh index 8ef5b227..b3552121 100755 --- a/tests/mlmmj-maintd.sh +++ b/tests/mlmmj-maintd.sh @@ -702,7 +702,7 @@ run_digests resend_requeue_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list echo "test@test" > list/control/listaddress @@ -902,7 +902,7 @@ EOF resend_queue_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list echo "test@test" > list/control/listaddress diff --git a/tests/mlmmj-process.sh b/tests/mlmmj-process.sh index 057a8515..d7320b65 100644 --- a/tests/mlmmj-process.sh +++ b/tests/mlmmj-process.sh @@ -78,7 +78,7 @@ Bcc: list@test EOF echo "list@test" > list/control/listaddress rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text atf_check -s exit:0 $mlmmjprocess -L list -m mailfile rm list/queue/*.reciptto rm list/queue/*.mailfrom diff --git a/tests/mlmmj-receive.sh b/tests/mlmmj-receive.sh index 5c29d285..a4cce297 100755 --- a/tests/mlmmj-receive.sh +++ b/tests/mlmmj-receive.sh @@ -91,11 +91,11 @@ EOF simple_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -181,11 +181,11 @@ EOF subscribe_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -381,11 +381,11 @@ EOF subscribe_digest_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -582,11 +582,11 @@ EOF subscribe_nomail_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -785,11 +785,11 @@ EOF subscribe_both_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -986,11 +986,11 @@ EOF subscribe_nomail_confunsub_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1189,11 +1189,11 @@ EOF subscribe_digest_confunsub_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1388,11 +1388,11 @@ EOF } ctrl_list_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1469,11 +1469,11 @@ EOF } ctrl_help_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1537,11 +1537,11 @@ EOF } ctrl_faq_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1575,11 +1575,11 @@ EOF } ctrl_get_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1659,11 +1659,11 @@ EOF } subscription_moderation_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1848,11 +1848,11 @@ EOF } moderation_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -1968,11 +1968,11 @@ EOF } moderation_notifymod_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2133,11 +2133,11 @@ EOF } moderation_notmetoo_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2260,11 +2260,11 @@ EOF } moderation_reject_invalid_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2348,11 +2348,11 @@ EOF } maxmailsize_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2416,11 +2416,11 @@ EOF } maxmailsize0_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2485,11 +2485,11 @@ EOF normal_email_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2657,11 +2657,11 @@ EOF delheaders_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2708,11 +2708,11 @@ EOF customheaders_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "heloname" > list/control/smtphelo @@ -2804,11 +2804,11 @@ EOF verp_body() { - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM init_ml list rmdir list/text - ln -s ${srcdir}/../listtexts/en list/text + ln -s ${top_srcdir}/listtexts/en list/text echo test@mlmmjtest > list/control/listaddress echo "25678" > list/control/smtpport echo "postfix" > list/control/verp diff --git a/tests/mlmmj-sub.sh b/tests/mlmmj-sub.sh index 74f3085a..3df33b52 100755 --- a/tests/mlmmj-sub.sh +++ b/tests/mlmmj-sub.sh @@ -42,13 +42,13 @@ add_normal_welcome_body() { init_ml ml mlmmjsub=$(command -v mlmmj-sub) - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM echo test@mlmmjtest > ml/control/listaddress echo "25678" > ml/control/smtpport echo "heloname" > ml/control/smtphelo rmdir ml/text - ln -s ${srcdir}/../listtexts/en ml/text + ln -s ${top_srcdir}/listtexts/en ml/text atf_check -s exit:0 $mlmmjsub -L ml -c -a john@doe.org cat > expected.txt < ml/control/listaddress echo "25678" > ml/control/smtpport echo "heloname" > ml/control/smtphelo rmdir ml/text - ln -s ${srcdir}/../listtexts/en ml/text + ln -s ${top_srcdir}/listtexts/en ml/text atf_check -s exit:0 $mlmmjsub -L ml -c -C -a john@doe.org cat > expected.txt < ml/control/listaddress echo "25678" > ml/control/smtpport echo "heloname" > ml/control/smtphelo touch ml/control/notifysub rmdir ml/text - ln -s ${srcdir}/../listtexts/en ml/text + ln -s ${top_srcdir}/listtexts/en ml/text atf_check -s exit:0 $mlmmjsub -L ml -c -a john@doe.org cat > expected.txt < ml/control/listaddress echo "25678" > ml/control/smtpport echo "heloname" > ml/control/smtphelo rmdir ml/text - ln -s ${srcdir}/../listtexts/en ml/text + ln -s ${top_srcdir}/listtexts/en ml/text cat > ml/control/submod < ml/control/listaddress echo "john@doe.org" > ml/subscribers.d/j @@ -463,7 +463,7 @@ remove_normal_confirm_body() echo "25678" > ml/control/smtpport echo "heloname" > ml/control/smtphelo rmdir ml/text - ln -s ${srcdir}/../listtexts/en ml/text + ln -s ${top_srcdir}/listtexts/en ml/text atf_check -s exit:0 $mlmmjsub -L ml -c -a john@doe.org atf_check -o inline:"bob@doe.org\nrebecca@doe.org\n" cat ml/subscribers.d/j cat > expected.txt << EOF @@ -572,7 +572,7 @@ remove_normal_confirm_and_send_owner_body() { init_ml ml mlmmjsub=$(command -v mlmmj-unsub) - atf_check $srcdir/fakesmtpd + atf_check $top_builddir/tests/fakesmtpd trap kill_fakesmtp EXIT TERM echo test@mlmmjtest > ml/control/listaddress echo "john@doe.org" > ml/subscribers.d/j @@ -582,7 +582,7 @@ remove_normal_confirm_and_send_owner_body() echo "heloname" > ml/control/smtphelo touch ml/control/notifysub rmdir ml/text - ln -s ${srcdir}/../listtexts/en ml/text + ln -s ${top_srcdir}/listtexts/en ml/text atf_check -s exit:0 $mlmmjsub -L ml -c -a john@doe.org atf_check -o inline:"bob@doe.org\nrebecca@doe.org\n" cat ml/subscribers.d/j cat > expected.txt << EOF diff --git a/tests/mlmmj.c b/tests/mlmmj.c index 4e0b95e4..d829b076 100644 --- a/tests/mlmmj.c +++ b/tests/mlmmj.c @@ -1887,8 +1887,8 @@ ATF_TC_BODY(notify_sub, tc) ml.dir = "list"; ml_open(&ml, false); rmdir("list/text"); - xasprintf(&dir, "%s/../listtexts/en", - atf_tc_get_config_var(tc, "srcdir")); + xasprintf(&dir, "%s/listtexts/en", + atf_tc_get_config_var(tc, "top_srcdir")); symlink(dir, "list/text"); atf_utils_create_file("list/control/smtpport", "25678"); @@ -2222,8 +2222,8 @@ ATF_TC_BODY(generate_subscription, tc) ml.dir = "list"; ml_open(&ml, false); rmdir("list/text"); - xasprintf(&dir, "%s/../listtexts/en", - atf_tc_get_config_var(tc, "srcdir")); + xasprintf(&dir, "%s/listtexts/en", + atf_tc_get_config_var(tc, "top_srcdir")); symlink(dir, "list/text"); atf_utils_create_file("list/control/smtpport", "25678"); @@ -2270,8 +2270,8 @@ ATF_TC_BODY(generate_subconfirm, tc) ml.dir = "list"; ml_open(&ml, false); rmdir("list/text"); - xasprintf(&dir, "%s/../listtexts/en", - atf_tc_get_config_var(tc, "srcdir")); + xasprintf(&dir, "%s/listtexts/en", + atf_tc_get_config_var(tc, "top_srcdir")); symlink(dir, "list/text"); atf_utils_create_file("list/control/smtpport", "25678"); @@ -2426,8 +2426,8 @@ ATF_TC_BODY(send_confirmation_mail, tc) ml.dir = "list"; ml_open(&ml, false); rmdir("list/text"); - xasprintf(&dir, "%s/../listtexts/en", - atf_tc_get_config_var(tc, "srcdir")); + xasprintf(&dir, "%s/listtexts/en", + atf_tc_get_config_var(tc, "top_srcdir")); symlink(dir, "list/text"); atf_utils_create_file("list/control/smtpport", "25678"); @@ -2558,8 +2558,8 @@ ATF_TC_BODY(send_help, tc) ml.dir = "list"; ml_open(&ml, false); rmdir("list/text"); - xasprintf(&dir, "%s/../listtexts/en", - atf_tc_get_config_var(tc, "srcdir")); + xasprintf(&dir, "%s/listtexts/en", + atf_tc_get_config_var(tc, "top_srcdir")); symlink(dir, "list/text"); atf_utils_create_file("list/control/smtpport", "25678"); @@ -2807,8 +2807,8 @@ ATF_TC_BODY(send_probe, tc) ml.dir = "list"; ml_open(&ml, false); rmdir("list/text"); - xasprintf(&dir, "%s/../listtexts/en", - atf_tc_get_config_var(tc, "srcdir")); + xasprintf(&dir, "%s/listtexts/en", + atf_tc_get_config_var(tc, "top_srcdir")); symlink(dir, "list/text"); atf_utils_create_file("list/control/smtpport", "25678"); diff --git a/tests/test_env.sh.in b/tests/test_env.sh.in index f84ab107..240ba8e8 100644 --- a/tests/test_env.sh.in +++ b/tests/test_env.sh.in @@ -1,14 +1,11 @@ -srcdir="$(atf_get_srcdir)" -export PATH="$srcdir/../src:${PATH}" +top_srcdir="@abs_top_srcdir@" +top_builddir="@abs_top_builddir@" -selfdir="@abs_top_srcdir@/tests" -LIBRARY_PATH_ENV="LIBRARY_PATH" -SYSROOT_DIR="${selfdir}" +export PATH="${top_builddir}/src:${PATH}" prefix="@prefix@" exec_prefix="@exec_prefix@" datarootdir="@datarootdir@" -pcpath="@PKG_DEFAULT_PATH@" tests_init() {