CronTabTest fails to complete and gets stuck in an infinite loop inside the code under test.
The scheduler keeps bounding arround on the year change and never completes making runnning unit tests impossible (even if you ignore failures!)
... Running hudson.scheduler.CronTabTest 01-Mar-2000 01:30:00 vs 01-Mar-2000 01:30:00 01-Mar-2000 02:00:00 vs 01-Mar-2000 02:00:00 01-Mar-2000 03:15:00 vs 01-Mar-2000 03:15:00 01-Aug-2010 00:00:00 vs 01-Aug-2010 00:00:00 01-Mar-2000 01:30:00 vs 01-Mar-2000 01:30:00 01-Mar-2000 00:30:00 vs 01-Mar-2000 00:30:00 01-Mar-2000 03:45:00 vs 01-Mar-2000 03:45:00 (ctrl-c here) Destroying 1 processes Destroying process.. Destroyed 1 processes Terminate batch job (Y/N)? y
The test in question is testFloor3
As scheduling is a major part of Hudson I'm not sure why this hasn't caused any issues in the field.
- is related to
-
JENKINS-8669 CronTab.ceil on workdays returns day in the past
-
- Resolved
-
test appears to be passing on http://ci.hudson-labs.org/job/hudson_main_trunk/422/
which leaves environment issues - but there doesn't seem to be anyhting in the way of an environment that would affect it.
It fails on my two windows machines but works on the Linux CI.
I have tested with different timezones and Locales.
mvn test -Dtest=CronTabTest -Duser.timezone=US/Pacific -Duser.language=en -Duser.region=US
The issue is that when it rounds down the DAY_OF_WEEK from 6 to 0 (2011-01-01 23:59:00.000)
it is not clever enough to work out that this is going back in time to the previous Sunday and not the next sunday - which may normally surfice but this causes a loop as we don't round go to 2010-12-26 25:59:00.000 but 2011-01-02 23:59:00.000 and this causes a loop.
There is no platform specic code that I can see that would explain the test passing elsewhere.
appears to