Thread (184 messages) flat view 184 messages, 6 authors, 2021-04-01

Re: [PATCH 06/20] t1092: compare sparse-checkout to sparse-index

From: Elijah Newren <hidden>
Date: 2021-02-25 06:39:11

On Tue, Feb 23, 2021 at 12:14 PM Derrick Stolee via GitGitGadget
[off-list ref] wrote:
From: Derrick Stolee <redacted>

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 GIT_TEST_SPARSE_INDEX environment variable to enable the
sparse-index by default. This will be intended to use across the entire
test suite, except that it will only affect cases where the
sparse-checkout feature is enabled.
This last sentence was a bit awkward to read.  "will be intended to
use" -> "is intended to be used"?
quoted hunk ↗ jump to hunk
Signed-off-by: Derrick Stolee <redacted>
---
 t/README                                 |  3 +++
 t/t1092-sparse-checkout-compatibility.sh | 24 ++++++++++++++++++++----
 2 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/t/README b/t/README
index 593d4a4e270c..b98bc563aab5 100644
--- a/t/README
+++ b/t/README
@@ -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
 ------------
diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh
index 3725d3997e70..71d6f9e4c014 100755
--- a/t/t1092-sparse-checkout-compatibility.sh
+++ b/t/t1092-sparse-checkout-compatibility.sh
@@ -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 () {

        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 () {
        test_cmp full-checkout-err sparse-checkout-err
 }

+test_sparse_match () {
+       run_on_sparse $* &&
Should this be
   run_on_sparse "$@"
in order to allow arguments with spaces?
+       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 &&
--
gitgitgadget
Other than those minor comments, looks good to me.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help