From: Mark C. Chu-Carroll Date: Tue, 22 Sep 2026 14:31:19 GMT Subject: [PATCH v5 3/3] t4010: modernize Message-ID: <20260922143119.3313620-4-markchucarroll@fastmail.com> In-Reply-To: <20260922143119.3313620-1-markchucarroll@fastmail.com> Old tests were written in a different style than modern ones; for better readability and test error messages, update t4010 to the modern style. * run everything inside of a test_expect_success block. * write title line on the same line as test_expect_success, end that line with a single quote that opens the body of the test, and end the test with a single quote that closes the body. * write expected output of a test to a file named "expect", and actual output to a file named "actual". * write here-docs using "<<-" syntax, so that they're indented uniformly with the rest of the test. * make test names more clearly reflect the functionality that they test. Signed-off-by: Mark C. Chu-Carroll --- t/t4010-diff-pathspec.sh | 120 +++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 61 deletions(-) diff --git a/t/t4010-diff-pathspec.sh b/t/t4010-diff-pathspec.sh index c84c3fa05b..34d53e7496 100755 --- a/t/t4010-diff-pathspec.sh +++ b/t/t4010-diff-pathspec.sh @@ -13,67 +13,65 @@ Prepare: . ./test-lib.sh . "$TEST_DIRECTORY"/lib-diff.sh ;# test-lib chdir's into trash -test_expect_success \ - setup \ - 'echo frotz >file0 && - mkdir path1 && - echo rezrov >path1/file1 && - before0=$(git hash-object file0) && - before1=$(git hash-object path1/file1) && - git update-index --add file0 path1/file1 && - tree=$(git write-tree) && - echo "$tree" && - echo nitfol >file0 && - echo yomin >path1/file1 && - after0=$(git hash-object file0) && - after1=$(git hash-object path1/file1) && - git update-index file0 path1/file1' - -cat >expected <<\EOF -EOF -test_expect_success \ - 'limit to path should show nothing' \ - 'git diff-index --cached $tree -- path >current && - compare_diff_raw current expected' - -cat >expected <current && - compare_diff_raw current expected' - -cat >expected <current && - compare_diff_raw current expected' - -cat >expected <current && - compare_diff_raw current expected' - -cat >expected <current && - compare_diff_raw current expected' - -cat >expected <<\EOF -EOF -test_expect_success \ - 'limit to file0/ should emit nothing.' \ - 'git diff-index --cached $tree -- file0/ >current && - compare_diff_raw current expected' + +test_expect_success 'limit to path should show nothing' ' + echo frotz >file0 && + mkdir path1 && + echo rezrov >path1/file1 && + before0=$(git hash-object file0) && + before1=$(git hash-object path1/file1) && + git update-index --add file0 path1/file1 && + tree=$(git write-tree) && + echo nitfol >file0 && + echo yomin >path1/file1 && + after0=$(git hash-object file0) && + after1=$(git hash-object path1/file1) && + git update-index file0 path1/file1 && + : >expected && + git diff-index --cached $tree -- path >current && + compare_diff_raw current expected +' + +test_expect_success 'limit to path1 should show path1/file1' ' + cat >expected <<-EOF && + :100644 100644 $before1 $after1 M path1/file1 + EOF + + git diff-index --cached $tree -- path1 >current && + compare_diff_raw current expected +' + +test_expect_success 'limit to path1/ should show path1/file1' ' + cat >expected <<-EOF && + :100644 100644 $before1 $after1 M path1/file1 + EOF + + git diff-index --cached $tree -- path1/ >current && + compare_diff_raw current expected +' +test_expect_success '"*file1" should show path1/file1' ' + cat >expected <<-EOF && + :100644 100644 $before1 $after1 M path1/file1 + EOF + + git diff-index --cached $tree -- "*file1" >current && + compare_diff_raw current expected +' + +test_expect_success 'limit to file0 should show file0' ' + cat >expected <<-EOF && + :100644 100644 $before0 $after0 M file0 + EOF + + git diff-index --cached $tree -- file0 >current && + compare_diff_raw current expected +' + +test_expect_success 'limit to file0/ should emit nothing.' ' + : >expected && + git diff-index --cached $tree -- file0/ >current && + compare_diff_raw current expected +' test_expect_success 'diff-tree pathspec' ' tree2=$(git write-tree) && -- 2.53.0