Skip to content

Commit

Permalink
t4200: skip gc-rerere test on systems with non GNU date.
Browse files Browse the repository at this point in the history
Quite nonstandard "date -d @11111111 +%s" does not even fail on
OpenBSD but gives the current date in "seconds since epoch"
format, which is useless for the purpose of this test.  We want
to make sure that this returns exactly the same input before
proceeding.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Feb 7, 2007
1 parent ecea1ed commit fa1b4d2
Showing 1 changed file with 17 additions and 20 deletions.
37 changes: 17 additions & 20 deletions t/t4200-rerere.sh
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,11 @@ mkdir $rr2
echo Hello > $rr2/preimage

case "$(date -d @11111111 +%s 2>/dev/null)" in
[1-9]*)
# it is a recent GNU date. good.
11111111)
# 'date' must be able to take arbitrary input with @11111111 notation.
# for this test to succeed. We should fix this part using more
# portable script someday.

now=$(date +%s)
almost_15_days_ago=$(($now+60-15*86400))
just_over_15_days_ago=$(($now-1-15*86400))
Expand All @@ -124,30 +127,24 @@ case "$(date -d @11111111 +%s 2>/dev/null)" in
predate2="$(date -d "@$almost_15_days_ago" +%Y%m%d%H%M.%S)"
postdate1="$(date -d "@$just_over_60_days_ago" +%Y%m%d%H%M.%S)"
postdate2="$(date -d "@$just_over_15_days_ago" +%Y%m%d%H%M.%S)"
;;
*)
# it is not GNU date. oh, well.
predate1="$(date +%Y%m%d%H%M.%S)"
predate2="$(date +%Y%m%d%H%M.%S)"
postdate1='200610010000.00'
postdate2='200612010000.00'
esac

touch -m -t "$predate1" $rr/preimage
touch -m -t "$predate2" $rr2/preimage
touch -m -t "$predate1" $rr/preimage
touch -m -t "$predate2" $rr2/preimage

test_expect_success 'garbage collection (part1)' 'git rerere gc'
test_expect_success 'garbage collection (part1)' 'git rerere gc'

test_expect_success 'young records still live' \
"test -f $rr/preimage -a -f $rr2/preimage"
test_expect_success 'young records still live' \
"test -f $rr/preimage -a -f $rr2/preimage"

touch -m -t "$postdate1" $rr/preimage
touch -m -t "$postdate2" $rr2/preimage
touch -m -t "$postdate1" $rr/preimage
touch -m -t "$postdate2" $rr2/preimage

test_expect_success 'garbage collection (part2)' 'git rerere gc'
test_expect_success 'garbage collection (part2)' 'git rerere gc'

test_expect_success 'old records rest in peace' \
"test ! -f $rr/preimage -a ! -f $rr2/preimage"
test_expect_success 'old records rest in peace' \
"test ! -f $rr/preimage -a ! -f $rr2/preimage"
;;
esac

test_done

Expand Down

0 comments on commit fa1b4d2

Please sign in to comment.