135 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
unset LANG
 | 
						|
unset LANGUAGE
 | 
						|
unset LC_TIME
 | 
						|
unset LC_ALL
 | 
						|
 | 
						|
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'
 | 
						|
 | 
						|
# TODO: (1) compare with strings, not "host date"
 | 
						|
# (2) implement d/m[/y] hh:mm[:ss] fmt in date applet
 | 
						|
#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"
 | 
						|
 | 
						|
# Avoiding 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 200001231133 +%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 200001231133.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
 | 
						|
 | 
						|
# This should error out (by showing usage text). Testing for that
 | 
						|
dt=`busybox date -d 012311332000.30 %+c 2>&1 | head -n 1`
 | 
						|
test x"${dt##BusyBox * multi-call binary*}" = x""
 |