mirror of
https://github.com/git/git.git
synced 2024-09-27 12:11:03 +02:00
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>
This commit is contained in:
parent
8a0bebdeae
commit
2f960dd5fe
@ -96,23 +96,46 @@ test_expect_perms () {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
for umask in 002 022
|
test_expect_reftable_perms () {
|
||||||
do
|
local umask="$1"
|
||||||
test_expect_success POSIXPERM 'init: honors core.sharedRepository' '
|
local shared="$2"
|
||||||
|
local expect="$3"
|
||||||
|
|
||||||
|
test_expect_success POSIXPERM "init: honors --shared=$shared with umask $umask" '
|
||||||
test_when_finished "rm -rf repo" &&
|
test_when_finished "rm -rf repo" &&
|
||||||
(
|
(
|
||||||
umask $umask &&
|
umask $umask &&
|
||||||
git init --shared=true repo &&
|
git init --shared=$shared repo &&
|
||||||
test 1 = "$(git -C repo config core.sharedrepository)"
|
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
|
for table in repo/.git/reftable/*.ref
|
||||||
do
|
do
|
||||||
test_expect_perms "-rw-rw-r--" "$table" ||
|
test_expect_perms "$expect" "$table" ||
|
||||||
return 1
|
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
|
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_expect_success 'clone: can clone reftable repository' '
|
||||||
test_when_finished "rm -rf repo clone" &&
|
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
|
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_expect_success 'packed-refs: writes are synced' '
|
||||||
test_when_finished "rm -rf repo" &&
|
test_when_finished "rm -rf repo" &&
|
||||||
git init repo &&
|
git init repo &&
|
||||||
|
Loading…
Reference in New Issue
Block a user