Skip to content

Commit

Permalink
t/t3300-funny-names: change from skip_all=* to prereq skip
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ævar Arnfjörð Bjarmason authored and Junio C Hamano committed Aug 18, 2010
1 parent a0beb13 commit e1697cc
Showing 1 changed file with 60 additions and 22 deletions.
82 changes: 60 additions & 22 deletions t/t3300-funny-names.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,25 @@ EOF
cat 2>/dev/null >"$p1" "$p0"
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
skip_all='Your filesystem does not allow tabs in filenames, test skipped.'
test_done
}
say 'Your filesystem does not allow tabs in filenames'
fi

test_expect_success TABS_IN_FILENAMES 'setup expect' "
echo 'just space
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 ls-files >current &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
t0=`git write-tree`
echo "$t0" >t0
Expand All @@ -45,18 +51,24 @@ just space
no-funny
"tabs\t,\" (dq) and spaces"
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 ls-files >current &&
test_cmp expected current'

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

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

test_expect_success TABS_IN_FILENAMES 'setup expect' '
t1=`git write-tree`
echo "$t1" >t1
Expand All @@ -65,60 +77,78 @@ just space
no-funny
"tabs\t,\" (dq) and spaces"
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 &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF
A "tabs\t,\" (dq) and spaces"
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 &&
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 &&
test_cmp expected current'

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

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 &&
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 &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF
CNUM no-funny "tabs\t,\" (dq) and spaces"
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 \
$t0 $t1 | sed -e 's/^C[0-9]*/CNUM/' >current &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF
RNUM no-funny "tabs\t,\" (dq) and spaces"
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 diff-index -M --name-status \
$t0 | sed -e 's/^R[0-9]*/RNUM/' >current &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
similarity index NUM%
rename from no-funny
rename to "tabs\t,\" (dq) and spaces"
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 |
sed -e "s/index [0-9]*%/index NUM%/" >current &&
test_cmp expected current'

chmod +x "$p1"
test_expect_success TABS_IN_FILENAMES 'setup expect' '
chmod +x "$p1" &&
cat > expected <<\EOF
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
old mode 100644
Expand All @@ -127,31 +157,39 @@ similarity index NUM%
rename from no-funny
rename to "tabs\t,\" (dq) and spaces"
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 |
sed -e "s/index [0-9]*%/index NUM%/" >current &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat >expected <<\EOF
"tabs\t,\" (dq) and spaces"
1 files changed, 0 insertions(+), 0 deletions(-)
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 apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
test_cmp expected current'

test_expect_success TABS_IN_FILENAMES 'setup expect' '
cat > expected <<\EOF
no-funny
"tabs\t,\" (dq) and spaces"
2 files changed, 3 insertions(+), 3 deletions(-)
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 apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >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 |
sed -ne "/^[-+@]/p" |
git apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
Expand Down

0 comments on commit e1697cc

Please sign in to comment.