summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjh <jh@FreeBSD.org>2009-12-12 18:18:46 +0000
committerjh <jh@FreeBSD.org>2009-12-12 18:18:46 +0000
commit6f2f9130ae5714e33ad56898dfeb3e346eabe1ac (patch)
treebaf10a3cfd8781a67dfd541bad7dcfd9be5bec94 /tools
parent1cb0051d8fdfdee7a6f9572c91c5c1f89d419c53 (diff)
downloadFreeBSD-src-6f2f9130ae5714e33ad56898dfeb3e346eabe1ac.zip
FreeBSD-src-6f2f9130ae5714e33ad56898dfeb3e346eabe1ac.tar.gz
Don't read the newline character to line buffer because lines are passed
to wcscoll(3). Newline characters could cause incorrect results when comparing lines. Also, if an input line didn't contain a newline character, it was omitted from the output. According to my interpretation, SUSv3 requires that the newline is always printed. Add regression tests for the cases. [1] PR: bin/140976 Submitted by: D'Arcy Cain (original version) [1] Approved by: trasz (mentor)
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/usr.bin/Makefile2
-rw-r--r--tools/regression/usr.bin/comm/Makefile4
-rw-r--r--tools/regression/usr.bin/comm/regress.00.out2
-rw-r--r--tools/regression/usr.bin/comm/regress.00a.in5
-rw-r--r--tools/regression/usr.bin/comm/regress.00b.in2
-rw-r--r--tools/regression/usr.bin/comm/regress.01.out2
-rw-r--r--tools/regression/usr.bin/comm/regress.01a.in5
-rw-r--r--tools/regression/usr.bin/comm/regress.01b.in2
-rw-r--r--tools/regression/usr.bin/comm/regress.02.out5
-rw-r--r--tools/regression/usr.bin/comm/regress.02a.in3
-rw-r--r--tools/regression/usr.bin/comm/regress.02b.in3
-rw-r--r--tools/regression/usr.bin/comm/regress.sh13
-rw-r--r--tools/regression/usr.bin/comm/regress.t6
13 files changed, 53 insertions, 1 deletions
diff --git a/tools/regression/usr.bin/Makefile b/tools/regression/usr.bin/Makefile
index 6e6d6f1..b88669b 100644
--- a/tools/regression/usr.bin/Makefile
+++ b/tools/regression/usr.bin/Makefile
@@ -1,5 +1,5 @@
# $FreeBSD$
-SUBDIR= calendar file2c join jot m4 printf sed tr uudecode uuencode xargs lastcomm
+SUBDIR= calendar comm file2c join jot m4 printf sed tr uudecode uuencode xargs lastcomm
.include <bsd.subdir.mk>
diff --git a/tools/regression/usr.bin/comm/Makefile b/tools/regression/usr.bin/comm/Makefile
new file mode 100644
index 0000000..b937d41
--- /dev/null
+++ b/tools/regression/usr.bin/comm/Makefile
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+all:
+ @m4 ${.CURDIR}/../regress.m4 ${.CURDIR}/regress.sh | sh /dev/stdin ${.CURDIR}
diff --git a/tools/regression/usr.bin/comm/regress.00.out b/tools/regression/usr.bin/comm/regress.00.out
new file mode 100644
index 0000000..89a65da
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.00.out
@@ -0,0 +1,2 @@
+a b
+e f g
diff --git a/tools/regression/usr.bin/comm/regress.00a.in b/tools/regression/usr.bin/comm/regress.00a.in
new file mode 100644
index 0000000..85b5cd5
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.00a.in
@@ -0,0 +1,5 @@
+a b
+c d
+e f
+e f g
+h i
diff --git a/tools/regression/usr.bin/comm/regress.00b.in b/tools/regression/usr.bin/comm/regress.00b.in
new file mode 100644
index 0000000..89a65da
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.00b.in
@@ -0,0 +1,2 @@
+a b
+e f g
diff --git a/tools/regression/usr.bin/comm/regress.01.out b/tools/regression/usr.bin/comm/regress.01.out
new file mode 100644
index 0000000..05ab154
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.01.out
@@ -0,0 +1,2 @@
+a b
+e f g
diff --git a/tools/regression/usr.bin/comm/regress.01a.in b/tools/regression/usr.bin/comm/regress.01a.in
new file mode 100644
index 0000000..78c410b
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.01a.in
@@ -0,0 +1,5 @@
+a b
+c d
+e f
+e f g
+h i
diff --git a/tools/regression/usr.bin/comm/regress.01b.in b/tools/regression/usr.bin/comm/regress.01b.in
new file mode 100644
index 0000000..05ab154
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.01b.in
@@ -0,0 +1,2 @@
+a b
+e f g
diff --git a/tools/regression/usr.bin/comm/regress.02.out b/tools/regression/usr.bin/comm/regress.02.out
new file mode 100644
index 0000000..a451adb
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.02.out
@@ -0,0 +1,5 @@
+a
+b
+ c
+ d
+ e
diff --git a/tools/regression/usr.bin/comm/regress.02a.in b/tools/regression/usr.bin/comm/regress.02a.in
new file mode 100644
index 0000000..1c943a9
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.02a.in
@@ -0,0 +1,3 @@
+a
+b
+c \ No newline at end of file
diff --git a/tools/regression/usr.bin/comm/regress.02b.in b/tools/regression/usr.bin/comm/regress.02b.in
new file mode 100644
index 0000000..36019ee
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.02b.in
@@ -0,0 +1,3 @@
+c
+d
+e \ No newline at end of file
diff --git a/tools/regression/usr.bin/comm/regress.sh b/tools/regression/usr.bin/comm/regress.sh
new file mode 100644
index 0000000..774093f
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.sh
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+LC_ALL=C; export LC_ALL
+
+echo 1..3
+
+REGRESSION_START($1)
+
+REGRESSION_TEST(`00', `comm -12 regress.00a.in regress.00b.in')
+REGRESSION_TEST(`01', `comm -12 regress.01a.in regress.01b.in')
+REGRESSION_TEST(`02', `comm regress.02a.in regress.02b.in')
+
+REGRESSION_END()
diff --git a/tools/regression/usr.bin/comm/regress.t b/tools/regression/usr.bin/comm/regress.t
new file mode 100644
index 0000000..a82aacd
--- /dev/null
+++ b/tools/regression/usr.bin/comm/regress.t
@@ -0,0 +1,6 @@
+#!/bin/sh
+# $FreeBSD$
+
+cd `dirname $0`
+
+m4 ../regress.m4 regress.sh | sh
OpenPOWER on IntegriCloud