We have some test in our test suite where we use the pattern of
`test ... && test_expect_succeess` to conditionally execute a test. The
problem is that when we decide to not execute the test, we'll indeed
skip the test, but the overall statement will also be unsuccessful. This
will become a problem once we enable `set -e`.
Prepare for this future by turning this into a proper conditional, which
is also a bit easier to read overall.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
test $(git $cmd $file | grep '^@@ ' | wc -l) = $hunks
"
- test -f $expected &&
- test_expect_success "$label: check output" "
- git $cmd $file | grep -v '^index ' >actual &&
- test_cmp $expected actual
- "
+ if test -f $expected
+ then
+ test_expect_success "$label: check output" "
+ git $cmd $file | grep -v '^index ' >actual &&
+ test_cmp $expected actual
+ "
+ fi
}
cat <<EOF >expected.f1.0.1 || exit 1
)
'
- test -n "$refuse_index" &&
- test_expect_success "refuse to load symlinked $name into index ($type)" '
- test_must_fail \
- git -C $dir \
- -c core.protectntfs \
- -c core.protecthfs \
- read-tree $tree 2>err &&
- grep "invalid path.*$name" err &&
- git -C $dir ls-files -s >out &&
- test_must_be_empty out
- '
+ if test -n "$refuse_index"
+ then
+ test_expect_success "refuse to load symlinked $name into index ($type)" '
+ test_must_fail \
+ git -C $dir \
+ -c core.protectntfs \
+ -c core.protecthfs \
+ read-tree $tree 2>err &&
+ grep "invalid path.*$name" err &&
+ git -C $dir ls-files -s >out &&
+ test_must_be_empty out
+ '
+ fi
}
check_dotx_symlink gitmodules vanilla .gitmodules