t1402-check-ref-format: skip tests of refs beginning with slash on Windows
Bash on Windows converts program arguments that look like absolute POSIX paths to their Windows form, i.e., drive-letter-colon format. For this reason, those tests in t1402 that check refs that begin with a slash do not work as expected on Windows: valid_ref tests are doomed to fail, and invalid_ref tests fail for the wrong reason (that there is a colon rather than that they begin with a slash). Skip these tests. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
dce4bab656
commit
42afe62df4
|
@ -5,38 +5,40 @@ test_description='Test git check-ref-format'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
valid_ref() {
|
valid_ref() {
|
||||||
if test "$#" = 1
|
prereq=
|
||||||
then
|
case $1 in
|
||||||
test_expect_success "ref name '$1' is valid" \
|
[A-Z]*)
|
||||||
"git check-ref-format '$1'"
|
prereq=$1
|
||||||
else
|
shift
|
||||||
test_expect_success "ref name '$1' is valid with options $2" \
|
esac
|
||||||
"git check-ref-format $2 '$1'"
|
test_expect_success $prereq "ref name '$1' is valid${2:+ with options $2}" "
|
||||||
fi
|
git check-ref-format $2 '$1'
|
||||||
|
"
|
||||||
}
|
}
|
||||||
invalid_ref() {
|
invalid_ref() {
|
||||||
if test "$#" = 1
|
prereq=
|
||||||
then
|
case $1 in
|
||||||
test_expect_success "ref name '$1' is invalid" \
|
[A-Z]*)
|
||||||
"test_must_fail git check-ref-format '$1'"
|
prereq=$1
|
||||||
else
|
shift
|
||||||
test_expect_success "ref name '$1' is invalid with options $2" \
|
esac
|
||||||
"test_must_fail git check-ref-format $2 '$1'"
|
test_expect_success $prereq "ref name '$1' is invalid${2:+ with options $2}" "
|
||||||
fi
|
test_must_fail git check-ref-format $2 '$1'
|
||||||
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
invalid_ref ''
|
invalid_ref ''
|
||||||
invalid_ref '/'
|
invalid_ref NOT_MINGW '/'
|
||||||
invalid_ref '/' --allow-onelevel
|
invalid_ref NOT_MINGW '/' --allow-onelevel
|
||||||
invalid_ref '/' --normalize
|
invalid_ref NOT_MINGW '/' --normalize
|
||||||
invalid_ref '/' '--allow-onelevel --normalize'
|
invalid_ref NOT_MINGW '/' '--allow-onelevel --normalize'
|
||||||
valid_ref 'foo/bar/baz'
|
valid_ref 'foo/bar/baz'
|
||||||
valid_ref 'foo/bar/baz' --normalize
|
valid_ref 'foo/bar/baz' --normalize
|
||||||
invalid_ref 'refs///heads/foo'
|
invalid_ref 'refs///heads/foo'
|
||||||
valid_ref 'refs///heads/foo' --normalize
|
valid_ref 'refs///heads/foo' --normalize
|
||||||
invalid_ref 'heads/foo/'
|
invalid_ref 'heads/foo/'
|
||||||
invalid_ref '/heads/foo'
|
invalid_ref NOT_MINGW '/heads/foo'
|
||||||
valid_ref '/heads/foo' --normalize
|
valid_ref NOT_MINGW '/heads/foo' --normalize
|
||||||
invalid_ref '///heads/foo'
|
invalid_ref '///heads/foo'
|
||||||
valid_ref '///heads/foo' --normalize
|
valid_ref '///heads/foo' --normalize
|
||||||
invalid_ref './foo'
|
invalid_ref './foo'
|
||||||
|
@ -115,14 +117,14 @@ invalid_ref "$ref" --refspec-pattern
|
||||||
invalid_ref "$ref" '--refspec-pattern --allow-onelevel'
|
invalid_ref "$ref" '--refspec-pattern --allow-onelevel'
|
||||||
|
|
||||||
ref='/foo'
|
ref='/foo'
|
||||||
invalid_ref "$ref"
|
invalid_ref NOT_MINGW "$ref"
|
||||||
invalid_ref "$ref" --allow-onelevel
|
invalid_ref NOT_MINGW "$ref" --allow-onelevel
|
||||||
invalid_ref "$ref" --refspec-pattern
|
invalid_ref NOT_MINGW "$ref" --refspec-pattern
|
||||||
invalid_ref "$ref" '--refspec-pattern --allow-onelevel'
|
invalid_ref NOT_MINGW "$ref" '--refspec-pattern --allow-onelevel'
|
||||||
invalid_ref "$ref" --normalize
|
invalid_ref NOT_MINGW "$ref" --normalize
|
||||||
valid_ref "$ref" '--allow-onelevel --normalize'
|
valid_ref NOT_MINGW "$ref" '--allow-onelevel --normalize'
|
||||||
invalid_ref "$ref" '--refspec-pattern --normalize'
|
invalid_ref NOT_MINGW "$ref" '--refspec-pattern --normalize'
|
||||||
valid_ref "$ref" '--refspec-pattern --allow-onelevel --normalize'
|
valid_ref NOT_MINGW "$ref" '--refspec-pattern --allow-onelevel --normalize'
|
||||||
|
|
||||||
test_expect_success "check-ref-format --branch @{-1}" '
|
test_expect_success "check-ref-format --branch @{-1}" '
|
||||||
T=$(git write-tree) &&
|
T=$(git write-tree) &&
|
||||||
|
@ -155,21 +157,35 @@ test_expect_success 'check-ref-format --branch from subdir' '
|
||||||
'
|
'
|
||||||
|
|
||||||
valid_ref_normalized() {
|
valid_ref_normalized() {
|
||||||
test_expect_success "ref name '$1' simplifies to '$2'" "
|
prereq=
|
||||||
|
case $1 in
|
||||||
|
[A-Z]*)
|
||||||
|
prereq=$1
|
||||||
|
shift
|
||||||
|
esac
|
||||||
|
test_expect_success $prereq "ref name '$1' simplifies to '$2'" "
|
||||||
refname=\$(git check-ref-format --normalize '$1') &&
|
refname=\$(git check-ref-format --normalize '$1') &&
|
||||||
test \"\$refname\" = '$2'"
|
test \"\$refname\" = '$2'
|
||||||
|
"
|
||||||
}
|
}
|
||||||
invalid_ref_normalized() {
|
invalid_ref_normalized() {
|
||||||
test_expect_success "check-ref-format --normalize rejects '$1'" "
|
prereq=
|
||||||
test_must_fail git check-ref-format --normalize '$1'"
|
case $1 in
|
||||||
|
[A-Z]*)
|
||||||
|
prereq=$1
|
||||||
|
shift
|
||||||
|
esac
|
||||||
|
test_expect_success $prereq "check-ref-format --normalize rejects '$1'" "
|
||||||
|
test_must_fail git check-ref-format --normalize '$1'
|
||||||
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
valid_ref_normalized 'heads/foo' 'heads/foo'
|
valid_ref_normalized 'heads/foo' 'heads/foo'
|
||||||
valid_ref_normalized 'refs///heads/foo' 'refs/heads/foo'
|
valid_ref_normalized 'refs///heads/foo' 'refs/heads/foo'
|
||||||
valid_ref_normalized '/heads/foo' 'heads/foo'
|
valid_ref_normalized NOT_MINGW '/heads/foo' 'heads/foo'
|
||||||
valid_ref_normalized '///heads/foo' 'heads/foo'
|
valid_ref_normalized '///heads/foo' 'heads/foo'
|
||||||
invalid_ref_normalized 'foo'
|
invalid_ref_normalized 'foo'
|
||||||
invalid_ref_normalized '/foo'
|
invalid_ref_normalized NOT_MINGW '/foo'
|
||||||
invalid_ref_normalized 'heads/foo/../bar'
|
invalid_ref_normalized 'heads/foo/../bar'
|
||||||
invalid_ref_normalized 'heads/./foo'
|
invalid_ref_normalized 'heads/./foo'
|
||||||
invalid_ref_normalized 'heads\foo'
|
invalid_ref_normalized 'heads\foo'
|
||||||
|
|
Loading…
Reference in New Issue