On 30 Nov 2007, at 00:34, Eric Wilhelm wrote:
It's not so-much 'technical limitations' as 'loss of clarity' wrt spaces
that kills the quoted scheme.

I suggest that there be a start sentinel and optional end sentinell

 --test-args --foo --bar --baz --whatever and -- such

Would call the tests with qw(--foo --bar --baz --whatever and -- such).

That is, args continue thru to $ARGV[$#ARGV] if there is no
grep({$ARGV[$_] eq '--end-test-args'} 0..$#ARGV) or so.

This means buzzword#42 (simplethingssimple-hardthingspossible) where the
complicated (aliases, wrappers, etc) case is like:

--test-args --foo --bar --baz --whatever and -- such --end-test- args \
  --more-prove-args and --things "of this nature" -- \
  --and --some --funny-filenames too


Why so verbose?

Aristotle's '::' suggestion is my favourite. It's syntactically clean. It's visually distinct from other switches - so you can easily see that something special is happing. It's short.

If you want to be able to flip flop in and out of test args and prove args modes just repeat it and say that tests can't use '::' as an arg.

$ prove -rb :: gargoyle :: --state=hot,save,all :: splendour :: t/spog.t

--
Andy Armstrong, Hexten




Reply via email to