tests: assert *.txt SYNOPSIS and -h output
Add a test to assert basic compliance with the CodingGuidelines in the SYNOPSIS and builtin -h output. For now we only assert that the "-h" output doesn't have "\t" characters, as a very basic syntax check. Subsequent commits will expand on the checks here as various issues are fixed, but let's first add the test scaffolding. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
79f2338b37
commit
e5e6667b48
44
t/t0450-txt-doc-vs-help.sh
Executable file
44
t/t0450-txt-doc-vs-help.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_description='assert (unbuilt) Documentation/*.txt and -h output'
|
||||
|
||||
TEST_PASSES_SANITIZE_LEAK=true
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success 'setup: list of builtins' '
|
||||
git --list-cmds=builtins >builtins
|
||||
'
|
||||
|
||||
help_to_synopsis () {
|
||||
builtin="$1" &&
|
||||
out_dir="out/$builtin" &&
|
||||
out="$out_dir/help.synopsis" &&
|
||||
if test -f "$out"
|
||||
then
|
||||
echo "$out" &&
|
||||
return 0
|
||||
fi &&
|
||||
mkdir -p "$out_dir" &&
|
||||
test_expect_code 129 git $builtin -h >"$out.raw" 2>&1 &&
|
||||
sed -n \
|
||||
-e '1,/^$/ {
|
||||
/^$/d;
|
||||
s/^usage: //;
|
||||
s/^ *or: //;
|
||||
p;
|
||||
}' <"$out.raw" >"$out" &&
|
||||
echo "$out"
|
||||
}
|
||||
|
||||
HT=" "
|
||||
|
||||
while read builtin
|
||||
do
|
||||
# -h output assertions
|
||||
test_expect_success "$builtin -h output has no \t" '
|
||||
h2s="$(help_to_synopsis "$builtin")" &&
|
||||
! grep "$HT" "$h2s"
|
||||
'
|
||||
done <builtins
|
||||
|
||||
test_done
|
Loading…
Reference in New Issue
Block a user