summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
Diffstat (limited to 'regress')
-rw-r--r--regress/tools/Makefile6
-rw-r--r--regress/tools/files/sed-test.sh39
2 files changed, 42 insertions, 3 deletions
diff --git a/regress/tools/Makefile b/regress/tools/Makefile
index 310144d1e5f..211cb998255 100644
--- a/regress/tools/Makefile
+++ b/regress/tools/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4 2006/06/25 21:47:28 rillig Exp $
+# $NetBSD: Makefile,v 1.5 2006/09/20 07:39:54 rillig Exp $
#
DISTNAME= # not applicable
@@ -12,8 +12,8 @@ COMMENT= Test whether the TOOLS do what I expect
NO_CHECKSUM= yes
WRKSRC= ${WRKDIR}
-REGRESS_TESTS= awk sort tr
-USE_TOOLS+= awk sort tr
+REGRESS_TESTS= awk sed sort tr
+USE_TOOLS+= awk sed sort tr
do-build:
.for t in ${REGRESS_TESTS}
diff --git a/regress/tools/files/sed-test.sh b/regress/tools/files/sed-test.sh
new file mode 100644
index 00000000000..26f10bd43e6
--- /dev/null
+++ b/regress/tools/files/sed-test.sh
@@ -0,0 +1,39 @@
+#! /bin/sh
+# $NetBSD: sed-test.sh,v 1.1 2006/09/20 07:39:55 rillig Exp $
+#
+
+set -e
+
+mydir=`dirname "$0"`
+. "${mydir}/tests.subr"
+
+#
+# Functions specific for the "sed" testsuite.
+#
+
+# usage: sed_test <testname> <input> <expected-output> <args...>
+sed_test() {
+ testname=$1; input=$2; expected=$3; shift 3;
+
+ testcase_start "${testname}"
+ output=`sed "$@" <<EOF
+$input
+EOF
+`
+ assert_equal "${testname}" "${expected}" "${output}"
+}
+
+#
+# The actual test.
+#
+
+nl="
+"
+
+#
+# Make sure that sed(1) can handle character classes.
+#
+sed_test "[[:character classes:]]" \
+ "hello${nl}foo bar" \
+ "hello" \
+ -e "/[[:space:]]/d"