History log of /src/tests/lib/libutil/t_parsedate.c |
Revision | | Date | Author | Comments |
1.33 |
| 02-May-2022 |
christos | explicitly set TZ=UTC so that we don't depend on the testing rig for it.
|
1.32 |
| 23-Apr-2022 |
christos | 1. add check for December in MM/DD/YYYY 2. unsetenv("TZ") since tests assume UTC (all relative tests and one date test fail otherwise)
|
1.31 |
| 19-Oct-2020 |
kre | Adapt for change to parsedate() which now follows POSIX and altered the dividing line between 21st and 20th century conversions from 69/70 to 68/69. Adapt the tests for this to conform.
|
1.30 |
| 22-Mar-2017 |
kre | Fix typo in a comment.
|
1.29 |
| 22-Mar-2017 |
kre | Add tests for "12 noon", "12 midnight".
|
1.28 |
| 22-Mar-2017 |
kre | Since PR lib/52101 is now fixed, the tests for its bug should no longer fail.
|
1.27 |
| 21-Mar-2017 |
kre | Fix a typo - it doesn't matter now, as the test fails anyway, but it will matter when parsedate is fixed and the test is supposed to succeed.
|
1.26 |
| 21-Mar-2017 |
kre | PR lib/52101
Add 6 extra tests for the 12am/12pm bug - all currently expected to fail. (That is, 6 subtests of the "times" test will fail, all new ones)>
While here, when parsedate() fails (returns -1) avoid converting that failure value (-1) to a struct tm (1969-12-31T23:59:59 UTC) and then comparing the values with those expected by the test, and complaining about all of those (where ANY was not permitted) that don't match...
|
1.25 |
| 22-Jun-2016 |
kre | branches: 1.25.2; 1.25.4;
Remove tests of "dawn" and "sunset" in preparation for removing them from parsedate() itself sometime soon.
|
1.24 |
| 05-May-2016 |
kre | Make the 9 months ago test, when reverting from late November to the end of Feburary just a little less bogus (stupid cut & paste error).
|
1.23 |
| 04-May-2016 |
gson | Reduce the step size, exposing another bug.
|
1.22 |
| 03-May-2016 |
kre | PR bin/50574 - make the tests conform to what parsedate() actually does, so they should no longer fail. This needs parsedate.y 1.28 in order to work properly.
OK christos@
|
1.21 |
| 03-May-2016 |
kre | Whitespace. No changes. OK christos@
|
1.20 |
| 01-May-2016 |
gson | In the "relative" test case, run the tests multiple times relative to various dates over a span of a few decades, instead of just once relative to the current date. This makes the test fail consistently instead of sometimes failing and sometimes not depending on when it is run. Makes PR lib/50574 consistently reproducible.
|
1.19 |
| 31-Dec-2015 |
dholland | Fix REL_CHECK error output; it had "expected" and "obtained" swapped. While here, improve the general legibility of the printout. Not actually relevant to PR 50574, but anyone looking at that should be aware of this change.
|
1.18 |
| 31-Dec-2015 |
dholland | When evaluated on a Sunday, "next Sunday" means 7 days in the future, not 14. When evaluated on a Monday, it apparently means 13 days in the future. There's not exactly a spec for parsedate.y, so conform to the implementation.
PR 50574.
XXX: to me at least this is an odd notion of "next Sunday", but whatever...
|
1.17 |
| 31-Dec-2015 |
dholland | Fix the "Tuesday midnight" test to match what parsedate.y does; in particular it doesn't add a week if evaluating that on Wednesday.
Whether that's right is an open question, but there's not exactly a spec for parsedate.y and there's no point having the test fail one day in seven.
PR 50574.
|
1.16 |
| 08-Dec-2015 |
christos | Kill one more REL_DEBUG, from kre
|
1.15 |
| 07-Dec-2015 |
christos | there is no REL_DEBUG
|
1.14 |
| 07-Dec-2015 |
christos | new tests from kre
|
1.13 |
| 08-Oct-2014 |
apb | 2013-07-09 was in British Summer TIme, so use tzoff=-60, not 0.
|
1.12 |
| 08-Oct-2014 |
apb | When tests fail, print all args, notjust the date string.
|
1.11 |
| 08-Oct-2014 |
apb | Add tests for PR lib/47916. Some of these fail.
|
1.10 |
| 07-Oct-2014 |
apb | Adapt to a recent change in parsedate(). "9/10/69" still refers to 2069, and "9/10/70" still refers to 1970, but "69-09-10" and "70-09-10" now refer to the years 69 and 70.
|
1.9 |
| 07-Oct-2014 |
apb | Add comments for some non-obvious cases. Also add a test with year=70, which is documented to be treated as 1970.
|
1.8 |
| 07-Oct-2014 |
apb | Add local parsecheck() function and use it for several tests.
Instead of just checking that parsedate(3) does not return an error, also pass the result through localtime_r(3) or gmtime_r(3) and check the year/month/day/hour/minute/second fields in the resulting struct tm.
|
1.7 |
| 19-Jan-2013 |
apb | branches: 1.7.8; Test parsedate("@-2",...) (should return -2 and not set errno); and parsedate("@junk",...) (should return -1 and set errno). We were already testing "@-1".
|
1.6 |
| 19-Jan-2013 |
apb | * Test that parsedate("@0", ...) returns (time_t)0 regardless of timezone. * Test that parsedate("@-1", NULL, NULL) returns (time_t)-1 without setting errno.
|
1.5 |
| 18-Mar-2012 |
jruoho | branches: 1.5.2; To be on the safe side, use the category/number notation when referring to PRs (otherwise third-party sed-scripts might miss the references). Also remove white-space.
|
1.4 |
| 17-Mar-2012 |
christos | mention the PR# in the description like everyone else.
|
1.3 |
| 17-Dec-2011 |
apb | branches: 1.3.2; Add some tests for dates several centures into the past and future. These currently fail, but I'll fix that soon.
|
1.2 |
| 21-Dec-2010 |
christos | branches: 1.2.6; We don't expect tests to fail anymore.
|
1.1 |
| 20-Dec-2010 |
njoly | Add testcase from PR/44255, that exercize parsedate(3) with sample strings taken from the manpage.
|
1.2.6.2 |
| 23-Jan-2013 |
yamt | sync with head
|
1.2.6.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.3.2.1 |
| 17-Apr-2015 |
msaitoh | Pull up following revision(s) (requested by nonaka in ticket #1291): tests/lib/libutil/t_parsedate.c: revision 1.4-1.13 lib/libutil/parsedate.y: revision 1.14-1.20 lib/libutil/parsedate.3: revision 1.11-1.14 Distinguish between a non-error result of (time_t)-1 and an error result. Modernise the test code inside #ifdef TEST. add rcsid fix timezone bugs in rev.1.11 and rev.1.13. PR/47916. Some years don't need the "maybe add 1900 or 2000" adjustment that was designed for handling two-digit abbreviated years. For example, "1/2/70" still refers to the year 1970, as before, but "70-01-02" now refers to the year 70. * Add a new yyHaveFullYear member to struct dateinfo, to record whether or not the year needs to be adjusted. * Code that parses years sets yyHaveFullYear=1 if they know that the year should not be adjusted (as is the case for ISO 8601 dates), or if they perform their own adjustment (as is the case for CVS timestamps). * Move the year adjustment code into a new function, AdjustYear, instead of inline in Convert(). * Make Convert() assume the year doesn't need to be adjusted, and make Convert's callers first call AdjustYear() if appropriate. A time like HH:MM:SS.sss says nothing about whether DST is on or off. Add a new non-terminal "time_numericzone" for a time with a numeric timezone. Move some productions from "time" to "time_numericzone". Increment yyHaveZone when encountering one of these. Previously, input of the form "HH:MM:SS +ZZZZ" would not have set the yyhaveZone flag. Improved handling of local times. * A magic value USE_LOCAL_TIME (defined as 99999) may be passed as the Timezone to Convert(), instructing it to use mktime() to work in the local time zone, instead of using mktime_z to work in UTC (and then adding the specified timezone offset). * Some old code is removed now that there's no need to find the local timezone offset. * Allow either one or both of the now and zone arguments to parsedate() to be NULL, treating them independently. Previously, if either one was NULL, the other was ignored. * If the zone argument is specified, then the current date is calculated in the specified zone, not in local time. Also add some disabled debug code. This should fix PR lib/47916. Fix capitalization and typo, from Bug Hunting. Document that errno may be used to distinguish between a non-error result of -1 and an error. Document that years in ISO 8601 dates are taken literally. "69-09-10" is in the year 69, not 2069. The tzoff argument is in minutes (behind/west of UTC), not seconds. While here, also say that time = NULL and tzoff = NULL are independent. The code doesn't yet implement that, but it will soon. mention the PR# in the description like everyone else. To be on the safe side, use the category/number notation when referring to PRs (otherwise third-party sed-scripts might miss the references). Also remove white-space. * Test that parsedate("@0", ...) returns (time_t)0 regardless of timezone. * Test that parsedate("@-1", NULL, NULL) returns (time_t)-1 without setting errno. Test parsedate("@-2",...) (should return -2 and not set errno); and parsedate("@junk",...) (should return -1 and set errno). We were already testing "@-1". Add local parsecheck() function and use it for several tests. Instead of just checking that parsedate(3) does not return an error, also pass the result through localtime_r(3) or gmtime_r(3) and check the year/month/day/hour/minute/second fields in the resulting struct tm. Add comments for some non-obvious cases. Also add a test with year=70, which is documented to be treated as 1970. Adapt to a recent change in parsedate(). "9/10/69" still refers to 2069, and "9/10/70" still refers to 1970, but "69-09-10" and "70-09-10" now refer to the years 69 and 70. Add tests for PR lib/47916. Some of these fail. When tests fail, print all args, notjust the date string. 2013-07-09 was in British Summer TIme, so use tzoff=-60, not 0.
|
1.5.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.7.8.6 |
| 11-Oct-2014 |
snj | Pull up following revision(s) (requested by apb in ticket #135): tests/lib/libutil/t_parsedate.c: revision 1.13 2013-07-09 was in British Summer TIme, so use tzoff=-60, not 0.
|
1.7.8.5 |
| 11-Oct-2014 |
snj | Pull up following revision(s) (requested by apb in ticket #135.10): tests/lib/libutil/t_parsedate.c: revision 1.12 When tests fail, print all args, notjust the date string.
|
1.7.8.4 |
| 11-Oct-2014 |
snj | Pull up following revision(s) (requested by apb in ticket #135): tests/lib/libutil/t_parsedate.c: revision 1.11 Add tests for PR lib/47916. Some of these fail.
|
1.7.8.3 |
| 11-Oct-2014 |
snj | Pull up following revision(s) (requested by apb in ticket #135): tests/lib/libutil/t_parsedate.c: revision 1.10 Adapt to a recent change in parsedate(). "9/10/69" still refers to 2069, and "9/10/70" still refers to 1970, but "69-09-10" and "70-09-10" now refer to the years 69 and 70.
|
1.7.8.2 |
| 11-Oct-2014 |
snj | Pull up following revision(s) (requested by apb in ticket #135): tests/lib/libutil/t_parsedate.c: revision 1.9 Add comments for some non-obvious cases. Also add a test with year=70, which is documented to be treated as 1970.
|
1.7.8.1 |
| 11-Oct-2014 |
snj | Pull up following revision(s) (requested by apb in ticket #135): tests/lib/libutil/t_parsedate.c: revision 1.8 Add local parsecheck() function and use it for several tests. Instead of just checking that parsedate(3) does not return an error, also pass the result through localtime_r(3) or gmtime_r(3) and check the year/month/day/hour/minute/second fields in the resulting struct tm.
|
1.25.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.25.2.1 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|