All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: Brian Gernhardt <benji@silverinsanity.com>
Cc: Git List <git@vger.kernel.org>
Subject: Re: t0090-cache-tree fails due to wc whitespace
Date: Wed, 14 Dec 2011 16:43:06 +0100	[thread overview]
Message-ID: <201112141643.06656.trast@student.ethz.ch> (raw)
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

  parent reply	other threads:[~2011-12-14 15:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-14 14:35 t0090-cache-tree fails due to wc whitespace Brian Gernhardt
2011-12-14 14:57 ` Stefano Lattarini
2011-12-14 15:09 ` Hallvard Breien Furuseth
2011-12-14 15:41 ` Johannes Sixt
2011-12-20  8:24   ` [PATCH] t0090: be prepared that 'wc -l' writes leading blanks Johannes Sixt
2011-12-20  9:17     ` Thomas Rast
2011-12-14 15:43 ` Thomas Rast [this message]
2011-12-14 15:54   ` t0090-cache-tree fails due to wc whitespace Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201112141643.06656.trast@student.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=benji@silverinsanity.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.