Merge branch 'da/mergetool-tests'
authorJunio C Hamano <gitster@pobox.com>
Tue, 21 Oct 2014 20:28:14 +0000 (13:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Oct 2014 20:28:14 +0000 (13:28 -0700)
The clean-up of this test script was long overdue and is a very
welcome change.

* da/mergetool-tests:
test-lib-functions: adjust style to match CodingGuidelines
t7610-mergetool: use test_config to isolate tests
t7610-mergetool: add missing && and remove commented-out code
t7610-mergetool: use tabs instead of a mix of tabs and spaces

1  2 
t/test-lib-functions.sh
diff --combined t/test-lib-functions.sh
index b7957b87bb9602748d6f84eeaaeb3c6820b1142e,6bb7e9767b643899f15db176379f8fa2bd794e4c..0d93e33de4759bff71739c19be803cac981f0770
@@@ -413,7 -413,7 +413,7 @@@ test_external () 
                # test_run_, but keep its stdout on our stdout even in
                # non-verbose mode.
                "$@" 2>&4
-               if [ "$?" = 0 ]
+               if test "$?" = 0
                then
                        if test $test_external_has_tap -eq 0; then
                                test_ok_ "$descr"
@@@ -440,11 -440,12 +440,12 @@@ test_external_without_stderr () 
        tmp=${TMPDIR:-/tmp}
        stderr="$tmp/git-external-stderr.$$.tmp"
        test_external "$@" 4> "$stderr"
-       [ -f "$stderr" ] || error "Internal error: $stderr disappeared."
+       test -f "$stderr" || error "Internal error: $stderr disappeared."
        descr="no stderr: $1"
        shift
        say >&3 "# expecting no stderr from previous command"
-       if [ ! -s "$stderr" ]; then
+       if test ! -s "$stderr"
+       then
                rm "$stderr"
  
                if test $test_external_has_tap -eq 0; then
                        test_success=$(($test_success + 1))
                fi
        else
-               if [ "$verbose" = t ]; then
-                       output=`echo; echo "# Stderr is:"; cat "$stderr"`
+               if test "$verbose" = t
+               then
+                       output=$(echo; echo "# Stderr is:"; cat "$stderr")
                else
                        output=
                fi
  # The commands test the existence or non-existence of $1. $2 can be
  # given to provide a more precise diagnosis.
  test_path_is_file () {
-       if ! [ -f "$1" ]
+       if ! test -f "$1"
        then
                echo "File $1 doesn't exist. $*"
                false
  }
  
  test_path_is_dir () {
-       if ! [ -d "$1" ]
+       if ! test -d "$1"
        then
                echo "Directory $1 doesn't exist. $*"
                false
        fi
  }
  
 +# Check if the directory exists and is empty as expected, barf otherwise.
 +test_dir_is_empty () {
 +      test_path_is_dir "$1" &&
 +      if test -n "$(ls -a1 "$1" | egrep -v '^\.\.?$')"
 +      then
 +              echo "Directory '$1' is not empty, it contains:"
 +              ls -la "$1"
 +              return 1
 +      fi
 +}
 +
  test_path_is_missing () {
-       if [ -e "$1" ]
+       if test -e "$1"
        then
                echo "Path exists:"
                ls -ld "$1"
-               if [ $# -ge 1 ]; then
+               if test $# -ge 1
+               then
                        echo "$*"
                fi
                false
@@@ -553,7 -545,7 +556,7 @@@ test_must_fail () 
        if test $exit_code = 0; then
                echo >&2 "test_must_fail: command succeeded: $*"
                return 1
 -      elif test $exit_code -gt 129 -a $exit_code -le 192; then
 +      elif test $exit_code -gt 129 && test $exit_code -le 192; then
                echo >&2 "test_must_fail: died by signal: $*"
                return 1
        elif test $exit_code = 127; then
  test_might_fail () {
        "$@"
        exit_code=$?
 -      if test $exit_code -gt 129 -a $exit_code -le 192; then
 +      if test $exit_code -gt 129 && test $exit_code -le 192; then
                echo >&2 "test_might_fail: died by signal: $*"
                return 1
        elif test $exit_code = 127; then
@@@ -634,15 -626,6 +637,15 @@@ test_cmp_bin() 
        cmp "$@"
  }
  
 +# Call any command "$@" but be more verbose about its
 +# failure. This is handy for commands like "test" which do
 +# not output anything when they fail.
 +verbose () {
 +      "$@" && return 0
 +      echo >&2 "command failed: $(git rev-parse --sq-quote "$@")"
 +      return 1
 +}
 +
  # Check if the file expected to be empty is indeed empty, and barfs
  # otherwise.
  
@@@ -666,9 -649,12 +669,12 @@@ test_cmp_rev () 
  # similar to GNU seq(1), but the latter might not be available
  # everywhere (and does not do letters).  It may be used like:
  #
- #     for i in `test_seq 100`; do
- #             for j in `test_seq 10 20`; do
- #                     for k in `test_seq a z`; do
+ #     for i in $(test_seq 100)
+ #     do
+ #             for j in $(test_seq 10 20)
+ #             do
+ #                     for k in $(test_seq a z)
+ #                     do
  #                             echo $i-$j-$k
  #                     done
  #             done
@@@ -743,11 -729,6 +749,11 @@@ test_ln_s_add () 
        fi
  }
  
 +# This function writes out its parameters, one per line
 +test_write_lines () {
 +      printf "%s\n" "$@"
 +}
 +
  perl () {
        command "$PERL_PATH" "$@"
  }