bin/127514: [patch] regression tests for date(1)

Edwin Groothuis edwin at mavetju.org
Sun Sep 21 04:50:02 UTC 2008


>Number:         127514
>Category:       bin
>Synopsis:       [patch] regression tests for date(1)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Sep 21 04:50:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Edwin Groothuis
>Release:        FreeBSD 7.0-RELEASE-p1 i386
>Organization:
-
>Environment:
System: FreeBSD k7.mavetju 7.0-RELEASE-p1 FreeBSD 7.0-RELEASE-p1 #2: Wed May 28 08:12:56 EST 2008 edwin at k7.mavetju:/usr/src/sys/i386/compile/k7 i386


>Description:

Regression tests for date(1), to make sure that all output for "date
+" give the expected results.

>How-To-Repeat:
>Fix:

Index: date/regress.sh
===================================================================
--- date/regress.sh	(revision 0)
+++ date/regress.sh	(revision 0)
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+#
+# Regression tests for date(1)
+#
+# Submitted by Edwin Groothuis <edwin at FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+#
+# These two date/times have beenb 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 LANG=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 "${count}a. ${S} - ok"
+	else
+		echo "${count}a. ${S} - not ok (got ${R}, expected ${A1})"
+	fi
+
+	R=`date -r ${TEST2} +%${S}`
+	if [ "${R}" = "${A2}" ]; then
+		echo "${count}b. ${S} - ok"
+	else
+		echo "${count}b. ${S} - not ok (got ${R}, expected ${A2})"
+	fi
+}
+
+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"

Property changes on: date/regress.sh
___________________________________________________________________
Added: svn:executable
   + *

Index: date/regress.t
===================================================================
--- date/regress.t	(revision 0)
+++ date/regress.t	(revision 0)
@@ -0,0 +1,6 @@
+#!/bin/sh
+# $FreeBSD$
+
+cd `dirname $0`
+
+sh regress.sh
Index: date/Makefile
===================================================================
--- date/Makefile	(revision 0)
+++ date/Makefile	(revision 0)
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+all:
+	sh regress.sh
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list