[PATCH] Update tests to use test-chmtime
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>
---
t/lib-git-svn.sh | 2 +-
t/t4200-rerere.sh | 54 ++++++++++++++++++++--------------------------------
2 files changed, 22 insertions(+), 34 deletions(-)
diff --git a/t/lib-git-svn.sh b/t/lib-git-svn.sh
index 27ad3b7..f6fe78c 100644
--- a/t/lib-git-svn.sh
+++ b/t/lib-git-svn.sh
@@ -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"
}
diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh
index c571a1b..d5bb6ec 100755
--- a/t/t4200-rerere.sh
+++ b/t/t4200-rerere.sh
@@ -112,39 +112,27 @@ 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
+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))
+
+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
--
1.5.0.137.ge6502