Adam Roben <aroben@xxxxxxxxx> writes: > Signed-off-by: Adam Roben <aroben@xxxxxxxxx> > --- > t/t1006-cat-file.sh | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 101 insertions(+), 0 deletions(-) > create mode 100755 t/t1006-cat-file.sh > > diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh > new file mode 100755 > index 0000000..15741d9 > --- /dev/null > +++ b/t/t1006-cat-file.sh > @@ -0,0 +1,101 @@ > +#!/bin/sh > + > +test_description='git cat-file' > + > +. ./test-lib.sh > + > +function echo_without_newline() > +{ > + echo "$@\c" > +} "function " noiseword is unnecessary and unportable. echo "\c" is unportable. Traditional trick to do this is to pipe it to tr to strip "\010". When you see "<anything>$@<anything>" in shell scripts, you usually do not mean it, but instead mean "<anything>$*<anything>". It does not make difference if you always feed a single parameter, but it is a good habit to get into. > +function maybe_remove_timestamp() > +{ > + if test -z "$2"; then > + echo_without_newline "$1" > + else > + echo_without_newline "$1" | sed -e 's/ [0-9]\{10\} [+-][0-9]\{4\}$//' We tend to avoid \{num\| for portability. Do you really need them here? > +function run_tests() > +{ > + type=$1 > + sha1=$2 > + size=$3 > + content=$4 > + pretty_content=$5 > + no_timestamp=$6 > + > + test_expect_success \ > + "$type exists" \ > + "git cat-file -e $sha1" > + test_expect_success \ > + "Type of $type is correct" \ > + "test $type = \"\$(git cat-file -t $sha1)\"" It is quite hard to read with backslashes inside dq. Please use single quote pairs without excess backslashes when possible. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html