diff options
author | jh <jh@FreeBSD.org> | 2009-12-12 18:18:46 +0000 |
---|---|---|
committer | jh <jh@FreeBSD.org> | 2009-12-12 18:18:46 +0000 |
commit | 6f2f9130ae5714e33ad56898dfeb3e346eabe1ac (patch) | |
tree | baf10a3cfd8781a67dfd541bad7dcfd9be5bec94 /tools | |
parent | 1cb0051d8fdfdee7a6f9572c91c5c1f89d419c53 (diff) | |
download | FreeBSD-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/Makefile | 2 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/Makefile | 4 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.00.out | 2 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.00a.in | 5 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.00b.in | 2 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.01.out | 2 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.01a.in | 5 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.01b.in | 2 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.02.out | 5 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.02a.in | 3 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.02b.in | 3 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.sh | 13 | ||||
-rw-r--r-- | tools/regression/usr.bin/comm/regress.t | 6 |
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 |