summaryrefslogtreecommitdiffstats
path: root/usr.bin/printf
diff options
context:
space:
mode:
authorjmmv <jmmv@FreeBSD.org>2014-03-16 08:04:06 +0000
committerjmmv <jmmv@FreeBSD.org>2014-03-16 08:04:06 +0000
commit41a8d8c29552ddd9098cfb09a71927f503a28371 (patch)
treea434fba265da51ef79b1cfc4461e1080dbe53e90 /usr.bin/printf
parentb2e51e38a88412c17ce1160c247a6d673c0b2147 (diff)
downloadFreeBSD-src-41a8d8c29552ddd9098cfb09a71927f503a28371.zip
FreeBSD-src-41a8d8c29552ddd9098cfb09a71927f503a28371.tar.gz
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.
Diffstat (limited to 'usr.bin/printf')
-rw-r--r--usr.bin/printf/Makefile6
-rw-r--r--usr.bin/printf/tests/Makefile22
-rw-r--r--usr.bin/printf/tests/legacy_test.sh6
-rw-r--r--usr.bin/printf/tests/regress.b.out1
-rw-r--r--usr.bin/printf/tests/regress.d.out1
-rw-r--r--usr.bin/printf/tests/regress.f.out1
-rw-r--r--usr.bin/printf/tests/regress.l1.out1
-rw-r--r--usr.bin/printf/tests/regress.l2.out1
-rw-r--r--usr.bin/printf/tests/regress.m1.outbin0 -> 7 bytes
-rw-r--r--usr.bin/printf/tests/regress.m2.out1
-rw-r--r--usr.bin/printf/tests/regress.m3.out4
-rw-r--r--usr.bin/printf/tests/regress.m4.out1
-rw-r--r--usr.bin/printf/tests/regress.m5.out1
-rw-r--r--usr.bin/printf/tests/regress.s.out1
-rw-r--r--usr.bin/printf/tests/regress.sh23
-rw-r--r--usr.bin/printf/tests/regress.zero.out1
16 files changed, 71 insertions, 0 deletions
diff --git a/usr.bin/printf/Makefile b/usr.bin/printf/Makefile
index c91c4e3..31047c5 100644
--- a/usr.bin/printf/Makefile
+++ b/usr.bin/printf/Makefile
@@ -1,6 +1,12 @@
# @(#)Makefile 8.1 (Berkeley) 6/6/93
# $FreeBSD$
+.include <bsd.own.mk>
+
PROG= printf
+.if ${MK_TESTS} != "no"
+SUBDIR+= tests
+.endif
+
.include <bsd.prog.mk>
diff --git a/usr.bin/printf/tests/Makefile b/usr.bin/printf/tests/Makefile
new file mode 100644
index 0000000..da3f533
--- /dev/null
+++ b/usr.bin/printf/tests/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+TESTSDIR= ${TESTSBASE}/usr.bin/printf
+
+TAP_TESTS_SH= legacy_test
+
+FILESDIR= ${TESTSDIR}
+FILES= regress.b.out
+FILES+= regress.d.out
+FILES+= regress.f.out
+FILES+= regress.l1.out
+FILES+= regress.l2.out
+FILES+= regress.m1.out
+FILES+= regress.m2.out
+FILES+= regress.m3.out
+FILES+= regress.m4.out
+FILES+= regress.m5.out
+FILES+= regress.s.out
+FILES+= regress.sh
+FILES+= regress.zero.out
+
+.include <bsd.test.mk>
diff --git a/usr.bin/printf/tests/legacy_test.sh b/usr.bin/printf/tests/legacy_test.sh
new file mode 100644
index 0000000..1b6b806
--- /dev/null
+++ b/usr.bin/printf/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/printf/tests/regress.b.out b/usr.bin/printf/tests/regress.b.out
new file mode 100644
index 0000000..0373d93
--- /dev/null
+++ b/usr.bin/printf/tests/regress.b.out
@@ -0,0 +1 @@
+abcdef
diff --git a/usr.bin/printf/tests/regress.d.out b/usr.bin/printf/tests/regress.d.out
new file mode 100644
index 0000000..da83c08
--- /dev/null
+++ b/usr.bin/printf/tests/regress.d.out
@@ -0,0 +1 @@
+123, 123,00123,00123,00123
diff --git a/usr.bin/printf/tests/regress.f.out b/usr.bin/printf/tests/regress.f.out
new file mode 100644
index 0000000..127cb8a
--- /dev/null
+++ b/usr.bin/printf/tests/regress.f.out
@@ -0,0 +1 @@
+42.250000,-42.250 ,inf,nan
diff --git a/usr.bin/printf/tests/regress.l1.out b/usr.bin/printf/tests/regress.l1.out
new file mode 100644
index 0000000..9be0dc9
--- /dev/null
+++ b/usr.bin/printf/tests/regress.l1.out
@@ -0,0 +1 @@
+228
diff --git a/usr.bin/printf/tests/regress.l2.out b/usr.bin/printf/tests/regress.l2.out
new file mode 100644
index 0000000..9be0dc9
--- /dev/null
+++ b/usr.bin/printf/tests/regress.l2.out
@@ -0,0 +1 @@
+228
diff --git a/usr.bin/printf/tests/regress.m1.out b/usr.bin/printf/tests/regress.m1.out
new file mode 100644
index 0000000..a9e063e
--- /dev/null
+++ b/usr.bin/printf/tests/regress.m1.out
Binary files differ
diff --git a/usr.bin/printf/tests/regress.m2.out b/usr.bin/printf/tests/regress.m2.out
new file mode 100644
index 0000000..8baef1b
--- /dev/null
+++ b/usr.bin/printf/tests/regress.m2.out
@@ -0,0 +1 @@
+abc
diff --git a/usr.bin/printf/tests/regress.m3.out b/usr.bin/printf/tests/regress.m3.out
new file mode 100644
index 0000000..bbe4e70
--- /dev/null
+++ b/usr.bin/printf/tests/regress.m3.out
@@ -0,0 +1,4 @@
+%abc
+%def
+%ghi
+%jkl
diff --git a/usr.bin/printf/tests/regress.m4.out b/usr.bin/printf/tests/regress.m4.out
new file mode 100644
index 0000000..5e0b5d4
--- /dev/null
+++ b/usr.bin/printf/tests/regress.m4.out
@@ -0,0 +1 @@
+0,0.000000,,
diff --git a/usr.bin/printf/tests/regress.m5.out b/usr.bin/printf/tests/regress.m5.out
new file mode 100644
index 0000000..2838468
--- /dev/null
+++ b/usr.bin/printf/tests/regress.m5.out
@@ -0,0 +1 @@
+-d
diff --git a/usr.bin/printf/tests/regress.s.out b/usr.bin/printf/tests/regress.s.out
new file mode 100644
index 0000000..3d572b9
--- /dev/null
+++ b/usr.bin/printf/tests/regress.s.out
@@ -0,0 +1 @@
+abc,abc
diff --git a/usr.bin/printf/tests/regress.sh b/usr.bin/printf/tests/regress.sh
new file mode 100644
index 0000000..84e183b
--- /dev/null
+++ b/usr.bin/printf/tests/regress.sh
@@ -0,0 +1,23 @@
+# $FreeBSD$
+
+REGRESSION_START($1)
+
+echo '1..15'
+
+REGRESSION_TEST(`b', `printf "abc%b%b" "def\n" "\cghi"')
+REGRESSION_TEST(`d', `printf "%d,%5d,%.5d,%0*d,%.*d\n" 123 123 123 5 123 5 123')
+REGRESSION_TEST(`f', `printf "%f,%-8.3f,%f,%f\n" +42.25 -42.25 inf nan')
+REGRESSION_TEST(`l1', `LC_ALL=en_US.ISO8859-1 printf "%d\n" $(printf \"\\344)')
+REGRESSION_TEST(`l2', `LC_ALL=en_US.UTF-8 printf "%d\n" $(printf \"\\303\\244)')
+REGRESSION_TEST(`m1', `printf "%c%%%d\0\045\n" abc \"abc')
+REGRESSION_TEST(`m2', `printf "abc\n\cdef"')
+REGRESSION_TEST(`m3', `printf "%%%s\n" abc def ghi jkl')
+REGRESSION_TEST(`m4', `printf "%d,%f,%c,%s\n"')
+REGRESSION_TEST(`m5', `printf -- "-d\n"')
+REGRESSION_TEST(`s', `printf "%.3s,%-5s\n" abcd abc')
+REGRESSION_TEST('zero', `printf "%u%u\n" 15')
+REGRESSION_TEST('zero', `printf "%d%d\n" 15')
+REGRESSION_TEST('zero', `printf "%d%u\n" 15')
+REGRESSION_TEST('zero', `printf "%u%d\n" 15')
+
+REGRESSION_END()
diff --git a/usr.bin/printf/tests/regress.zero.out b/usr.bin/printf/tests/regress.zero.out
new file mode 100644
index 0000000..fa8f08c
--- /dev/null
+++ b/usr.bin/printf/tests/regress.zero.out
@@ -0,0 +1 @@
+150
OpenPOWER on IntegriCloud