Nicholas Clark schrieb:
On Sun, Jan 07, 2007 at 03:34:41PM +0800, Lee Duhem wrote:
I think we need some diff-like facility for string in Test::More
(or somewhere else appropriate), these options of diff for files
will be wanted:

 -E  --ignore-tab-expansion  Ignore changes due to tab expansion.
 -b  --ignore-space-change  Ignore changes in the amount of white space.
 -w  --ignore-all-space  Ignore all white space.
 -B  --ignore-blank-lines  Ignore changes whose lines are all blank.
 --strip-trailing-cr  Strip trailing carriage return on input.
Shouldn't that have failed tests before it was checked in?

I'm not convinced that allowing slop in expected output is a good idea.
It introduces (more) complexity into the tests, which increases the chance
for false positives (errors in the tests reporting themselves as failures,
distracting developers) and false negatives (tests not spotting real errors)

I think the t/examples/past.t is one of the rare cases where ignoring whitespace would be useful. Generated code is allowed to change, as long as it still does the wanted thing. However, the only purpose of t/examples/past.t is to check that examples/past/01-sub.pir is still working. This can be guaranteed with a regexp-based sanity check, as it is done now.
So there is no immediate need for action.

I propose to use Test::Differences for other reasons. When comparing texts with eq_or_diff() it is much easier to see where the deviation is. It is also much easier to decide wheter the code
or the test is incorrect.

Regards, Bernhard





Reply via email to