t1092: compare sparse-checkout to sparse-index
Add a new 'sparse-index' repo alongside the 'full-checkout' and 'sparse-checkout' repos in t1092-sparse-checkout-compatibility.sh. Also add run_on_sparse and test_sparse_match helpers. These helpers will be used when the sparse index is implemented. Add the GIT_TEST_SPARSE_INDEX environment variable to enable the sparse-index by default. This can be enabled across all tests, but that will only affect cases where the sparse-checkout feature is enabled. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
4300f8442a
commit
ecfc47c066
3
t/README
3
t/README
|
@ -439,6 +439,9 @@ and "sha256".
|
||||||
GIT_TEST_WRITE_REV_INDEX=<boolean>, when true enables the
|
GIT_TEST_WRITE_REV_INDEX=<boolean>, when true enables the
|
||||||
'pack.writeReverseIndex' setting.
|
'pack.writeReverseIndex' setting.
|
||||||
|
|
||||||
|
GIT_TEST_SPARSE_INDEX=<boolean>, when true enables index writes to use the
|
||||||
|
sparse-index format by default.
|
||||||
|
|
||||||
Naming Tests
|
Naming Tests
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ test_description='compare full workdir to sparse workdir'
|
||||||
test_expect_success 'setup' '
|
test_expect_success 'setup' '
|
||||||
git init initial-repo &&
|
git init initial-repo &&
|
||||||
(
|
(
|
||||||
|
GIT_TEST_SPARSE_INDEX=0 &&
|
||||||
cd initial-repo &&
|
cd initial-repo &&
|
||||||
echo a >a &&
|
echo a >a &&
|
||||||
echo "after deep" >e &&
|
echo "after deep" >e &&
|
||||||
|
@ -87,23 +88,32 @@ init_repos () {
|
||||||
|
|
||||||
cp -r initial-repo sparse-checkout &&
|
cp -r initial-repo sparse-checkout &&
|
||||||
git -C sparse-checkout reset --hard &&
|
git -C sparse-checkout reset --hard &&
|
||||||
git -C sparse-checkout sparse-checkout init --cone &&
|
|
||||||
|
cp -r initial-repo sparse-index &&
|
||||||
|
git -C sparse-index reset --hard &&
|
||||||
|
|
||||||
# initialize sparse-checkout definitions
|
# initialize sparse-checkout definitions
|
||||||
git -C sparse-checkout sparse-checkout set deep
|
git -C sparse-checkout sparse-checkout init --cone &&
|
||||||
|
git -C sparse-checkout sparse-checkout set deep &&
|
||||||
|
GIT_TEST_SPARSE_INDEX=1 git -C sparse-index sparse-checkout init --cone &&
|
||||||
|
GIT_TEST_SPARSE_INDEX=1 git -C sparse-index sparse-checkout set deep
|
||||||
}
|
}
|
||||||
|
|
||||||
run_on_sparse () {
|
run_on_sparse () {
|
||||||
(
|
(
|
||||||
cd sparse-checkout &&
|
cd sparse-checkout &&
|
||||||
"$@" >../sparse-checkout-out 2>../sparse-checkout-err
|
GIT_TEST_SPARSE_INDEX=0 "$@" >../sparse-checkout-out 2>../sparse-checkout-err
|
||||||
|
) &&
|
||||||
|
(
|
||||||
|
cd sparse-index &&
|
||||||
|
GIT_TEST_SPARSE_INDEX=1 "$@" >../sparse-index-out 2>../sparse-index-err
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
run_on_all () {
|
run_on_all () {
|
||||||
(
|
(
|
||||||
cd full-checkout &&
|
cd full-checkout &&
|
||||||
"$@" >../full-checkout-out 2>../full-checkout-err
|
GIT_TEST_SPARSE_INDEX=0 "$@" >../full-checkout-out 2>../full-checkout-err
|
||||||
) &&
|
) &&
|
||||||
run_on_sparse "$@"
|
run_on_sparse "$@"
|
||||||
}
|
}
|
||||||
|
@ -114,6 +124,12 @@ test_all_match () {
|
||||||
test_cmp full-checkout-err sparse-checkout-err
|
test_cmp full-checkout-err sparse-checkout-err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_sparse_match () {
|
||||||
|
run_on_sparse "$@" &&
|
||||||
|
test_cmp sparse-checkout-out sparse-index-out &&
|
||||||
|
test_cmp sparse-checkout-err sparse-index-err
|
||||||
|
}
|
||||||
|
|
||||||
test_expect_success 'status with options' '
|
test_expect_success 'status with options' '
|
||||||
init_repos &&
|
init_repos &&
|
||||||
test_all_match git status --porcelain=v2 &&
|
test_all_match git status --porcelain=v2 &&
|
||||||
|
|
Loading…
Reference in New Issue