Bug in exclude timeperiods code? (t-tap/test_timeperiods.c)
nap
naparuba at gmail.com
Fri Jul 23 16:56:07 CEST 2010
Hi,
If I'm not wrong the exclude timeperiod feature now working in the
HEAD since the last stable version. I try to add a test case with it
in test_timeperiods.c but I don't think I've got the good result :
I add in t-tap/smallconfig/minimal.cfg theses timeperiods :
define timeperiod{
timeperiod_name Test_exclude
alias Test for exclude timeperiod
tuesday -1 - monday 1 16:30-24:00
exclude myexclude
}
define timeperiod{
timeperiod_name myexclude
alias myexclude
april 1 - august 16 00:00-24:00
saturday -1 - monday 1 16:00-24:00
}
And in the file t-tap/test_timeperiods.c line 404:
/* Tests around clock change going back for TZ=Europe/London.
1256511661 = Sun Oct
25 23:01:01 2009 */
/* A little trip to Paris*/
putenv("TZ=Europe/Paris");
tzset();
temp_timeperiod = find_timeperiod("Test_exclude");
ok(temp_timeperiod!=NULL, "ME: Testing Exclude timeperiod");
test_time=1278939600;
/* printf("Testing at time %s", ctime(&test_time)); */
is_valid_time = check_time_against_period(test_time, temp_timeperiod);
ok( is_valid_time==ERROR, "ME: 12 Jul 2010 15:00:00 - false" );
_get_next_valid_time(test_time, test_time, &chosen_valid_time,
temp_timeperiod);
/* printf("ME: Got chosent time at %s", ctime(&chosen_valid_time)); */
ok( chosen_valid_time==1288103400, "ME: Next valid time=Tue
Oct 26 16:30:00 2010 -> Bug in exclude?");
/* printf("ME Got ask %lu and get %lu\n", test_time,
chosen_valid_time); */
/* Back to New york */
putenv("TZ=America/New_York");
tzset();
The good result should be Tue Oct 26 16:30:00 2010.
We are checking the next valid time for Monday 12 Jul 2010 15:00:00.
It's not valid (it's july tuesday -1 is Tue Jul 27 16:30:00 2010 the
first time available without exclude).
So by months:
*july 27 is not possible because we got nothing until 16 august.
*august : it's the Tues Aug 31, but it's inside "saturday -1 -
monday 1" because saturday -1 is the 28 august, so no.
*september : can be the 28, but saturday -1 is the 25, so still no
*october : now tuesday -1 is 26 and saturday -1 is 30. So ok, it's this one :)
Is is my test false or a bug in the get next valid time with exclude?
Maybe we can try with a less hard case (but I need to run take baby
from the babysitter, so it will be the next week ;) )
Thanks,
Jean
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
More information about the Developers
mailing list