summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-08-22 14:25:09 -0700
committerJunio C Hamano <gitster@pobox.com>2017-08-22 14:51:02 -0700
commite579aaa64d8a24013de6cdd3fb3028e25d9a0917 (patch)
tree088f9dc6f7e637943b0d92d9e9608477bc1394cf
parent1ad8b47354979515cfd1a50035208b1185f99f9c (diff)
downloadgit-e579aaa64d8a24013de6cdd3fb3028e25d9a0917.tar.gz
t4200: parameterize "rerere gc" custom expiry test
The test creates a rerere database entry that is two days old, and tries to expire with three different custom expiry configuration (keep ones less than 5 days old, keep ones used less than 5 days ago, and expire everything right now). We'll be introducing a different way to spell the same "5 days" and "right now" parameter in a later step; parameterize the test to make it easier to test the new spelling when it happens. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t4200-rerere.sh58
1 files changed, 33 insertions, 25 deletions
diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh
index b007b67e9a..8d437534f2 100755
--- a/t/t4200-rerere.sh
+++ b/t/t4200-rerere.sh
@@ -239,32 +239,40 @@ test_expect_success 'old records rest in peace' '
! test -f $rr2/preimage
'
-test_expect_success 'rerere gc with custom expiry' '
- rm -fr .git/rr-cache &&
- rr=.git/rr-cache/$_z40 &&
- mkdir -p "$rr" &&
- >"$rr/preimage" &&
- >"$rr/postimage" &&
-
- two_days_ago=$((-2*86400)) &&
- test-chmtime =$two_days_ago "$rr/preimage" &&
- test-chmtime =$two_days_ago "$rr/postimage" &&
-
- find .git/rr-cache -type f | sort >original &&
-
- git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc &&
- find .git/rr-cache -type f | sort >actual &&
- test_cmp original actual &&
-
- git -c gc.rerereresolved=5 -c gc.rerereunresolved=0 rerere gc &&
- find .git/rr-cache -type f | sort >actual &&
- test_cmp original actual &&
+rerere_gc_custom_expiry_test () {
+ five_days="$1" right_now="$2"
+ test_expect_success "rerere gc with custom expiry ($five_days, $right_now)" '
+ rm -fr .git/rr-cache &&
+ rr=.git/rr-cache/$_z40 &&
+ mkdir -p "$rr" &&
+ >"$rr/preimage" &&
+ >"$rr/postimage" &&
+
+ two_days_ago=$((-2*86400)) &&
+ test-chmtime =$two_days_ago "$rr/preimage" &&
+ test-chmtime =$two_days_ago "$rr/postimage" &&
+
+ find .git/rr-cache -type f | sort >original &&
+
+ git -c "gc.rerereresolved=$five_days" \
+ -c "gc.rerereunresolved=$five_days" rerere gc &&
+ find .git/rr-cache -type f | sort >actual &&
+ test_cmp original actual &&
+
+ git -c "gc.rerereresolved=$five_days" \
+ -c "gc.rerereunresolved=$right_now" rerere gc &&
+ find .git/rr-cache -type f | sort >actual &&
+ test_cmp original actual &&
+
+ git -c "gc.rerereresolved=$right_now" \
+ -c "gc.rerereunresolved=$right_now" rerere gc &&
+ find .git/rr-cache -type f | sort >actual &&
+ >expect &&
+ test_cmp expect actual
+ '
+}
- git -c gc.rerereresolved=0 -c gc.rerereunresolved=0 rerere gc &&
- find .git/rr-cache -type f | sort >actual &&
- >expect &&
- test_cmp expect actual
-'
+rerere_gc_custom_expiry_test 5 0
test_expect_success 'setup: file2 added differently in two branches' '
git reset --hard &&