diff options
Diffstat (limited to 't/t2200-add-update.sh')
| -rwxr-xr-x | t/t2200-add-update.sh | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh index 94c4cb0672..be394f1131 100755 --- a/t/t2200-add-update.sh +++ b/t/t2200-add-update.sh @@ -14,6 +14,7 @@ only the updates to dir/sub. Also tested are "git add -u" without limiting, and "git add -u" without contents changes, and other conditions' +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh test_expect_success setup ' @@ -40,20 +41,28 @@ test_expect_success update ' ' test_expect_success 'update noticed a removal' ' - test "$(git ls-files dir1/sub1)" = "" + git ls-files dir1/sub1 >out && + test_must_be_empty out ' test_expect_success 'update touched correct path' ' - test "$(git diff-files --name-status dir2/sub3)" = "" + git diff-files --name-status dir2/sub3 >out && + test_must_be_empty out ' test_expect_success 'update did not touch other tracked files' ' - test "$(git diff-files --name-status check)" = "M check" && - test "$(git diff-files --name-status top)" = "M top" + echo "M check" >expect && + git diff-files --name-status check >actual && + test_cmp expect actual && + + echo "M top" >expect && + git diff-files --name-status top >actual && + test_cmp expect actual ' test_expect_success 'update did not touch untracked files' ' - test "$(git ls-files dir2/other)" = "" + git ls-files dir2/other >out && + test_must_be_empty out ' test_expect_success 'cache tree has not been corrupted' ' @@ -75,9 +84,8 @@ test_expect_success 'update from a subdirectory' ' ' test_expect_success 'change gets noticed' ' - - test "$(git diff-files --name-status dir1)" = "" - + git diff-files --name-status dir1 >out && + test_must_be_empty out ' test_expect_success 'non-qualified update in subdir updates from the root' ' @@ -102,7 +110,8 @@ test_expect_success 'replace a file with a symlink' ' test_expect_success 'add everything changed' ' git add -u && - test -z "$(git diff-files)" + git diff-files >out && + test_must_be_empty out ' @@ -110,7 +119,8 @@ test_expect_success 'touch and then add -u' ' touch check && git add -u && - test -z "$(git diff-files)" + git diff-files >out && + test_must_be_empty out ' @@ -118,7 +128,8 @@ test_expect_success 'touch and then add explicitly' ' touch check && git add check && - test -z "$(git diff-files)" + git diff-files >out && + test_must_be_empty out ' @@ -150,13 +161,13 @@ test_expect_success 'add -u resolves unmerged paths' ' { for path in path1 path2 do - echo "100644 $one 1 $path" - echo "100644 $two 2 $path" - echo "100644 $three 3 $path" - done - echo "100644 $one 1 path3" - echo "100644 $one 1 path4" - echo "100644 $one 3 path5" + echo "100644 $one 1 $path" && + echo "100644 $two 2 $path" && + echo "100644 $three 3 $path" || return 1 + done && + echo "100644 $one 1 path3" && + echo "100644 $one 1 path4" && + echo "100644 $one 3 path5" && echo "100644 $one 3 path6" } | git update-index --index-info && @@ -173,8 +184,8 @@ test_expect_success 'add -u resolves unmerged paths' ' git add -u && git ls-files -s path1 path2 path3 path4 path5 path6 >actual && { - echo "100644 $three 0 path1" - echo "100644 $two 0 path3" + echo "100644 $three 0 path1" && + echo "100644 $two 0 path3" && echo "100644 $two 0 path5" } >expect && test_cmp expect actual |
