autotools dislikes having symlinks in the tarball so create those during testing. Also fix the value of PMTEST_SCRIPT_DIR to actually point to the correct dir in the distcheck case (different build dir). Signed-off-by: Florian Pritz <bluewind@xinu.at> --- Makefile.am | 2 +- .../keep-old-version/templates/perl-bla.template | 1 - .../keep-old-version/templates/perl-module.template | 1 - .../keep-old-version/testcase-config | 5 +++++ .../missing-template-file/templates/perl-module.template | 1 - .../missing-template-file/testcase-config | 4 ++++ .../name-charset-valid/templates/foo@-_.+a.template | 1 - .../name-charset-valid/testcase-config | 3 +++ .../templates/perl-bla.template | 1 - .../templates/perl-module.template | 1 - .../update-version-with-newest-option/testcase-config | 5 +++++ test/scripts/makepkg-template_test.sh | 16 +++++++++++++--- 12 files changed, 31 insertions(+), 10 deletions(-) delete mode 120000 test/scripts/makepkg-template-tests/keep-old-version/templates/perl-bla.template delete mode 120000 test/scripts/makepkg-template-tests/keep-old-version/templates/perl-module.template delete mode 120000 test/scripts/makepkg-template-tests/missing-template-file/templates/perl-module.template delete mode 120000 test/scripts/makepkg-template-tests/name-charset-valid/templates/foo@-_.+a.template delete mode 120000 test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-bla.template delete mode 120000 test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-module.template diff --git a/Makefile.am b/Makefile.am index 9dbacca..d2a11eb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,7 +38,7 @@ TEST_SUITE_LOG = test/test-suite.log TEST_EXTENSIONS = .py AM_TESTS_ENVIRONMENT = \ PMTEST_UTIL_DIR=$(top_builddir)/src/util/; export PMTEST_UTIL_DIR; \ - PMTEST_SCRIPT_DIR=$(top_srcdir)/scripts/; export PMTEST_SCRIPT_DIR; \ + PMTEST_SCRIPT_DIR=$(top_builddir)/scripts/; export PMTEST_SCRIPT_DIR; \ PMTEST_SCRIPTLIB_DIR=$(top_srcdir)/scripts/library/; export PMTEST_SCRIPTLIB_DIR; LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) \ $(top_srcdir)/build-aux/tap-driver.sh diff --git a/test/scripts/makepkg-template-tests/keep-old-version/templates/perl-bla.template b/test/scripts/makepkg-template-tests/keep-old-version/templates/perl-bla.template deleted file mode 120000 index 1161447..0000000 --- a/test/scripts/makepkg-template-tests/keep-old-version/templates/perl-bla.template +++ /dev/null @@ -1 +0,0 @@ -perl-bla-1.2.template \ No newline at end of file diff --git a/test/scripts/makepkg-template-tests/keep-old-version/templates/perl-module.template b/test/scripts/makepkg-template-tests/keep-old-version/templates/perl-module.template deleted file mode 120000 index f8618e4..0000000 --- a/test/scripts/makepkg-template-tests/keep-old-version/templates/perl-module.template +++ /dev/null @@ -1 +0,0 @@ -perl-module-1.1.template \ No newline at end of file diff --git a/test/scripts/makepkg-template-tests/keep-old-version/testcase-config b/test/scripts/makepkg-template-tests/keep-old-version/testcase-config index 241f048..b9448a0 100644 --- a/test/scripts/makepkg-template-tests/keep-old-version/testcase-config +++ b/test/scripts/makepkg-template-tests/keep-old-version/testcase-config @@ -1,6 +1,11 @@ arguments+=() expected_exitcode=0 +_setup_testcase() { + ln -sr "templates/"{perl-bla-1.2.template,perl-bla.template} + ln -sr "templates/"{perl-module-1.1.template,perl-module.template} +} + # set IFS="" if you want trailing new lines, otherwise remove it IFS="" read -d '' expected_output <<'EOF' EOF diff --git a/test/scripts/makepkg-template-tests/missing-template-file/templates/perl-module.template b/test/scripts/makepkg-template-tests/missing-template-file/templates/perl-module.template deleted file mode 120000 index 8c2189a..0000000 --- a/test/scripts/makepkg-template-tests/missing-template-file/templates/perl-module.template +++ /dev/null @@ -1 +0,0 @@ -perl-module-1.0.template \ No newline at end of file diff --git a/test/scripts/makepkg-template-tests/missing-template-file/testcase-config b/test/scripts/makepkg-template-tests/missing-template-file/testcase-config index 317e77b..bdfde40 100644 --- a/test/scripts/makepkg-template-tests/missing-template-file/testcase-config +++ b/test/scripts/makepkg-template-tests/missing-template-file/testcase-config @@ -1,6 +1,10 @@ arguments+=() expected_exitcode=2 +_setup_testcase() { + ln -sr "templates/"{perl-module-1.0.template,perl-module.template} +} + # set IFS="" if you want trailing new lines, otherwise remove it IFS="" read -d '' expected_output <<'EOF' failed to open './makepkg-template-tests/missing-template-file/templates/perl-module-1.0.template': No such file or directory diff --git a/test/scripts/makepkg-template-tests/name-charset-valid/templates/foo@-_.+a.template b/test/scripts/makepkg-template-tests/name-charset-valid/templates/foo@-_.+a.template deleted file mode 120000 index 24b333f..0000000 --- a/test/scripts/makepkg-template-tests/name-charset-valid/templates/foo@-_.+a.template +++ /dev/null @@ -1 +0,0 @@ -foo@-_.+a-1.template \ No newline at end of file diff --git a/test/scripts/makepkg-template-tests/name-charset-valid/testcase-config b/test/scripts/makepkg-template-tests/name-charset-valid/testcase-config index 6810390..409444a 100644 --- a/test/scripts/makepkg-template-tests/name-charset-valid/testcase-config +++ b/test/scripts/makepkg-template-tests/name-charset-valid/testcase-config @@ -1,6 +1,9 @@ arguments+=() expected_exitcode=0 +_setup_testcase() { + ln -sr "templates/"{foo\@-_.+a-1.template,foo\@-_.+a.template} +} IFS="" read -d '' expected_output <<'EOF' EOF diff --git a/test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-bla.template b/test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-bla.template deleted file mode 120000 index 1161447..0000000 --- a/test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-bla.template +++ /dev/null @@ -1 +0,0 @@ -perl-bla-1.2.template \ No newline at end of file diff --git a/test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-module.template b/test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-module.template deleted file mode 120000 index f8618e4..0000000 --- a/test/scripts/makepkg-template-tests/update-version-with-newest-option/templates/perl-module.template +++ /dev/null @@ -1 +0,0 @@ -perl-module-1.1.template \ No newline at end of file diff --git a/test/scripts/makepkg-template-tests/update-version-with-newest-option/testcase-config b/test/scripts/makepkg-template-tests/update-version-with-newest-option/testcase-config index a6a2f4a..5956a0a 100644 --- a/test/scripts/makepkg-template-tests/update-version-with-newest-option/testcase-config +++ b/test/scripts/makepkg-template-tests/update-version-with-newest-option/testcase-config @@ -1,6 +1,11 @@ arguments+=(-n) expected_exitcode=0 +_setup_testcase() { + ln -sr "templates/"{perl-bla-1.2.template,perl-bla.template} + ln -sr "templates/"{perl-module-1.1.template,perl-module.template} +} + IFS="" read -d '' expected_output <<'EOF' EOF diff --git a/test/scripts/makepkg-template_test.sh b/test/scripts/makepkg-template_test.sh index 6d0f0e7..3a98bf2 100755 --- a/test/scripts/makepkg-template_test.sh +++ b/test/scripts/makepkg-template_test.sh @@ -9,13 +9,15 @@ if ! type -p "$script" &>/dev/null; then exit 1 fi +TMPDIR="$(mktemp -d "/tmp/${0##*/}.XXXXXX")" +trap "rm -rf '${TMPDIR}'" EXIT TERM +cp -r "${0%/*}/makepkg-template-tests" "$TMPDIR/makepkg-template-tests" + # normalize paths script="$(readlink -f $(type -p "$script"))" -cd "${0%/*}" +cd "$TMPDIR" testdir="./makepkg-template-tests" -TMPDIR="$(mktemp -d "/tmp/${0##*/}.XXXXXX")" -trap "rm -rf '${TMPDIR}'" EXIT TERM total=$(find "$testdir" -maxdepth 1 -mindepth 1 -type d | wc -l) if [[ -z "$total" ]]; then @@ -35,6 +37,14 @@ run_test() { mkdir "$TMPDIR/$testcase" touch "$TMPDIR/$testcase/result" + # work around autotools not putting symlinks into the release tarball + if type -t _setup_testcase >/dev/null; then + cd "$TMPDIR/$testdir/$testcase" + _setup_testcase + unset -f _setup_testcase + cd "$TMPDIR" + fi + LC_ALL=C "$script" \ --template-dir "$testdir/$testcase/templates" \ -p "$testdir/$testcase/PKGBUILD" \ -- 2.2.1