Skip to content

Commit d69360c

Browse files
bdwaltongitster
authored andcommitted
t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk
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 <[email protected]> Signed-off-by: Ben Walton <[email protected]> Reviewed-by: Jonathan Nieder <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent c2e8e4b commit d69360c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

t/t0090-cache-tree.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ generate_expected_cache_tree_rec () {
2222
# ls-files might have foo/bar, foo/bar/baz, and foo/bar/quux
2323
# We want to count only foo because it's the only direct child
2424
subtrees=$(git ls-files|grep /|cut -d / -f 1|uniq) &&
25-
subtree_count=$(echo "$subtrees"|awk -v c=0 '$1 {++c} END {print c}') &&
25+
subtree_count=$(echo "$subtrees"|awk -v c=0 '$1 != "" {++c} END {print c}') &&
2626
entries=$(git ls-files|wc -l) &&
2727
printf "SHA $dir (%d entries, %d subtrees)\n" "$entries" "$subtree_count" &&
2828
for subtree in $subtrees

0 commit comments

Comments
 (0)