[PATCH v2 1/2] Allow using stdin in run_on_* functions
- From
- Kevin Lyles via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Aug 30, 2024, 21:10 UTC
- Message-ID
- <7067a4c5da2cc8af61cc0f92940eb7b1ae299390.1725052243.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1770.v2.git.git.1725052243.gitgitgadget@gmail.com>
From: Kevin Lyles <klyles@epic.com>
The 'run_on_sparse' and 'run_on_all' functions previously did not work correctly for commands accepting standard input. This also indirectly affected 'test_all_match' and 'test_sparse_match'.
Now, we accept standard input and will send it to each command that we run. This does not impact using the functions for commands that don't need standard input.
Signed-off-by: Kevin Lyles <klyles@epic.com> --- t/t1092-sparse-checkout-compatibility.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/t/t1092-sparse-checkout-compatibility.sh b/t/t1092-sparse-checkout-compatibility.sh index a2c0e1b4dcc..b140b642b21 100755 --- a/t/t1092-sparse-checkout-compatibility.sh +++ b/t/t1092-sparse-checkout-compatibility.sh @@ -179,22 +179,26 @@ init_repos_as_submodules () { } run_on_sparse () { + cat >run_on_sparse-input && + ( cd sparse-checkout && GIT_PROGRESS_DELAY=100000 "$@" >../sparse-checkout-out 2>../sparse-checkout-err - ) && + ) <run_on_sparse-input && ( cd sparse-index && GIT_PROGRESS_DELAY=100000 "$@" >../sparse-index-out 2>../sparse-index-err - ) + ) <run_on_sparse-input } run_on_all () { + cat >run_on_all-input && + ( cd full-checkout && GIT_PROGRESS_DELAY=100000 "$@" >../full-checkout-out 2>../full-checkout-err - ) && - run_on_sparse "$@" + ) <run_on_all-input && + run_on_sparse "$@" <run_on_all-input } test_all_match () { @@ -221,7 +225,7 @@ test_sparse_unstaged () { done } -# Usage: test_sprase_checkout_set "<c1> ... <cN>" "<s1> ... <sM>" +# Usage: test_sparse_checkout_set "<c1> ... <cN>" "<s1> ... <sM>" # Verifies that "git sparse-checkout set <c1> ... <cN>" succeeds and # leaves the sparse index in a state where <s1> ... <sM> are sparse # directories (and <c1> ... <cN> are not).
-- gitgitgadget