mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
t9902: verify that completion does not print anything
The Bash completion script must not print anything to either stdout or stderr. Instead, it is only expected to populate certain variables. Tighten our `test_completion ()` test helper to verify this requirement. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3bf5ccf429
commit
6807d3942c
|
@ -5,6 +5,12 @@
|
|||
|
||||
test_description='test bash completion'
|
||||
|
||||
# The Bash completion scripts must not print anything to either stdout or
|
||||
# stderr, which we try to verify. When tracing is enabled without support for
|
||||
# BASH_XTRACEFD this assertion will fail, so we have to mark the test as
|
||||
# untraceable with such ancient Bash versions.
|
||||
test_untraceable=UnfortunatelyYes
|
||||
|
||||
. ./lib-bash.sh
|
||||
|
||||
complete ()
|
||||
|
@ -87,9 +93,11 @@ test_completion ()
|
|||
else
|
||||
sed -e 's/Z$//' |sort >expected
|
||||
fi &&
|
||||
run_completion "$1" &&
|
||||
run_completion "$1" >"$TRASH_DIRECTORY"/bash-completion-output 2>&1 &&
|
||||
sort out >out_sorted &&
|
||||
test_cmp expected out_sorted
|
||||
test_cmp expected out_sorted &&
|
||||
test_must_be_empty "$TRASH_DIRECTORY"/bash-completion-output &&
|
||||
rm "$TRASH_DIRECTORY"/bash-completion-output
|
||||
}
|
||||
|
||||
# Test __gitcomp.
|
||||
|
|
Loading…
Reference in a new issue