date: fix date-works test, add date-works-1 one (currently fails)

This commit is contained in:
Denis Vlasenko 2008-04-27 20:58:43 +00:00
parent 7dff4333d6
commit 4809a9f78e
2 changed files with 138 additions and 10 deletions

View File

@ -4,20 +4,20 @@ dt=`echo "$dt" | sed 's/^[^ ][^ ][^ ] [^ ][^ ][^ ] [ 0123][0-9] [012][0-9]:[0-5]
test x"$dt" = x"OK" test x"$dt" = x"OK"
dt=`busybox date -d 1:2` dt=`busybox date -d 1:2`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b12-19`
test x"$dt" = x"Fri Apr 25 01:02:00" test x"$dt" = x"01:02:00"
dt=`busybox date -d 1:2:3` dt=`busybox date -d 1:2:3`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b12-19`
test x"$dt" = x"Fri Apr 25 01:02:03" test x"$dt" = x"01:02:03"
dt=`busybox date -d 1.2-3:4` dt=`busybox date -d 1.2-3:4`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b5-19`
test x"$dt" = x"Wed Jan 2 03:04:00" test x"$dt" = x"Jan 2 03:04:00"
dt=`busybox date -d 1.2-3:4:5` dt=`busybox date -d 1.2-3:4:5`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b5-19`
test x"$dt" = x"Wed Jan 2 03:04:05" test x"$dt" = x"Jan 2 03:04:05"
dt=`busybox date -d 1999.1.2-3:4` dt=`busybox date -d 1999.1.2-3:4`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b1-19`
@ -32,8 +32,8 @@ dt=`echo "$dt" | cut -b1-19`
test x"$dt" = x"Sat Jan 2 03:04:05" test x"$dt" = x"Sat Jan 2 03:04:05"
dt=`busybox date -d 01231133` dt=`busybox date -d 01231133`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b5-19`
test x"$dt" = x"Wed Jan 23 11:33:00" test x"$dt" = x"Jan 23 11:33:00"
dt=`busybox date -d 012311332000` dt=`busybox date -d 012311332000`
dt=`echo "$dt" | cut -b1-19` dt=`echo "$dt" | cut -b1-19`

128
testsuite/date/date-works-1 Normal file
View File

@ -0,0 +1,128 @@
dt=`busybox date -d 1:2 +%T`
test x"$dt" = x"01:02:00"
dt=`busybox date -d 1:2:3 +%T`
test x"$dt" = x"01:02:03"
host_date=/bin/date
# date (GNU coreutils) 6.10 reports:
# date: invalid date '1.2-3:4'
# busybox 1.11.0.svn date reports:
# date: invalid date '1/2 3:4'
hdt=`$host_date -d '1/2 3:4'`
dt=`busybox date -d 1.2-3:4`
test x"$hdt" = x"$dt"
hdt=`$host_date -d '1/2 3:4:5'`
dt=`busybox date -d 1.2-3:4:5`
test x"$hdt" = x"$dt"
hdt=`$host_date -d '1/2/1999 3:4'`
dt=`busybox date -d 1999.1.2-3:4`
test x"$hdt" = x"$dt"
hdt=`$host_date -d '1/2/1999 3:4:5'`
dt=`busybox date -d 1999.1.2-3:4:5`
test x"$hdt" = x"$dt"
hdt=`$host_date -d '1999-1-2 3:4:5'`
dt=`busybox date -d '1999-1-2 3:4:5'`
test x"$hdt" = x"$dt"
# Avoid using week day in this evaluation, as it's mostly different every year
# date (GNU coreutils) 6.10 reports:
# date: invalid date '01231133'
dt=`busybox date -d 01231133 +%c`
dt=`echo "$dt" | cut -b5-19`
test x"$dt" = x"Jan 23 11:33:00"
# date (GNU coreutils) 6.10 reports:
# date: invalid date '012311332000'
dt=`busybox date -d 012311332000 +%c`
test x"$dt" = x"Sun Jan 23 11:33:00 2000"
# date (GNU coreutils) 6.10 reports:
# date: invalid date '012311332000'
dt=`busybox date -d 012311332000.30 +%c`
test x"$dt" = x"Sun Jan 23 11:33:30 2000"
lcbbd="LC_ALL=C busybox date"
wd=$(eval $lcbbd +%a) # weekday name
mn=$(eval $lcbbd +%b) # month name
dm=$(eval $lcbbd +%e) # day of month, space padded
h=$(eval $lcbbd +%H) # hour, zero padded
m=$(eval $lcbbd +%M) # minute, zero padded
s=$(eval $lcbbd +%S) # second, zero padded
z=$(eval $lcbbd -u +%Z) # time zone abbreviation
y=$(eval $lcbbd +%Y) # year
res=OK
case $wd in
Sun)
;;
Mon)
;;
Tue)
;;
Wed)
;;
Thu)
;;
Fri)
;;
Sat)
;;
*)
res=BAD
;;
esac
case $mn in
Jan)
;;
Feb)
;;
Mar)
;;
Apr)
;;
May)
;;
Jun)
;;
Jul)
;;
Aug)
;;
Sep)
;;
Oct)
;;
Nov)
;;
Dec)
;;
*)
res=BAD
;;
esac
dm=${dm# *}
[ $dm -ge 1 ] && [ $dm -le 31 ] || res=BAD
h=${h#0}
[ $h -ge 0 ] && [ $h -le 23 ] || res=BAD
m=${m#0}
[ $m -ge 0 ] && [ $m -le 59 ] || res=BAD
s=${s#0}
[ $s -ge 0 ] && [ $s -le 59 ] || res=BAD
[ $z = UTC ] || res=BAD
[ $y -ge 1970 ] || res=BAD
test x"$res" = xOK
if dt=`busybox date -d 012311332000.30 %+c`; then
echo "Expected this to fail with: \"date: invalid date '%+c'\"" >&2
exit 1
fi