Skip to content

Commit

Permalink
Update tests to use test-chmtime
Browse files Browse the repository at this point in the history
test-lib:
  Make sure test-chmtime has been built before starting.

t4200-rerere:
  Removed non-portable date dependency and avoid touch
  Avoid "test -a" which isn't portable, either

lib-git-svn:
  Use test-chmtime instead of Perl one-liner to poke

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Eric Wong authored and Junio C Hamano committed Feb 25, 2007
1 parent 17e4836 commit 56cf980
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 34 deletions.
2 changes: 1 addition & 1 deletion t/lib-git-svn.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,5 @@ rawsvnrepo="$svnrepo"
svnrepo="file://$svnrepo"

poke() {
perl -e '@x = stat($ARGV[0]); utime($x[8], $x[9] + 1, $ARGV[0])' "$1"
test-chmtime +1 "$1"
}
53 changes: 20 additions & 33 deletions t/t4200-rerere.sh
Original file line number Diff line number Diff line change
Expand Up @@ -112,39 +112,26 @@ rr2=.git/rr-cache/$sha2
mkdir $rr2
echo Hello > $rr2/preimage

case "$(date -d @11111111 +%s 2>/dev/null)" in
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))
almost_60_days_ago=$(($now+60-60*86400))
just_over_60_days_ago=$(($now-1-60*86400))
predate1="$(date -d "@$almost_60_days_ago" +%Y%m%d%H%M.%S)"
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)"

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

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

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

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"
;;
esac
almost_15_days_ago=$((60-15*86400))
just_over_15_days_ago=$((-1-15*86400))
almost_60_days_ago=$((60-60*86400))
just_over_60_days_ago=$((-1-60*86400))

test-chmtime =$almost_60_days_ago $rr/preimage
test-chmtime =$almost_15_days_ago $rr2/preimage

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

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

test-chmtime =$just_over_60_days_ago $rr/preimage
test-chmtime =$just_over_15_days_ago $rr2/preimage

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

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

test_done

Expand Down
6 changes: 6 additions & 0 deletions t/test-lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,12 @@ test -d ../templates/blt || {
error "You haven't built things yet, have you?"
}

if ! test -x ../test-chmtime; then
echo >&2 'You need to build test-chmtime:'
echo >&2 'Run "make test-chmtime" in the source (toplevel) directory'
exit 1
fi

# Test repository
test=trash
rm -fr "$test"
Expand Down

0 comments on commit 56cf980

Please sign in to comment.