mirror of
https://github.com/git/git.git
synced 2024-11-18 17:23:49 +01:00
Update tests to use test-chmtime
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>
This commit is contained in:
parent
17e4836875
commit
56cf9806a9
@ -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"
|
||||
}
|
||||
|
@ -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.
|
||||
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))
|
||||
|
||||
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)"
|
||||
test-chmtime =$almost_60_days_ago $rr/preimage
|
||||
test-chmtime =$almost_15_days_ago $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 && test -f $rr2/preimage"
|
||||
|
||||
test_expect_success 'young records still live' \
|
||||
"test -f $rr/preimage -a -f $rr2/preimage"
|
||||
test-chmtime =$just_over_60_days_ago $rr/preimage
|
||||
test-chmtime =$just_over_15_days_ago $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"
|
||||
;;
|
||||
esac
|
||||
test_expect_success 'old records rest in peace' \
|
||||
"test ! -f $rr/preimage && test ! -f $rr2/preimage"
|
||||
|
||||
test_done
|
||||
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user