1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-28 15:06:11 +02:00

test-lib-functions: assert correct parameter count

Add assertions of the correct parameter count of various functions, in
particularly the wrappers for the shell "test" built-in.

In an earlier commit we fixed a bug with an incorrect number of
arguments being passed to "test_path_is_{file,missing}". Let's also
guard other similar functions from the same sort of misuse.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2021-02-12 14:29:42 +01:00 committed by Junio C Hamano
parent 45a2686441
commit e7884b353b

View File

@ -728,6 +728,7 @@ test_path_is_file () {
}
test_path_is_dir () {
test "$#" -ne 1 && BUG "1 param"
if ! test -d "$1"
then
echo "Directory $1 doesn't exist"
@ -746,6 +747,7 @@ test_path_exists () {
# Check if the directory exists and is empty as expected, barf otherwise.
test_dir_is_empty () {
test "$#" -ne 1 && BUG "1 param"
test_path_is_dir "$1" &&
if test -n "$(ls -a1 "$1" | egrep -v '^\.\.?$')"
then
@ -757,6 +759,7 @@ test_dir_is_empty () {
# Check if the file exists and has a size greater than zero
test_file_not_empty () {
test "$#" = 2 && BUG "2 param"
if ! test -s "$1"
then
echo "'$1' is not a non-empty file."
@ -765,6 +768,7 @@ test_file_not_empty () {
}
test_path_is_missing () {
test "$#" -ne 1 && BUG "1 param"
if test -e "$1"
then
echo "Path exists:"
@ -801,6 +805,7 @@ test_line_count () {
}
test_file_size () {
test "$#" -ne 1 && BUG "1 param"
test-tool path-utils file-size "$1"
}
@ -973,6 +978,7 @@ test_expect_code () {
# - not all diff versions understand "-u"
test_cmp () {
test "$#" -ne 2 && BUG "2 param"
eval "$GIT_TEST_CMP" '"$@"'
}
@ -1002,6 +1008,7 @@ test_cmp_config () {
# test_cmp_bin - helper to compare binary files
test_cmp_bin () {
test "$#" -ne 2 && BUG "2 param"
cmp "$@"
}
@ -1071,6 +1078,7 @@ verbose () {
# otherwise.
test_must_be_empty () {
test "$#" -ne 1 && BUG "1 param"
test_path_is_file "$1" &&
if test -s "$1"
then