t0006: add support for approxidate test date adjustment
t0006 uses a hard-coded test date and provides no convenient way to override it temporarily. Add an optional parameter to check_approxidate to adjust the time as needed, and demonstrate the feature with a new test. Signed-off-by: Tuomas Ahola <taahol@utu.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>main
parent
a237eacfe5
commit
d5ba64d8b5
|
|
@ -155,12 +155,41 @@ check_parse '2100-00-00 00:00:00 -11' bad
|
|||
check_parse '2100-00-00 00:00:00 +11' bad
|
||||
REQUIRE_64BIT_TIME=
|
||||
|
||||
add_time_offset() {
|
||||
case "$3" in
|
||||
hours)
|
||||
unit=$(( 60*60 ))
|
||||
;;
|
||||
days)
|
||||
unit=$(( 24*60*60 ))
|
||||
;;
|
||||
esac
|
||||
offset=$(( $2 * unit ))
|
||||
echo $(( $1 + offset ))
|
||||
}
|
||||
|
||||
check_approxidate() {
|
||||
old_date=$GIT_TEST_DATE_NOW
|
||||
if test "$3" = "failure"
|
||||
then
|
||||
expection="$3"
|
||||
else
|
||||
expection=${4:-success}
|
||||
offset="$3"
|
||||
fi
|
||||
if test -n "$offset"
|
||||
then
|
||||
GIT_TEST_DATE_NOW=$(add_time_offset $old_date $offset)
|
||||
caption="$1; offset $offset"
|
||||
else
|
||||
caption=$1
|
||||
fi
|
||||
echo "$1 -> $2 +0000" >expect
|
||||
test_expect_${3:-success} "parse approxidate ($1)" "
|
||||
test_expect_$expection "parse approxidate ($caption)" "
|
||||
test-tool date approxidate '$1' >actual &&
|
||||
test_cmp expect actual
|
||||
"
|
||||
GIT_TEST_DATE_NOW=$old_date
|
||||
}
|
||||
|
||||
check_approxidate now '2009-08-30 19:20:00'
|
||||
|
|
@ -184,6 +213,8 @@ check_approxidate 'noon yesterday' '2009-08-29 12:00:00'
|
|||
check_approxidate 'January 5th noon pm' '2009-01-05 12:00:00'
|
||||
check_approxidate 'January 5th today pm' '2009-01-30 12:00:00'
|
||||
check_approxidate '10am noon' '2009-08-29 12:00:00'
|
||||
check_approxidate 'January 5th yesterday' '2009-01-29 19:20:00'
|
||||
check_approxidate 'January 5th yesterday' '2008-12-31 19:20:00' '+2 days'
|
||||
|
||||
check_approxidate 'last tuesday' '2009-08-25 19:20:00'
|
||||
check_approxidate 'July 5th' '2009-07-05 19:20:00'
|
||||
|
|
|
|||
Loading…
Reference in New Issue