regress.sh revision 201421
1192482Sedwin#!/bin/sh
2192482Sedwin
3192482Sedwin#
4192482Sedwin# Regression tests for date(1)
5192482Sedwin#
6192482Sedwin# Submitted by Edwin Groothuis <edwin@FreeBSD.org>
7192482Sedwin#
8192482Sedwin# $FreeBSD: head/tools/regression/bin/date/regress.sh 201421 2010-01-03 09:30:50Z obrien $
9192482Sedwin#
10192482Sedwin
11192482Sedwin#
12192482Sedwin# These two date/times have been chosen carefully, they
13192482Sedwin# create both the single digit and double/multidigit version of
14192482Sedwin# the values.
15192482Sedwin#
16192482Sedwin# To create a new one, make sure you are using the UTC timezone!
17192482Sedwin#
18192482Sedwin
19192482SedwinTEST1=3222243		# 1970-02-07 07:04:03
20192482SedwinTEST2=1005600000	# 2001-11-12 21:11:12
21192482Sedwin
22192482Sedwinexport LANG=C
23192482Sedwinexport TZ=UTC
24192482Sedwincount=0
25192482Sedwin
26192482Sedwincheck()
27192482Sedwin{
28192482Sedwin	S=$1
29192482Sedwin	A1=$2
30192482Sedwin	A2=$3
31192482Sedwin
32201421Sobrien	if [ -z "${A2}" ]; then A2=${A1}; fi
33201421Sobrien
34192482Sedwin	count=`expr ${count} + 1`
35192482Sedwin
36192482Sedwin	R=`date -r ${TEST1} +%${S}`
37192482Sedwin	if [ "${R}" = "${A1}" ]; then
38201421Sobrien		echo "ok ${count} - ${S}(a)"
39192482Sedwin	else
40201421Sobrien		echo "no ok ${count} - ${S}(a) (got ${R}, expected ${A1})"
41192482Sedwin	fi
42192482Sedwin
43201421Sobrien	count=`expr ${count} + 1`
44201421Sobrien
45192482Sedwin	R=`date -r ${TEST2} +%${S}`
46192482Sedwin	if [ "${R}" = "${A2}" ]; then
47201421Sobrien		echo "ok ${count} - ${S}(b)"
48192482Sedwin	else
49201421Sobrien		echo "no ok ${count} - ${S}(b) (got ${R}, expected ${A2})"
50192482Sedwin	fi
51192482Sedwin}
52192482Sedwin
53201421Sobrienecho "1..78"
54201421Sobrien
55192482Sedwincheck A Saturday Monday
56192482Sedwincheck a Sat Mon
57192482Sedwincheck B February November
58192482Sedwincheck b Feb Nov
59192482Sedwincheck C 19 20
60192482Sedwincheck c "Sat Feb  7 07:04:03 1970" "Mon Nov 12 21:20:00 2001"
61192482Sedwincheck D 02/07/70 11/12/01
62192482Sedwincheck d 07 12
63192482Sedwincheck e " 7" 12
64192482Sedwincheck F "1970-02-07" "2001-11-12"
65192482Sedwincheck G 1970 2001
66192482Sedwincheck g 70 01
67192482Sedwincheck H 07 21
68192482Sedwincheck h Feb Nov
69192482Sedwincheck I 07 09
70192482Sedwincheck j 038 316
71192482Sedwincheck k " 7" 21
72192482Sedwincheck l " 7" " 9"
73192482Sedwincheck M 04 20
74192482Sedwincheck m 02 11
75192482Sedwincheck p AM PM
76192482Sedwincheck R 07:04 21:20
77192482Sedwincheck r "07:04:03 AM" "09:20:00 PM"
78192482Sedwincheck S 03 00
79192482Sedwincheck s ${TEST1} ${TEST2}
80192482Sedwincheck U 05 45
81192482Sedwincheck u 6 1
82192482Sedwincheck V 06 46
83192482Sedwincheck v " 7-Feb-1970" "12-Nov-2001"
84192482Sedwincheck W 05 46
85192482Sedwincheck w 6 1
86192482Sedwincheck X "07:04:03" "21:20:00"
87192482Sedwincheck x "02/07/70" "11/12/01"
88192482Sedwincheck Y 1970 2001
89192482Sedwincheck y 70 01
90192482Sedwincheck Z UTC UTC
91192482Sedwincheck z +0000 +0000
92192482Sedwincheck % % %
93192482Sedwincheck + "Sat Feb  7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001"
94