c7e03b4e39
Change tests that would lose the "git" exit code via a negation pattern to: - In the case of "t0055-beyond-symlinks.sh" compare against the expected output instead. We could use the same pattern as in the "t3700-add.sh" below, doing so would have the advantage that if we added an earlier test we wouldn't need to adjust the "expect" output. But as "t0055-beyond-symlinks.sh" is a small and focused test (less than 40 lines in total) let's use "test_cmp" instead. - For "t3700-add.sh" use "sed -n" to print the expected "bad" part, and use "test_must_be_empty" to assert that it's not there. If we used "grep" we'd get a non-zero exit code. We could use "test_expect_code 1 grep", but this is more consistent with existing patterns in the test suite. We can also remove a repeated invocation of "git ls-files" for the last test that's being modified in that file, and search the existing "files" output instead. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
628 B
Bash
Executable File
37 lines
628 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='update-index and add refuse to add beyond symlinks'
|
|
|
|
TEST_PASSES_SANITIZE_LEAK=true
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success SYMLINKS setup '
|
|
>a &&
|
|
mkdir b &&
|
|
ln -s b c &&
|
|
>c/d &&
|
|
git update-index --add a b/d
|
|
'
|
|
|
|
test_expect_success SYMLINKS 'update-index --add beyond symlinks' '
|
|
test_must_fail git update-index --add c/d &&
|
|
cat >expect <<-\EOF &&
|
|
a
|
|
b/d
|
|
EOF
|
|
git ls-files >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_expect_success SYMLINKS 'add beyond symlinks' '
|
|
test_must_fail git add c/d &&
|
|
cat >expect <<-\EOF &&
|
|
a
|
|
b/d
|
|
EOF
|
|
git ls-files >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_done
|