Browse Source

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
Derrick Stolee 4 years ago committed by Junio C Hamano
parent
commit
ecfc47c066
  1. 3
      t/README
  2. 24
      t/t1092-sparse-checkout-compatibility.sh

3
t/README

@ -439,6 +439,9 @@ and "sha256". @@ -439,6 +439,9 @@ and "sha256".
GIT_TEST_WRITE_REV_INDEX=<boolean>, when true enables the
'pack.writeReverseIndex' setting.

GIT_TEST_SPARSE_INDEX=<boolean>, when true enables index writes to use the
sparse-index format by default.

Naming Tests
------------


24
t/t1092-sparse-checkout-compatibility.sh

@ -7,6 +7,7 @@ test_description='compare full workdir to sparse workdir' @@ -7,6 +7,7 @@ test_description='compare full workdir to sparse workdir'
test_expect_success 'setup' '
git init initial-repo &&
(
GIT_TEST_SPARSE_INDEX=0 &&
cd initial-repo &&
echo a >a &&
echo "after deep" >e &&
@ -87,23 +88,32 @@ init_repos () { @@ -87,23 +88,32 @@ init_repos () {

cp -r initial-repo sparse-checkout &&
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
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 () {
(
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 () {
(
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 "$@"
}
@ -114,6 +124,12 @@ test_all_match () { @@ -114,6 +124,12 @@ test_all_match () {
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' '
init_repos &&
test_all_match git status --porcelain=v2 &&

Loading…
Cancel
Save