summaryrefslogtreecommitdiffstats
path: root/bin/date
diff options
context:
space:
mode:
Diffstat (limited to 'bin/date')
-rw-r--r--bin/date/tests/Makefile2
-rwxr-xr-xbin/date/tests/format_string_test.sh92
-rw-r--r--bin/date/tests/legacy_test.sh91
3 files changed, 93 insertions, 92 deletions
diff --git a/bin/date/tests/Makefile b/bin/date/tests/Makefile
index 2301dcf..d023195 100644
--- a/bin/date/tests/Makefile
+++ b/bin/date/tests/Makefile
@@ -4,6 +4,6 @@
TESTSDIR= ${TESTSBASE}/bin/date
-TAP_TESTS_SH= legacy_test
+ATF_TESTS_SH= format_string_test
.include <bsd.test.mk>
diff --git a/bin/date/tests/format_string_test.sh b/bin/date/tests/format_string_test.sh
new file mode 100755
index 0000000..0bd4f1e
--- /dev/null
+++ b/bin/date/tests/format_string_test.sh
@@ -0,0 +1,92 @@
+#
+# Regression tests for date(1)
+#
+# Submitted by Edwin Groothuis <edwin@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+#
+# These two date/times have been chosen carefully -- they
+# create both the single digit and double/multidigit version of
+# the values.
+#
+# To create a new one, make sure you are using the UTC timezone!
+#
+
+TEST1=3222243 # 1970-02-07 07:04:03
+TEST2=1005600000 # 2001-11-12 21:11:12
+
+check()
+{
+ local format_string exp_output_1 exp_output_2
+
+ format_string=${1}
+ exp_output_1=${2}
+ exp_output_2=${3}
+
+ atf_check -o "inline:${exp_output_1}\n" \
+ date -r ${TEST1} +%${format_string}
+ atf_check -o "inline:${exp_output_2}\n" \
+ date -r ${TEST2} +%${format_string}
+}
+
+format_string_test()
+{
+ local desc exp_output_1 exp_output_2 flag
+
+ desc=${1}
+ flag=${2}
+ exp_output_1=${3}
+ exp_output_2=${4}
+
+ atf_test_case ${desc}_test
+ eval "
+${desc}_test_body() {
+ check ${flag} '${exp_output_1}' '${exp_output_2}';
+}"
+ atf_add_test_case ${desc}_test
+}
+
+atf_init_test_cases()
+{
+ format_string_test A A Saturday Monday
+ format_string_test a a Sat Mon
+ format_string_test B B February November
+ format_string_test b b Feb Nov
+ format_string_test C C 19 20
+ format_string_test c c "Sat Feb 7 07:04:03 1970" "Mon Nov 12 21:20:00 2001"
+ format_string_test D D 02/07/70 11/12/01
+ format_string_test d d 07 12
+ format_string_test e e " 7" 12
+ format_string_test F F "1970-02-07" "2001-11-12"
+ format_string_test G G 1970 2001
+ format_string_test g g 70 01
+ format_string_test H H 07 21
+ format_string_test h h Feb Nov
+ format_string_test I I 07 09
+ format_string_test j j 038 316
+ format_string_test k k " 7" 21
+ format_string_test l l " 7" " 9"
+ format_string_test M M 04 20
+ format_string_test m m 02 11
+ format_string_test p p AM PM
+ format_string_test R R 07:04 21:20
+ format_string_test r r "07:04:03 AM" "09:20:00 PM"
+ format_string_test S S 03 00
+ format_string_test s s ${TEST1} ${TEST2}
+ format_string_test U U 05 45
+ format_string_test u u 6 1
+ format_string_test V V 06 46
+ format_string_test v v " 7-Feb-1970" "12-Nov-2001"
+ format_string_test W W 05 46
+ format_string_test w w 6 1
+ format_string_test X X "07:04:03" "21:20:00"
+ format_string_test x x "02/07/70" "11/12/01"
+ format_string_test Y Y 1970 2001
+ format_string_test y y 70 01
+ format_string_test Z Z UTC UTC
+ format_string_test z z +0000 +0000
+ format_string_test percent % % %
+ format_string_test plus + "Sat Feb 7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001"
+}
diff --git a/bin/date/tests/legacy_test.sh b/bin/date/tests/legacy_test.sh
deleted file mode 100644
index 981bdd0..0000000
--- a/bin/date/tests/legacy_test.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/sh
-
-#
-# Regression tests for date(1)
-#
-# Submitted by Edwin Groothuis <edwin@FreeBSD.org>
-#
-# $FreeBSD$
-#
-
-#
-# These two date/times have been chosen carefully, they
-# create both the single digit and double/multidigit version of
-# the values.
-#
-# To create a new one, make sure you are using the UTC timezone!
-#
-
-TEST1=3222243 # 1970-02-07 07:04:03
-TEST2=1005600000 # 2001-11-12 21:11:12
-
-export LC_ALL=C
-export TZ=UTC
-count=0
-
-check()
-{
- S=$1
- A1=$2
- A2=$3
-
- count=`expr ${count} + 1`
-
- if [ -z "${A2}" ]; then A2=${A1}; fi
-
- R=`date -r ${TEST1} +%${S}`
- if [ "${R}" = "${A1}" ]; then
- echo "ok ${S}{t1}"
- else
- echo "no ok ${S}{t1} - (got ${R}, expected ${A1})"
- fi
-
- R=`date -r ${TEST2} +%${S}`
- if [ "${R}" = "${A2}" ]; then
- echo "ok ${S}{t2}"
- else
- echo "no ok ${S}{t2} - (got ${R}, expected ${A2})"
- fi
-}
-
-echo "1..78"
-
-check A Saturday Monday
-check a Sat Mon
-check B February November
-check b Feb Nov
-check C 19 20
-check c "Sat Feb 7 07:04:03 1970" "Mon Nov 12 21:20:00 2001"
-check D 02/07/70 11/12/01
-check d 07 12
-check e " 7" 12
-check F "1970-02-07" "2001-11-12"
-check G 1970 2001
-check g 70 01
-check H 07 21
-check h Feb Nov
-check I 07 09
-check j 038 316
-check k " 7" 21
-check l " 7" " 9"
-check M 04 20
-check m 02 11
-check p AM PM
-check R 07:04 21:20
-check r "07:04:03 AM" "09:20:00 PM"
-check S 03 00
-check s ${TEST1} ${TEST2}
-check U 05 45
-check u 6 1
-check V 06 46
-check v " 7-Feb-1970" "12-Nov-2001"
-check W 05 46
-check w 6 1
-check X "07:04:03" "21:20:00"
-check x "02/07/70" "11/12/01"
-check Y 1970 2001
-check y 70 01
-check Z UTC UTC
-check z +0000 +0000
-check % % %
-check + "Sat Feb 7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001"
OpenPOWER on IntegriCloud