summaryrefslogtreecommitdiff
path: root/usr.bin/tr
diff options
context:
space:
mode:
authorJulio Merino <jmmv@FreeBSD.org>2014-03-16 08:04:06 +0000
committerJulio Merino <jmmv@FreeBSD.org>2014-03-16 08:04:06 +0000
commit3a92d97ff0f22d21608e1c19b83104c4937523b6 (patch)
treea434fba265da51ef79b1cfc4461e1080dbe53e90 /usr.bin/tr
parentd14afb2adcbf0db6625f582abf0c7154e4e005bd (diff)
downloadsrc-test-3a92d97ff0f22d21608e1c19b83104c4937523b6.tar.gz
src-test-3a92d97ff0f22d21608e1c19b83104c4937523b6.zip
Migrate most of tools/regression/usr.bin/ to the new tests layout.
I'm starting with the easy cases. The leftovers need to be looked at a bit more closely. Note that this change _does_ modify the code of the old tests. This is required in order to allow the code to locate the data files in the source directory instead of the current directory, because Kyua automatically changes the latter to a temporary directory. Also note that at least one test is known to be broken here. Actually, the test is not really broken: it's marked as a TODO but unfortunately Kyua's TAP parser currently does not understand that. Will have to be fixed separately.
Notes
Notes: svn path=/head/; revision=263227
Diffstat (limited to 'usr.bin/tr')
-rw-r--r--usr.bin/tr/Makefile6
-rw-r--r--usr.bin/tr/tests/Makefile26
-rw-r--r--usr.bin/tr/tests/legacy_test.sh6
-rw-r--r--usr.bin/tr/tests/regress.00.out4
-rw-r--r--usr.bin/tr/tests/regress.01.out4
-rw-r--r--usr.bin/tr/tests/regress.02.out4
-rw-r--r--usr.bin/tr/tests/regress.03.out4
-rw-r--r--usr.bin/tr/tests/regress.04.out4
-rw-r--r--usr.bin/tr/tests/regress.05.out4
-rw-r--r--usr.bin/tr/tests/regress.06.out9
-rw-r--r--usr.bin/tr/tests/regress.07.out9
-rw-r--r--usr.bin/tr/tests/regress.08.out9
-rw-r--r--usr.bin/tr/tests/regress.09.out1
-rw-r--r--usr.bin/tr/tests/regress.0a.out1
-rw-r--r--usr.bin/tr/tests/regress.0b.out1
-rw-r--r--usr.bin/tr/tests/regress.0c.out1
-rw-r--r--usr.bin/tr/tests/regress.0d.out1
-rw-r--r--usr.bin/tr/tests/regress.in4
-rw-r--r--usr.bin/tr/tests/regress.sh22
-rw-r--r--usr.bin/tr/tests/regress2.in9
20 files changed, 129 insertions, 0 deletions
diff --git a/usr.bin/tr/Makefile b/usr.bin/tr/Makefile
index 00bdd8d5bb7aa..7c65daeb8dba1 100644
--- a/usr.bin/tr/Makefile
+++ b/usr.bin/tr/Makefile
@@ -1,7 +1,13 @@
# @(#)Makefile 8.1 (Berkeley) 6/6/93
# $FreeBSD$
+.include <bsd.own.mk>
+
PROG= tr
SRCS= cmap.c cset.c str.c tr.c
+.if ${MK_TESTS} != "no"
+SUBDIR+= tests
+.endif
+
.include <bsd.prog.mk>
diff --git a/usr.bin/tr/tests/Makefile b/usr.bin/tr/tests/Makefile
new file mode 100644
index 0000000000000..58e4fadc65ec5
--- /dev/null
+++ b/usr.bin/tr/tests/Makefile
@@ -0,0 +1,26 @@
+# $FreeBSD$
+
+TESTSDIR= ${TESTSBASE}/usr.bin/tr
+
+TAP_TESTS_SH= legacy_test
+
+FILESDIR= ${TESTSDIR}
+FILES= regress.00.out
+FILES+= regress.01.out
+FILES+= regress.02.out
+FILES+= regress.03.out
+FILES+= regress.04.out
+FILES+= regress.05.out
+FILES+= regress.06.out
+FILES+= regress.07.out
+FILES+= regress.08.out
+FILES+= regress.09.out
+FILES+= regress.0a.out
+FILES+= regress.0b.out
+FILES+= regress.0c.out
+FILES+= regress.0d.out
+FILES+= regress.in
+FILES+= regress.sh
+FILES+= regress2.in
+
+.include <bsd.test.mk>
diff --git a/usr.bin/tr/tests/legacy_test.sh b/usr.bin/tr/tests/legacy_test.sh
new file mode 100644
index 0000000000000..1b6b806c59802
--- /dev/null
+++ b/usr.bin/tr/tests/legacy_test.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+# $FreeBSD$
+
+SRCDIR="$(dirname "${0}")"; export SRCDIR
+
+m4 "${SRCDIR}/../regress.m4" "${SRCDIR}/regress.sh" | sh
diff --git a/usr.bin/tr/tests/regress.00.out b/usr.bin/tr/tests/regress.00.out
new file mode 100644
index 0000000000000..5a7d1c7c11a1e
--- /dev/null
+++ b/usr.bin/tr/tests/regress.00.out
@@ -0,0 +1,4 @@
+qui3k 2rown
+fox jump54
+ov5r th5 l1zy
+4og
diff --git a/usr.bin/tr/tests/regress.01.out b/usr.bin/tr/tests/regress.01.out
new file mode 100644
index 0000000000000..5252b480a520b
--- /dev/null
+++ b/usr.bin/tr/tests/regress.01.out
@@ -0,0 +1,4 @@
+quick brown
+fox jumped
+over the lazy
+dog
diff --git a/usr.bin/tr/tests/regress.02.out b/usr.bin/tr/tests/regress.02.out
new file mode 100644
index 0000000000000..67a6dea8adb29
--- /dev/null
+++ b/usr.bin/tr/tests/regress.02.out
@@ -0,0 +1,4 @@
+quik brown
+fox jumpd
+ovr th lzy
+do
diff --git a/usr.bin/tr/tests/regress.03.out b/usr.bin/tr/tests/regress.03.out
new file mode 100644
index 0000000000000..c18e3cf5b6a96
--- /dev/null
+++ b/usr.bin/tr/tests/regress.03.out
@@ -0,0 +1,4 @@
+QUICK BROWN
+FOX JUMPED
+OVER THE LAZY
+DOG
diff --git a/usr.bin/tr/tests/regress.04.out b/usr.bin/tr/tests/regress.04.out
new file mode 100644
index 0000000000000..c01413cfb1412
--- /dev/null
+++ b/usr.bin/tr/tests/regress.04.out
@@ -0,0 +1,4 @@
+..... .....
+... ......
+.... ... ....
+...
diff --git a/usr.bin/tr/tests/regress.05.out b/usr.bin/tr/tests/regress.05.out
new file mode 100644
index 0000000000000..5252b480a520b
--- /dev/null
+++ b/usr.bin/tr/tests/regress.05.out
@@ -0,0 +1,4 @@
+quick brown
+fox jumped
+over the lazy
+dog
diff --git a/usr.bin/tr/tests/regress.06.out b/usr.bin/tr/tests/regress.06.out
new file mode 100644
index 0000000000000..5ca0a4fe6f5cc
--- /dev/null
+++ b/usr.bin/tr/tests/regress.06.out
@@ -0,0 +1,9 @@
+??? bottles of beer on the wall, ??? bottles of beer.
+Take one down and pass it around - ?? bottles of beer on the wall.
+?? bottles of beer on the wall, ?? bottles of beer.
+Take one down and pass it around - ?? bottles of beer on the wall.
+...
+? bottles of beer on the wall, ? bottles of beer!!!
+Take one down and pass it around - ? bottle of beer on the wall.
+? bottle of beer on the wall, ? bottle of beer!!!
+Take it down and pass it around - NO MORE bottles of beer on the wall!!!
diff --git a/usr.bin/tr/tests/regress.07.out b/usr.bin/tr/tests/regress.07.out
new file mode 100644
index 0000000000000..999fe478f92c3
--- /dev/null
+++ b/usr.bin/tr/tests/regress.07.out
@@ -0,0 +1,9 @@
+### ####### ## #### ## ### ####, ### ####### ## ####.
+#### ### #### ### #### ## ###### - ## ####### ## #### ## ### ####.
+## ####### ## #### ## ### ####, ## ####### ## ####.
+#### ### #### ### #### ## ###### - ## ####### ## #### ## ### ####.
+...
+# ####### ## #### ## ### ####, # ####### ## ####!!!
+#### ### #### ### #### ## ###### - # ###### ## #### ## ### ####.
+# ###### ## #### ## ### ####, # ###### ## ####!!!
+#### ## #### ### #### ## ###### - ## #### ####### ## #### ## ### ####!!!
diff --git a/usr.bin/tr/tests/regress.08.out b/usr.bin/tr/tests/regress.08.out
new file mode 100644
index 0000000000000..34abcc1d8b0a4
--- /dev/null
+++ b/usr.bin/tr/tests/regress.08.out
@@ -0,0 +1,9 @@
+100,100.
+-99.
+99,99.
+-98.
+...
+2,2!!!
+-1.
+1,1!!!
+-!!!
diff --git a/usr.bin/tr/tests/regress.09.out b/usr.bin/tr/tests/regress.09.out
new file mode 100644
index 0000000000000..2419e3a771396
--- /dev/null
+++ b/usr.bin/tr/tests/regress.09.out
@@ -0,0 +1 @@
+?#
diff --git a/usr.bin/tr/tests/regress.0a.out b/usr.bin/tr/tests/regress.0a.out
new file mode 100644
index 0000000000000..e703f63ac4592
--- /dev/null
+++ b/usr.bin/tr/tests/regress.0a.out
@@ -0,0 +1 @@
+$?$$$$$$$$
diff --git a/usr.bin/tr/tests/regress.0b.out b/usr.bin/tr/tests/regress.0b.out
new file mode 100644
index 0000000000000..8d26586ca7753
--- /dev/null
+++ b/usr.bin/tr/tests/regress.0b.out
@@ -0,0 +1 @@
+100befbeeea100befbeeaeedadaad99befbeeea99befbeeea99befbeeaeedadaad98befbeeea2befbeeea2befbeeaeedadaad1befbeeea1befbeeea1befbeeaedadaadEbefbeeea
diff --git a/usr.bin/tr/tests/regress.0c.out b/usr.bin/tr/tests/regress.0c.out
new file mode 100644
index 0000000000000..4e125eaadb4fe
--- /dev/null
+++ b/usr.bin/tr/tests/regress.0c.out
@@ -0,0 +1 @@
+[[[[
diff --git a/usr.bin/tr/tests/regress.0d.out b/usr.bin/tr/tests/regress.0d.out
new file mode 100644
index 0000000000000..8b137891791fe
--- /dev/null
+++ b/usr.bin/tr/tests/regress.0d.out
@@ -0,0 +1 @@
+
diff --git a/usr.bin/tr/tests/regress.in b/usr.bin/tr/tests/regress.in
new file mode 100644
index 0000000000000..5252b480a520b
--- /dev/null
+++ b/usr.bin/tr/tests/regress.in
@@ -0,0 +1,4 @@
+quick brown
+fox jumped
+over the lazy
+dog
diff --git a/usr.bin/tr/tests/regress.sh b/usr.bin/tr/tests/regress.sh
new file mode 100644
index 0000000000000..682cf23713928
--- /dev/null
+++ b/usr.bin/tr/tests/regress.sh
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+echo 1..14
+
+REGRESSION_START($1)
+
+REGRESSION_TEST(`00', `tr abcde 12345 <${SRCDIR}/regress.in')
+REGRESSION_TEST(`01', `tr 12345 abcde <${SRCDIR}/regress.in')
+REGRESSION_TEST(`02', `tr -d aceg <${SRCDIR}/regress.in')
+REGRESSION_TEST(`03', `tr "[[:lower:]]" "[[:upper:]]" <${SRCDIR}/regress.in')
+REGRESSION_TEST(`04', `tr "[[:alpha:]]" . <${SRCDIR}/regress.in')
+REGRESSION_TEST(`05', `tr "[[:lower:]]" "[[:upper:]]" <${SRCDIR}/regress.in | tr "[[:upper:]]" "[[:lower:]]"')
+REGRESSION_TEST(`06', `tr "[[:digit:]]" "?" <${SRCDIR}/regress2.in')
+REGRESSION_TEST(`07', `tr "[[:alnum:]]" "#" <${SRCDIR}/regress2.in')
+REGRESSION_TEST(`08', `tr "[[:upper:]]" "[[:lower:]]" <${SRCDIR}/regress2.in | tr -d "[^[:alpha:]] "')
+REGRESSION_TEST(`09', `printf "\\f\\r\\n" | tr "\\014\\r" "?#"')
+REGRESSION_TEST(`0a', `printf "0xdeadbeef\\n" | tr "x[[:xdigit:]]" "?\$"')
+REGRESSION_TEST(`0b', `(tr -cd "[[:xdigit:]]" <${SRCDIR}/regress2.in ; echo)')
+REGRESSION_TEST(`0c', `echo "[[[[]]]]" | tr -d "[=]=]"')
+REGRESSION_TEST(`0d', `echo "]=[" | tr -d "[=]"')
+
+REGRESSION_END()
diff --git a/usr.bin/tr/tests/regress2.in b/usr.bin/tr/tests/regress2.in
new file mode 100644
index 0000000000000..c416463d24fd3
--- /dev/null
+++ b/usr.bin/tr/tests/regress2.in
@@ -0,0 +1,9 @@
+100 bottles of beer on the wall, 100 bottles of beer.
+Take one down and pass it around - 99 bottles of beer on the wall.
+99 bottles of beer on the wall, 99 bottles of beer.
+Take one down and pass it around - 98 bottles of beer on the wall.
+...
+2 bottles of beer on the wall, 2 bottles of beer!!!
+Take one down and pass it around - 1 bottle of beer on the wall.
+1 bottle of beer on the wall, 1 bottle of beer!!!
+Take it down and pass it around - NO MORE bottles of beer on the wall!!!