# stdout and stderr should be provided on stdin,
 # separated by "--".
 check() {
+       credential_opts=
+       credential_cmd=$1
+       shift
+       for arg in "$@"; do
+               credential_opts="$credential_opts -c credential.helper='$arg'"
+       done
        read_chunk >stdin &&
        read_chunk >expect-stdout &&
        read_chunk >expect-stderr &&
-       test-credential "$@" <stdin >stdout 2>stderr &&
+       if ! eval "git $credential_opts credential $credential_cmd <stdin >stdout 2>stderr"; then
+               echo "git credential failed with code $?" &&
+               cat stderr &&
+               false
+       fi &&
        test_cmp expect-stdout stdout &&
        test_cmp expect-stderr stderr
 }
                echo protocol=$2
                echo host=$3
                echo username=$4
-       ) | test-credential reject $1
+       ) | git -c credential.helper=$1 credential reject
 }
 
 helper_test() {
                protocol=https
                host=example.com
                --
+               protocol=https
+               host=example.com
                username=askpass-username
                password=askpass-password
                --
                protocol=https
                host=example.com
                --
+               protocol=https
+               host=example.com
                username=store-user
                password=store-pass
                --
                protocol=http
                host=example.com
                --
+               protocol=http
+               host=example.com
                username=askpass-username
                password=askpass-password
                --
                protocol=https
                host=other.tld
                --
+               protocol=https
+               host=other.tld
                username=askpass-username
                password=askpass-password
                --
                host=example.com
                username=other
                --
+               protocol=https
+               host=example.com
                username=other
                password=askpass-password
                --
                host=path.tld
                path=bar.git
                --
+               protocol=http
+               host=path.tld
+               path=bar.git
                username=askpass-username
                password=askpass-password
                --
                protocol=https
                host=example.com
                --
+               protocol=https
+               host=example.com
                username=askpass-username
                password=askpass-password
                --
                host=example.com
                username=user1
                --
+               protocol=https
+               host=example.com
                username=user1
                password=pass1
                EOF
                host=example.com
                username=user2
                --
+               protocol=https
+               host=example.com
                username=user2
                password=pass2
                EOF
                host=example.com
                username=user1
                --
+               protocol=https
+               host=example.com
                username=user1
                password=askpass-password
                --
                host=example.com
                username=user2
                --
+               protocol=https
+               host=example.com
                username=user2
                password=pass2
                EOF
                protocol=https
                host=timeout.tld
                --
+               protocol=https
+               host=timeout.tld
                username=askpass-username
                password=askpass-password
                --