Port date/bin/tests to ATF
Phabric: D545 Approved by: jmmv (mentor) Submitted by: keramida (earlier version) MFC after: 2 weeks Sponsored by: Google, Inc Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
12e2df3c36
commit
9f31240773
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=269903
@ -4,6 +4,6 @@
|
||||
|
||||
TESTSDIR= ${TESTSBASE}/bin/date
|
||||
|
||||
TAP_TESTS_SH= legacy_test
|
||||
ATF_TESTS_SH= format_string_test
|
||||
|
||||
.include <bsd.test.mk>
|
||||
|
92
bin/date/tests/format_string_test.sh
Executable file
92
bin/date/tests/format_string_test.sh
Executable file
@ -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"
|
||||
}
|
@ -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"
|
@ -4168,6 +4168,7 @@ OLD_FILES+=usr/share/aclocal/atf-common.m4
|
||||
OLD_FILES+=usr/share/aclocal/atf-sh.m4
|
||||
OLD_DIRS+=usr/share/aclocal
|
||||
OLD_FILES+=usr/tests/bin/chown/units_basics
|
||||
OLD_FILES+=usr/tests/bin/date/legacy_test
|
||||
OLD_FILES+=usr/tests/bin/sh/legacy_test
|
||||
OLD_FILES+=usr/tests/usr.bin/atf/Kyuafile
|
||||
OLD_FILES+=usr/tests/usr.bin/atf/atf-sh/Kyuafile
|
||||
|
Loading…
Reference in New Issue
Block a user