Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2010-12-13 09:31:51 +0300
committerJunio C Hamano <gitster@pobox.com>2010-12-13 10:17:44 +0300
commita3a6f4c4cdc42a4d432bc51915d3e1d092d8ca9a (patch)
treed7b74ea984fdceefe4bb4831d4c3bf52283e3258 /t/t9300-fast-import.sh
parent491e359c949ef7b7ed3fd24ba59f1b7e4cc17e87 (diff)
t9300: avoid short reads from dd
dd is a thin wrapper around read(2). As open group Issue 7 explains: It shall read the input one block at a time, using the specified input block size; it shall then process the block of data actually returned, which could be smaller than the requested block size. Any short read --- for example from a pipe whose capacity cannot fill a block --- results in that block being truncated. As a result, the first cat-blob test (9300.114) fails on Mac OS X, where the pipe capacity is around 8 KiB. Fix the test by using a block size of 1. Each read will block until the next byte of input is available. It would be even nicer to use head -c which expresses the intention more clearly. Alas, IRIX "head" does not support the -c option. Reported-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9300-fast-import.sh')
-rwxr-xr-xt/t9300-fast-import.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh
index 055ddc6ddc..ed28d3cc83 100755
--- a/t/t9300-fast-import.sh
+++ b/t/t9300-fast-import.sh
@@ -1794,7 +1794,7 @@ test_expect_success PIPE 'R: copy using cat-file' '
read blob_id type size <&3 &&
echo "$blob_id $type $size" >response &&
- dd of=blob bs=$size count=1 <&3 &&
+ dd of=blob bs=1 count=$size <&3 &&
read newline <&3 &&
cat <<EOF &&
@@ -1845,7 +1845,7 @@ test_expect_success PIPE 'R: print blob mid-commit' '
EOF
read blob_id type size <&3 &&
- dd of=actual bs=$size count=1 <&3 &&
+ dd of=actual bs=1 count=$size <&3 &&
read newline <&3 &&
echo
@@ -1880,7 +1880,7 @@ test_expect_success PIPE 'R: print staged blob within commit' '
echo "cat-blob $to_get" &&
read blob_id type size <&3 &&
- dd of=actual bs=$size count=1 <&3 &&
+ dd of=actual bs=1 count=$size <&3 &&
read newline <&3 &&
echo deleteall