Thread (6 messages) flat view 6 messages, 5 authors, 2016-06-15

Re: t0090-cache-tree fails due to wc whitespace

From: Thomas Rast <hidden>
Date: 2016-06-15 22:52:38

Brian Gernhardt wrote:
It's time for my periodic complaint: People assuming `wc -l` outputs
just a number.  wc on OS X (and perhaps other BSD-like systems)
always aligns the output in columns, even with the -l flag.
Oops.
Generally this results in a quick patch from me to remove some
unneeded quotes.  However, this time it's used in a more complex
manner:
[...]
-           "($(git ls-files|wc -l) entries, 0 subtrees)" >expect &&
+           "($(git ls-files|wc -l|sed -e 's/^ *//') entries, 0 subtrees)" >expect &&
I'm tempted to say we should define

test_wc_l () {
	test $# = 0 || error "bug in test script: passing arguments to wc -l is not portable"
	wc -l | tr -d -c 0-9
}

just to avoid issues if any wc comes across and prints a tab for
padding or says "hi, the number of lines you wanted to know is: 42".



(Oddly, according to 'man 1p wc' here, the POSIXly correct format in
the absence of options is

  "%d %d %d %s\n", <newlines>, <words>, <bytes>, <file>

Taking it literally would mean no padding/alignment whatsoever.
Neither GNU wc on my Linux exactly conforms to this.)

-- 
Thomas Rast
trast@{inf,student}.ethz.ch
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help