t3300-funny-names: shell portability fixes
echo isn't remotely standardized for handling backslashes, so cat + heredoc seems better Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							fa0f02dfa1
						
					
				
				
					commit
					003d6ddaf4
				
			@ -40,9 +40,11 @@ test_expect_success 'git-ls-files no-funny' \
 | 
			
		||||
t0=`git-write-tree`
 | 
			
		||||
echo "$t0" >t0
 | 
			
		||||
 | 
			
		||||
echo 'just space
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
just space
 | 
			
		||||
no-funny
 | 
			
		||||
"tabs\t,\" (dq) and spaces"' >expected
 | 
			
		||||
"tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success 'git-ls-files with-funny' \
 | 
			
		||||
	'git-update-index --add "$p1" &&
 | 
			
		||||
	git-ls-files >current &&
 | 
			
		||||
@ -58,14 +60,18 @@ test_expect_success 'git-ls-files -z with-funny' \
 | 
			
		||||
t1=`git-write-tree`
 | 
			
		||||
echo "$t1" >t1
 | 
			
		||||
 | 
			
		||||
echo 'just space
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
just space
 | 
			
		||||
no-funny
 | 
			
		||||
"tabs\t,\" (dq) and spaces"' >expected
 | 
			
		||||
"tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success 'git-ls-tree with funny' \
 | 
			
		||||
	'git-ls-tree -r $t1 | sed -e "s/^[^	]*	//" >current &&
 | 
			
		||||
	 diff -u expected current'
 | 
			
		||||
 | 
			
		||||
echo 'A	"tabs\t,\" (dq) and spaces"' >expected
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
A	"tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success 'git-diff-index with-funny' \
 | 
			
		||||
	'git-diff-index --name-status $t0 >current &&
 | 
			
		||||
	diff -u expected current'
 | 
			
		||||
@ -84,53 +90,62 @@ test_expect_success 'git-diff-tree -z with-funny' \
 | 
			
		||||
	'git-diff-tree -z --name-status $t0 $t1 | tr \\0 \\012 >current &&
 | 
			
		||||
	diff -u expected current'
 | 
			
		||||
 | 
			
		||||
echo 'CNUM	no-funny	"tabs\t,\" (dq) and spaces"' >expected
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
CNUM	no-funny	"tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success '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 &&
 | 
			
		||||
	diff -u expected current'
 | 
			
		||||
 | 
			
		||||
echo 'RNUM	no-funny	"tabs\t,\" (dq) and spaces"' >expected
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
RNUM	no-funny	"tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success '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 &&
 | 
			
		||||
	diff -u expected current'
 | 
			
		||||
 | 
			
		||||
echo 'diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
 | 
			
		||||
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"' >expected
 | 
			
		||||
 | 
			
		||||
rename to "tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success 'git-diff-tree delete with-funny' \
 | 
			
		||||
	'git-diff-index -M -p $t0 |
 | 
			
		||||
	 sed -e "s/index [0-9]*%/index NUM%/" >current &&
 | 
			
		||||
	 diff -u expected current'
 | 
			
		||||
 | 
			
		||||
chmod +x "$p1"
 | 
			
		||||
echo 'diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
diff --git a/no-funny "b/tabs\t,\" (dq) and spaces"
 | 
			
		||||
old mode 100644
 | 
			
		||||
new mode 100755
 | 
			
		||||
similarity index NUM%
 | 
			
		||||
rename from no-funny
 | 
			
		||||
rename to "tabs\t,\" (dq) and spaces"' >expected
 | 
			
		||||
 | 
			
		||||
rename to "tabs\t,\" (dq) and spaces"
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success 'git-diff-tree delete with-funny' \
 | 
			
		||||
	'git-diff-index -M -p $t0 |
 | 
			
		||||
	 sed -e "s/index [0-9]*%/index NUM%/" >current &&
 | 
			
		||||
	 diff -u expected current'
 | 
			
		||||
 | 
			
		||||
echo >expected ' "tabs\t,\" (dq) and spaces"
 | 
			
		||||
 1 files changed, 0 insertions(+), 0 deletions(-)'
 | 
			
		||||
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' \
 | 
			
		||||
	'git-diff-index -M -p $t0 |
 | 
			
		||||
	 git-apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
 | 
			
		||||
	 diff -u expected current'
 | 
			
		||||
 | 
			
		||||
echo >expected ' no-funny
 | 
			
		||||
cat > expected <<\EOF
 | 
			
		||||
 no-funny
 | 
			
		||||
 "tabs\t,\" (dq) and spaces"
 | 
			
		||||
 2 files changed, 3 insertions(+), 3 deletions(-)'
 | 
			
		||||
 | 
			
		||||
 2 files changed, 3 insertions(+), 3 deletions(-)
 | 
			
		||||
EOF
 | 
			
		||||
test_expect_success 'git-diff-tree delete with-funny applied' \
 | 
			
		||||
	'git-diff-index -p $t0 |
 | 
			
		||||
	 git-apply --stat | sed -e "s/|.*//" -e "s/ *\$//" >current &&
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user