diff options
author | Denton Liu <liu.denton@gmail.com> | 2020-07-07 02:04:38 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-07-07 15:47:16 -0700 |
commit | 6a67c759489e1025665adf78326e9e0d0981bab5 (patch) | |
tree | 8f87455edc9839cab463ecc083bbbbd11f48781d /ident.c | |
parent | t9400: don't use test_must_fail with cvs (diff) | |
download | tgif-6a67c759489e1025665adf78326e9e0d0981bab5.tar.xz |
test-lib-functions: restrict test_must_fail usage
In previous commits, we removed the usage of test_must_fail() for most
commands except for a set of pre-approved commands. Since that's done,
only allow test_must_fail() to run those pre-approved commands.
Obviously, we should allow `git`.
We allow `__git*` as some completion functions return an error code that
comes from a git invocation. It's good to avoid using test_must_fail
unnecessarily but it wouldn't hurt to err on the side of caution when
we're potentially wrapping a git command (like in these cases).
We also allow `test-tool` and `test-svn-fe` because these are helper
commands that are written by us and we want to catch their failure.
Finally, we allow `test_terminal` because `test_terminal` just wraps
around git commands. Also, we cannot rewrite
`test_must_fail test_terminal` as `test_terminal test_must_fail` because
test_must_fail() is a shell function and as a result, it cannot be
invoked from the test-terminal Perl script.
We opted to explicitly list the above tools instead of using a catch-all
such as `test[-_]*` because we want to be as restrictive as possible so
that in the future, someone would not accidentally introduce an
unrelated usage of test_must_fail() on an "unapproved" command.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ident.c')
0 files changed, 0 insertions, 0 deletions