]> git.ipfire.org Git - thirdparty/git.git/commitdiff
test-lib-functions: assert correct parameter count
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Fri, 12 Feb 2021 13:29:42 +0000 (14:29 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 12 Feb 2021 19:58:21 +0000 (11:58 -0800)
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>
t/test-lib-functions.sh

index 109d1b548ce4ed4798e332fa31ddc404e1b49fc0..8ec06eb67a0728566a95c899ce69d44416b943b8 100644 (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