git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Thomas Rast <trast@student.ethz.ch>
Date
Dec 14, 2011, 15:43 UTC
Message-ID
<201112141643.06656.trast@student.ethz.ch>
In-Reply-To
<7F1792D2-8ED4-4546-8ED4-52B95E0AE9FC@silverinsanity.com>
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
Previous: Thomas RastNext: Andreas Schwab
Message 7 of 8 in “t0090-cache-tree fails due to wc whitespace”
  1. Brian GernhardtDec 14, 2011
  2. Stefano LattariniDec 14, 2011
  3. Hallvard Breien FurusethDec 14, 2011
  4. Johannes SixtDec 14, 2011
  5. t0090: be prepared that 'wc -l' writes leading blanksJohannes Sixt, Dec 20, 2011
  6. Thomas RastDec 20, 2011
  7. Thomas RastDec 14, 2011
  8. Andreas SchwabDec 14, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.