in reply to Inscrutable test failure
My guess for the Sunday part was, that maybe time zones and/or daylight savings time are tripping you up, because the DST change is next weekend.
But as Tuesday would have to skip 25 hours to come close to a weekend day, I'm not exactly sure there, unless there also is an off-by-one error somewhere, so that you're unclear on whether a week starts with day 1 or day 0.
What you should learn from there is that you shouldn't just output the value from ->is_weekday in your test diagnostics but also the parameter given to it as input. I often use:
my $timestamp = UnixDate(ParseDate('last sunday'), "%s"); if (! is $obj->is_weekday($timestamp), 0, 'Sunday ($ts) is weekend')) +{ diag "Last sunday = " . localtime($timestamp) . " ($timestamp)"; diag "ParseDate('last sunday'):" . ParseDate('last sunday'); };
That way, you gather more data.
Another lesson to be learned would be to use static timestamps instead of timestamps depending on the time when a test is run. That way you get at least consistent failures/successes, but in your case, that would hide the error in your module(s).
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Inscrutable test failure
by dsheroh (Monsignor) on Oct 26, 2007 at 21:32 UTC | |
by Corion (Patriarch) on Oct 26, 2007 at 21:43 UTC | |
by dsheroh (Monsignor) on Oct 26, 2007 at 21:59 UTC | |
by Corion (Patriarch) on Oct 26, 2007 at 22:06 UTC | |
by dsheroh (Monsignor) on Oct 26, 2007 at 22:23 UTC |