1#!/bin/sh
2
3#
4# Regression tests for date(1)
5#
6# Submitted by Edwin Groothuis <edwin@FreeBSD.org>
7#
8# $FreeBSD$
9#
10
11#
12# These two date/times have been chosen carefully, they
13# create both the single digit and double/multidigit version of
14# the values.
15#
16# To create a new one, make sure you are using the UTC timezone!
17#
18
19TEST1=3222243		# 1970-02-07 07:04:03
20TEST2=1005600000	# 2001-11-12 21:11:12
21
22export LC_ALL=C
23export TZ=UTC
24count=0
25
26check()
27{
28	S=$1
29	A1=$2
30	A2=$3
31
32	count=`expr ${count} + 1`
33
34	if [ -z "${A2}" ]; then A2=${A1}; fi
35
36	R=`date -r ${TEST1} +%${S}`
37	if [ "${R}" = "${A1}" ]; then
38		echo "ok ${S}{t1}"
39	else
40		echo "no ok ${S}{t1} - (got ${R}, expected ${A1})"
41	fi
42
43	R=`date -r ${TEST2} +%${S}`
44	if [ "${R}" = "${A2}" ]; then
45		echo "ok ${S}{t2}"
46	else
47		echo "no ok ${S}{t2} - (got ${R}, expected ${A2})"
48	fi
49}
50
51echo "1..78"
52
53check A Saturday Monday
54check a Sat Mon
55check B February November
56check b Feb Nov
57check C 19 20
58check c "Sat Feb  7 07:04:03 1970" "Mon Nov 12 21:20:00 2001"
59check D 02/07/70 11/12/01
60check d 07 12
61check e " 7" 12
62check F "1970-02-07" "2001-11-12"
63check G 1970 2001
64check g 70 01
65check H 07 21
66check h Feb Nov
67check I 07 09
68check j 038 316
69check k " 7" 21
70check l " 7" " 9"
71check M 04 20
72check m 02 11
73check p AM PM
74check R 07:04 21:20
75check r "07:04:03 AM" "09:20:00 PM"
76check S 03 00
77check s ${TEST1} ${TEST2}
78check U 05 45
79check u 6 1
80check V 06 46
81check v " 7-Feb-1970" "12-Nov-2001"
82check W 05 46
83check w 6 1
84check X "07:04:03" "21:20:00"
85check x "02/07/70" "11/12/01"
86check Y 1970 2001
87check y 70 01
88check Z UTC UTC
89check z +0000 +0000
90check % % %
91check + "Sat Feb  7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001"
92