Browse Source

t/t3300-funny-names: change from skip_all=* to prereq skip

Change this test to skip test with test prerequisites, and to do setup
work in tests. This improves the skipped statistics on platforms where
the test isn't run.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Ævar Arnfjörð Bjarmason 15 years ago committed by Junio C Hamano
parent
commit
e1697cc5b5
  1. 82
      t/t3300-funny-names.sh

82
t/t3300-funny-names.sh

@ -24,19 +24,25 @@ EOF
cat 2>/dev/null >"$p1" "$p0" cat 2>/dev/null >"$p1" "$p0"
echo 'Foo Bar Baz' >"$p2" echo 'Foo Bar Baz' >"$p2"


test -f "$p1" && cmp "$p0" "$p1" || { if test -f "$p1" && cmp "$p0" "$p1"
then
test_set_prereq TABS_IN_FILENAMES
else
# since FAT/NTFS does not allow tabs in filenames, skip this test # since FAT/NTFS does not allow tabs in filenames, skip this test
skip_all='Your filesystem does not allow tabs in filenames, test skipped.' say 'Your filesystem does not allow tabs in filenames'
test_done fi
}


test_expect_success TABS_IN_FILENAMES 'setup expect' "
echo 'just space echo 'just space
no-funny' >expected no-funny' >expected
test_expect_success 'git ls-files no-funny' \ "

test_expect_success TABS_IN_FILENAMES 'git ls-files no-funny' \
'git update-index --add "$p0" "$p2" && 'git update-index --add "$p0" "$p2" &&
git ls-files >current && git ls-files >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
t0=`git write-tree` t0=`git write-tree`
echo "$t0" >t0 echo "$t0" >t0


@ -45,18 +51,24 @@ just space
no-funny no-funny
"tabs\t,\" (dq) and spaces" "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git ls-files with-funny' \ '

test_expect_success TABS_IN_FILENAMES 'git ls-files with-funny' \
'git update-index --add "$p1" && 'git update-index --add "$p1" &&
git ls-files >current && git ls-files >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' "
echo 'just space echo 'just space
no-funny no-funny
tabs ," (dq) and spaces' >expected tabs ,\" (dq) and spaces' >expected
test_expect_success 'git ls-files -z with-funny' \ "

test_expect_success TABS_IN_FILENAMES 'git ls-files -z with-funny' \
'git ls-files -z | perl -pe y/\\000/\\012/ >current && 'git ls-files -z | perl -pe y/\\000/\\012/ >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
t1=`git write-tree` t1=`git write-tree`
echo "$t1" >t1 echo "$t1" >t1


@ -65,60 +77,78 @@ just space
no-funny no-funny
"tabs\t,\" (dq) and spaces" "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git ls-tree with funny' \ '

test_expect_success TABS_IN_FILENAMES 'git ls-tree with funny' \
'git ls-tree -r $t1 | sed -e "s/^[^ ]* //" >current && 'git ls-tree -r $t1 | sed -e "s/^[^ ]* //" >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF cat > expected <<\EOF
A "tabs\t,\" (dq) and spaces" A "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git diff-index with-funny' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-index with-funny' \
'git diff-index --name-status $t0 >current && 'git diff-index --name-status $t0 >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success 'git diff-tree with-funny' \ test_expect_success TABS_IN_FILENAMES 'git diff-tree with-funny' \
'git diff-tree --name-status $t0 $t1 >current && 'git diff-tree --name-status $t0 $t1 >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' "
echo 'A echo 'A
tabs ," (dq) and spaces' >expected tabs ,\" (dq) and spaces' >expected
test_expect_success 'git diff-index -z with-funny' \ "

test_expect_success TABS_IN_FILENAMES 'git diff-index -z with-funny' \
'git diff-index -z --name-status $t0 | perl -pe y/\\000/\\012/ >current && 'git diff-index -z --name-status $t0 | perl -pe y/\\000/\\012/ >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success 'git diff-tree -z with-funny' \ test_expect_success TABS_IN_FILENAMES 'git diff-tree -z with-funny' \
'git diff-tree -z --name-status $t0 $t1 | perl -pe y/\\000/\\012/ >current && 'git diff-tree -z --name-status $t0 $t1 | perl -pe y/\\000/\\012/ >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF cat > expected <<\EOF
CNUM no-funny "tabs\t,\" (dq) and spaces" CNUM no-funny "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git diff-tree -C with-funny' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-tree -C with-funny' \
'git diff-tree -C --find-copies-harder --name-status \ 'git diff-tree -C --find-copies-harder --name-status \
$t0 $t1 | sed -e 's/^C[0-9]*/CNUM/' >current && $t0 $t1 | sed -e 's/^C[0-9]*/CNUM/' >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF cat > expected <<\EOF
RNUM no-funny "tabs\t,\" (dq) and spaces" RNUM no-funny "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git diff-tree delete with-funny' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-tree delete with-funny' \
'git update-index --force-remove "$p0" && 'git update-index --force-remove "$p0" &&
git diff-index -M --name-status \ git diff-index -M --name-status \
$t0 | sed -e 's/^R[0-9]*/RNUM/' >current && $t0 | sed -e 's/^R[0-9]*/RNUM/' >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF cat > expected <<\EOF
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces" diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
similarity index NUM% similarity index NUM%
rename from no-funny rename from no-funny
rename to "tabs\t,\" (dq) and spaces" rename to "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git diff-tree delete with-funny' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-tree delete with-funny' \
'git diff-index -M -p $t0 | 'git diff-index -M -p $t0 |
sed -e "s/index [0-9]*%/index NUM%/" >current && sed -e "s/index [0-9]*%/index NUM%/" >current &&
test_cmp expected current' test_cmp expected current'


chmod +x "$p1" test_expect_success TABS_IN_FILENAMES 'setup expect' '
chmod +x "$p1" &&
cat > expected <<\EOF cat > expected <<\EOF
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces" diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
old mode 100644 old mode 100644
@ -127,31 +157,39 @@ similarity index NUM%
rename from no-funny rename from no-funny
rename to "tabs\t,\" (dq) and spaces" rename to "tabs\t,\" (dq) and spaces"
EOF EOF
test_expect_success 'git diff-tree delete with-funny' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-tree delete with-funny' \
'git diff-index -M -p $t0 | 'git diff-index -M -p $t0 |
sed -e "s/index [0-9]*%/index NUM%/" >current && sed -e "s/index [0-9]*%/index NUM%/" >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat >expected <<\EOF cat >expected <<\EOF
"tabs\t,\" (dq) and spaces" "tabs\t,\" (dq) and spaces"
1 files changed, 0 insertions(+), 0 deletions(-) 1 files changed, 0 insertions(+), 0 deletions(-)
EOF EOF
test_expect_success 'git diff-tree rename with-funny applied' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-tree rename with-funny applied' \
'git diff-index -M -p $t0 | 'git diff-index -M -p $t0 |
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current && git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF cat > expected <<\EOF
no-funny no-funny
"tabs\t,\" (dq) and spaces" "tabs\t,\" (dq) and spaces"
2 files changed, 3 insertions(+), 3 deletions(-) 2 files changed, 3 insertions(+), 3 deletions(-)
EOF EOF
test_expect_success 'git diff-tree delete with-funny applied' \ '

test_expect_success TABS_IN_FILENAMES 'git diff-tree delete with-funny applied' \
'git diff-index -p $t0 | 'git diff-index -p $t0 |
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current && git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
test_cmp expected current' test_cmp expected current'


test_expect_success 'git apply non-git diff' \ test_expect_success TABS_IN_FILENAMES 'git apply non-git diff' \
'git diff-index -p $t0 | 'git diff-index -p $t0 |
sed -ne "/^[-+@]/p" | sed -ne "/^[-+@]/p" |
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current && git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&

Loading…
Cancel
Save