aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-04-09 11:57:27 +0200
committerJunio C Hamano <gitster@pobox.com>2024-04-09 14:14:00 -0700
commit2f960dd5fe484679486cfdd42a3f0015d97fa822 (patch)
tree94610afb11643b720be4a4e207441573df94c401
parent8a0bebdeaec60623c8a791b197d574bdd031a452 (diff)
downloadgit-2f960dd5fe484679486cfdd42a3f0015d97fa822.tar.gz
t0610: make `--shared=` tests reusable
We have two kinds of `--shared=` tests, one for git-init(1) and one for git-pack-refs(1). Merge them into a reusable function such that we can easily add additional testcases with different umasks and flags for the `--shared=` switch. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t0610-reftable-basics.sh57
1 files changed, 30 insertions, 27 deletions
diff --git a/t/t0610-reftable-basics.sh b/t/t0610-reftable-basics.sh
index 6a131e40b8..aefa625cee 100755
--- a/t/t0610-reftable-basics.sh
+++ b/t/t0610-reftable-basics.sh
@@ -96,23 +96,46 @@ test_expect_perms () {
esac
}
-for umask in 002 022
-do
- test_expect_success POSIXPERM 'init: honors core.sharedRepository' '
+test_expect_reftable_perms () {
+ local umask="$1"
+ local shared="$2"
+ local expect="$3"
+
+ test_expect_success POSIXPERM "init: honors --shared=$shared with umask $umask" '
test_when_finished "rm -rf repo" &&
(
umask $umask &&
- git init --shared=true repo &&
+ git init --shared=$shared repo &&
test 1 = "$(git -C repo config core.sharedrepository)"
) &&
- test_expect_perms "-rw-rw-r--" repo/.git/reftable/tables.list &&
+ test_expect_perms "$expect" repo/.git/reftable/tables.list &&
for table in repo/.git/reftable/*.ref
do
- test_expect_perms "-rw-rw-r--" "$table" ||
+ test_expect_perms "$expect" "$table" ||
return 1
done
'
-done
+
+ test_expect_success POSIXPERM "pack-refs: honors --shared=$shared with umask $umask" '
+ test_when_finished "rm -rf repo" &&
+ (
+ umask $umask &&
+ git init --shared=$shared repo &&
+ test_commit -C repo A &&
+ test_line_count = 3 repo/.git/reftable/tables.list
+ ) &&
+ git -C repo pack-refs &&
+ test_expect_perms "$expect" repo/.git/reftable/tables.list &&
+ for table in repo/.git/reftable/*.ref
+ do
+ test_expect_perms "$expect" "$table" ||
+ return 1
+ done
+ '
+}
+
+test_expect_reftable_perms 002 true "-rw-rw-r--"
+test_expect_reftable_perms 022 true "-rw-rw-r--"
test_expect_success 'clone: can clone reftable repository' '
test_when_finished "rm -rf repo clone" &&
@@ -359,26 +382,6 @@ test_expect_success 'pack-refs: does not prune non-table files' '
test_path_is_file repo/.git/reftable/garbage
'
-for umask in 002 022
-do
- test_expect_success POSIXPERM 'pack-refs: honors core.sharedRepository' '
- test_when_finished "rm -rf repo" &&
- (
- umask $umask &&
- git init --shared=true repo &&
- test_commit -C repo A &&
- test_line_count = 3 repo/.git/reftable/tables.list
- ) &&
- git -C repo pack-refs &&
- test_expect_perms "-rw-rw-r--" repo/.git/reftable/tables.list &&
- for table in repo/.git/reftable/*.ref
- do
- test_expect_perms "-rw-rw-r--" "$table" ||
- return 1
- done
- '
-done
-
test_expect_success 'packed-refs: writes are synced' '
test_when_finished "rm -rf repo" &&
git init repo &&