diff options
author | Ben Walton <bdwalton@gmail.com> | 2014-12-22 15:25:44 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-12-23 07:34:19 -0800 |
commit | d69360c6b17d1693a60b9f723a3ef5129a62c2e5 (patch) | |
tree | 9d5409a348af2c5a025dd3b278485207b486cff5 /t/t0090-cache-tree.sh | |
parent | c2e8e4b9da4d007b15faa2e3d407b2fd279f0572 (diff) | |
download | git-d69360c6b17d1693a60b9f723a3ef5129a62c2e5.tar.gz |
t0090: tweak awk statement for Solaris /usr/xpg4/bin/awkbw/maint-0090-awk-tweak
The awk statements previously used in this test weren't compatible
with the native versions of awk on Solaris:
echo "dir" | /bin/awk -v c=0 '$1 {++c} END {print c}'
awk: syntax error near line 1
awk: bailing out near line 1
echo "dir" | /usr/xpg4/bin/awk -v c=0 '$1 {++c} END {print c}'
0
Even though we do not cater to tools in /usr/bin on Solaris that
have and are overridden by corresponding ones in /usr/xpg?/bin,
in this case, even the XPG version does not work correctly.
With GNU awk for comparison:
echo "dir" | /opt/csw/gnu/awk -v c=0 '$1 {++c} END {print c}'
1
which is what this test expects (and is in line with POSIX; non-empty
string is true and an empty string is false).
Work this issue around by using $1 != "" to state more explicitly
that we are skipping empty lines.
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ben Walton <bdwalton@gmail.com>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0090-cache-tree.sh')
-rwxr-xr-x | t/t0090-cache-tree.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh index 067f4c6e52..601d02d71f 100755 --- a/t/t0090-cache-tree.sh +++ b/t/t0090-cache-tree.sh @@ -22,7 +22,7 @@ generate_expected_cache_tree_rec () { # ls-files might have foo/bar, foo/bar/baz, and foo/bar/quux # We want to count only foo because it's the only direct child subtrees=$(git ls-files|grep /|cut -d / -f 1|uniq) && - subtree_count=$(echo "$subtrees"|awk -v c=0 '$1 {++c} END {print c}') && + subtree_count=$(echo "$subtrees"|awk -v c=0 '$1 != "" {++c} END {print c}') && entries=$(git ls-files|wc -l) && printf "SHA $dir (%d entries, %d subtrees)\n" "$entries" "$subtree_count" && for subtree in $subtrees |