diff options
author | rillig <rillig@pkgsrc.org> | 2020-05-02 07:24:31 +0000 |
---|---|---|
committer | rillig <rillig@pkgsrc.org> | 2020-05-02 07:24:31 +0000 |
commit | a334398ffb7c8dbb9a7ce8c7338d7c65e752b0ee (patch) | |
tree | 06a347d9b9a0bed1f952799cfdcac5c6c6839f15 /regress | |
parent | ffd84284783cc47100cd8b2b9ac638c5f8876e9b (diff) | |
download | pkgsrc-a334398ffb7c8dbb9a7ce8c7338d7c65e752b0ee.tar.gz |
regress: move tests for platform tools to tools-platform
Diffstat (limited to 'regress')
-rw-r--r-- | regress/tools-platform/awk.test (renamed from regress/tools/files/awk-test.sh) | 2 | ||||
-rw-r--r-- | regress/tools-platform/sed.test (renamed from regress/tools/files/sed-test.sh) | 2 | ||||
-rw-r--r-- | regress/tools-platform/sh.test | 14 | ||||
-rw-r--r-- | regress/tools-platform/sort.test (renamed from regress/tools/files/sort-test.sh) | 2 | ||||
-rw-r--r-- | regress/tools-platform/spec | 14 | ||||
-rw-r--r-- | regress/tools-platform/tar.test (renamed from regress/tools/files/tar-test.sh) | 2 | ||||
-rw-r--r-- | regress/tools-platform/tests.subr | 14 | ||||
-rw-r--r-- | regress/tools-platform/tr.test (renamed from regress/tools/files/tr-test.sh) | 7 | ||||
-rw-r--r-- | regress/tools/Makefile | 4 | ||||
-rw-r--r-- | regress/tools/files/sh-test.sh | 44 |
10 files changed, 47 insertions, 58 deletions
diff --git a/regress/tools/files/awk-test.sh b/regress/tools-platform/awk.test index 9249316804e..1f2228496a5 100644 --- a/regress/tools/files/awk-test.sh +++ b/regress/tools-platform/awk.test @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: awk-test.sh,v 1.8 2006/05/31 13:10:49 rillig Exp $ +# $NetBSD: awk.test,v 1.1 2020/05/02 07:24:32 rillig Exp $ # set -e diff --git a/regress/tools/files/sed-test.sh b/regress/tools-platform/sed.test index 26f10bd43e6..693d8d3dd7f 100644 --- a/regress/tools/files/sed-test.sh +++ b/regress/tools-platform/sed.test @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: sed-test.sh,v 1.1 2006/09/20 07:39:55 rillig Exp $ +# $NetBSD: sed.test,v 1.1 2020/05/02 07:24:32 rillig Exp $ # set -e diff --git a/regress/tools-platform/sh.test b/regress/tools-platform/sh.test index 93cebf2aba0..39b06b85dd0 100644 --- a/regress/tools-platform/sh.test +++ b/regress/tools-platform/sh.test @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: sh.test,v 1.1 2020/05/01 18:37:59 rillig Exp $ +# $NetBSD: sh.test,v 1.2 2020/05/02 07:24:32 rillig Exp $ # # Tests for the shell that is available as ${SH} in Makefiles. # @@ -39,3 +39,15 @@ assert_that "%: ${pathname%/*}" --equals "%: first/second/third" # Make sure that $(...) subshells work. assert_that "subshell: $(echo world | tr 'world' 'hello')" \ --equals "subshell: hello" + +# In NetBSD 7, /bin/sh handled backslashes in word expansions incorrectly. +# See https://gnats.netbsd.org/43469. +line='#define bindir "/usr/bin" /* bar */' +case $MACHINE_PLATFORM in +(NetBSD-[0-7].*-*) + assert_that "${line%%/\**}" --equals '#define bindir "' + ;; +(*) + assert_that "${line%%/\**}" --equals '#define bindir "/usr/bin" ' + ;; +esac diff --git a/regress/tools/files/sort-test.sh b/regress/tools-platform/sort.test index f1bae3a5181..47484ee1985 100644 --- a/regress/tools/files/sort-test.sh +++ b/regress/tools-platform/sort.test @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: sort-test.sh,v 1.1 2006/06/25 21:47:28 rillig Exp $ +# $NetBSD: sort.test,v 1.1 2020/05/02 07:24:32 rillig Exp $ # set -e diff --git a/regress/tools-platform/spec b/regress/tools-platform/spec index 384dcc62dfe..91732b6abde 100644 --- a/regress/tools-platform/spec +++ b/regress/tools-platform/spec @@ -1,4 +1,4 @@ -# $NetBSD: spec,v 1.1 2020/05/01 18:37:59 rillig Exp $ +# $NetBSD: spec,v 1.2 2020/05/02 07:24:32 rillig Exp $ # # Tests for the platform-provided tools. # @@ -6,6 +6,10 @@ # In that environment, only the PATH is set, and it points to a # directory containing only the tools from mk/tools/tools.${OPSYS}.mk. # +# Additionally, MACHINE_PLATFORM is set, so that the tests can expect +# different results depending on the platform. This is used for +# documenting bugs that have been fixed in a certain version. +# # The individual tests may create arbitrary files in their current # working directory. # @@ -22,10 +26,16 @@ do_test() { -f "$regressdir/zzz-prepare-tools.mk" \ "prepare-platform-tools" ) + machine_platform=$( + cd ../../pkgtools/digest \ + && $TEST_MAKE show-var VARNAME=MACHINE_PLATFORM + ) for testfile in *.test; do mkdir "$tmpdir/work" - (cd "$tmpdir/work" && "$bindir/env" -i PATH="$bindir" \ + (cd "$tmpdir/work" && "$bindir/env" -i \ + MACHINE_PLATFORM="$machine_platform" \ + PATH="$bindir" \ "sh" "$regressdir/$testfile") \ || TEST_EXITSTATUS=$? rm -rf "$tmpdir/work" diff --git a/regress/tools/files/tar-test.sh b/regress/tools-platform/tar.test index 02573d62509..c549e9ae72c 100644 --- a/regress/tools/files/tar-test.sh +++ b/regress/tools-platform/tar.test @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: tar-test.sh,v 1.1 2007/09/09 08:01:45 rillig Exp $ +# $NetBSD: tar.test,v 1.1 2020/05/02 07:24:32 rillig Exp $ # set -e diff --git a/regress/tools-platform/tests.subr b/regress/tools-platform/tests.subr new file mode 100644 index 00000000000..db2de71c1dc --- /dev/null +++ b/regress/tools-platform/tests.subr @@ -0,0 +1,14 @@ +# $NetBSD: tests.subr,v 1.1 2020/05/02 07:24:32 rillig Exp $ +# + +# usage: testcase_start <testname> +testcase_start() { + printf " Running testcase %s\\n" "$1" +} + +# usage: assert_equal <testname> <expected> <got> +assert_equal() { + [ "x$2" = "x$3" ] && return 0 + printf "error: assert_equal failed for \"%s\":\nexpected: %s\nbut got: %s\n" "$1" "$2" "$3" 1>&2 + return 1 +} diff --git a/regress/tools/files/tr-test.sh b/regress/tools-platform/tr.test index 32366311a55..18bf2fe62ac 100644 --- a/regress/tools/files/tr-test.sh +++ b/regress/tools-platform/tr.test @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: tr-test.sh,v 1.2 2005/11/24 19:46:45 rillig Exp $ +# $NetBSD: tr.test,v 1.1 2020/05/02 07:24:32 rillig Exp $ # set -e @@ -38,9 +38,8 @@ tr_test "eat-newlines" \ "foo${nl}bar${nl}" "foobar" -d "\\n" tr_test "eat-minus" \ "describe-function" "describefunction" -d "-" -# The following test does not work on NetBSD 1.6.2. -#tr_test "eat-minus-d" \ -# "describe-function" "escribefunction" -d "-d" +tr_test "eat-minus-d" \ + "describe-function" "escribefunction" -d -- "-d" tr_test "eat-d-minus" \ "describe-function" "escribefunction" -d "d-" diff --git a/regress/tools/Makefile b/regress/tools/Makefile index 14751360895..0d60b0c057b 100644 --- a/regress/tools/Makefile +++ b/regress/tools/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.15 2019/03/24 11:29:19 rillig Exp $ +# $NetBSD: Makefile,v 1.16 2020/05/02 07:24:31 rillig Exp $ # DISTNAME= # not applicable @@ -15,8 +15,6 @@ WRKSRC= ${WRKDIR} NO_CHECKSUM= yes PLIST_SRC= # none REGRESS_TESTS+= logging shquote -REGRESS_TESTS+= awk sed sh sort tar tr -USE_TOOLS+= awk sed sh sort tar tr TOOLS_CREATE+= script-dquot TOOLS_SCRIPT.script-dquot= \ diff --git a/regress/tools/files/sh-test.sh b/regress/tools/files/sh-test.sh deleted file mode 100644 index 93cd2211d35..00000000000 --- a/regress/tools/files/sh-test.sh +++ /dev/null @@ -1,44 +0,0 @@ -#! /bin/sh -# $NetBSD: sh-test.sh,v 1.3 2018/12/05 19:01:40 rillig Exp $ -# - -set -e - -mydir=`dirname "$0"` -. "${mydir}/tests.subr" - -# -# Functions specific for the sh testsuite. -# - -# usage: sh_test <testname> <input> <expected-output> <args...> -sh_test() { - testname=$1; input=$2; expected=$3; shift 3; - - testcase_start "${testname}" - output=`sh ${1+"$@"} <<EOF -$input -EOF -` - assert_equal "${testname}" "${expected}" "${output}" -} - -# usage: sh_assert_equals "testname" "expected" "got" -sh_assert_equals() { - - testcase_start "$1" - assert_equal "$1" "$2" "$3" -} - -# -# The actual test. -# - -nl=" -" - -# If this test fails because the result is "#define bindir \"", the -# tested shell may be from NetBSD 7.0, which is known to have this bug. -# Since NetBSD 8, this bug is fixed. See https://gnats.netbsd.org/43469. -line="#define bindir \"/usr/bin\" /* bar */" -sh_assert_equals "removing C comments" "#define bindir \"/usr/bin\" " "${line%%/\**}" |