Commit Graph

175 Commits

Author SHA1 Message Date
Victor Stinner 4bfb460d88 Issue #22117: time.monotonic() now uses the new _PyTime_t API
* Add _PyTime_FromNanoseconds()
* Add _PyTime_AsSecondsDouble()
* Add unit tests for _PyTime_AsSecondsDouble()
2015-03-27 22:27:24 +01:00
Victor Stinner 992c43fec9 Issue #22117: Fix rounding in _PyTime_FromSecondsObject()
* Rename _PyTime_FromObject() to _PyTime_FromSecondsObject()
* Add _PyTime_AsNanosecondsObject() and _testcapi.pytime_fromsecondsobject()
* Add unit tests
2015-03-27 17:12:45 +01:00
Victor Stinner 8c8b4e0ebf Issue #11188, #19748: mktime() returns -1 on error. On Linux, the tm_wday field
is used as a sentinel () to detect if -1 is really an error or a valid
timestamp. On AIX, tm_wday is unchanged even on success and so cannot be used
as a sentinel.
2014-02-21 23:54:32 +01:00
Victor Stinner 1ac42614e3 Issue #19748: On AIX, time.mktime() now raises an OverflowError for year
outsize range [1902; 2037].
2014-02-21 09:27:17 +01:00
Victor Stinner 3c1b379ebd Issue #20320: select.select() and select.kqueue.control() now round the timeout
aways from zero, instead of rounding towards zero.

It should make test_asyncio more reliable, especially test_timeout_rounding() test.
2014-02-17 00:02:43 +01:00
Serhiy Storchaka f28ba369dd Issue #20532: Tests which use _testcapi now are marked as CPython only. 2014-02-07 10:10:55 +02:00
Serhiy Storchaka 5cfc79deae Issue #20532: Tests which use _testcapi now are marked as CPython only. 2014-02-07 10:06:39 +02:00
Zachary Ware 393a94243f Issue #20101: Merge with 3.3 2014-01-02 09:43:09 -06:00
Zachary Ware 487aedb77c Issue #20101: Allow test_monotonic to pass on Windows machines on which
time.get_clock_info('monotonic').resolution == 0.015600099999999999

This is just a workaround pending a real resolution to #20101.
2014-01-02 09:41:10 -06:00
Victor Stinner a4275b276c (Merge 3.3) Close #19999: tolerate coarse time when testing time.monotonic() on
very busy/slow buildbot
2013-12-16 22:38:46 +01:00
Victor Stinner 170078804c Close #19999: tolerate coarse time when testing time.monotonic() on very
busy/slow buildbot
2013-12-16 22:36:50 +01:00
Zachary Ware 101d9e7250 Issue 19572: More silently skipped tests explicitly skipped. 2013-12-08 00:44:27 -06:00
Zachary Ware 9fe6d86709 Issue 19572: More silently skipped tests explicitly skipped. 2013-12-08 00:20:35 -06:00
Serhiy Storchaka b5d386314f Issue #19545: Avoid chained exceptions while passing stray % to
time.strptime().  Initial patch by Claudiu Popa.
2013-11-24 18:17:11 +02:00
Serhiy Storchaka cdac302af3 Issue #19545: Avoid chained exceptions while passing stray % to
time.strptime().  Initial patch by Claudiu Popa.
2013-11-24 18:15:37 +02:00
Victor Stinner 6c86181cd1 Issue #19715: Ensure that consecutive calls to monotonic() are monotonic 2013-11-23 00:15:27 +01:00
Victor Stinner a9c99a6119 test_time.test_monotonic(): use a longer sleep to try to make the test more reliable 2013-07-03 23:07:37 +02:00
Ezio Melotti 3836d70ed5 #17690: test_time now works with unittest test discovery. Patch by Zachary Ware. 2013-04-11 20:29:42 +03:00
Ezio Melotti 0f38908684 #17572: Avoid chained exceptions while passing bad directives to time.strptime(). Initial patch by Claudiu Popa. 2013-04-04 02:09:20 +03:00
Andrew Svetlov 5b89840d9c Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:26:36 +02:00
Andrew Svetlov 737fb89dd1 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:14:22 +02:00
Alexander Belopolsky c142bba2a7 Issue #1667546: On platforms supporting tm_zone and tm_gmtoff fields
in struct tm, time.struct_time objects returned by time.gmtime(),
time.localtime() and time.strptime() functions now have tm_zone and
tm_gmtoff attributes.  Original patch by Paul Boddie.
2012-06-13 22:15:26 -04:00
Victor Stinner 6222d76952 Fix test_time for adjusted/adjustable changes 2012-06-12 23:04:11 +02:00
Victor Stinner 2b89fdf7eb PEP 418: Rename adjusted attribute to adjustable in time.get_clock_info() result
Fix also its value on Windows and Linux according to its documentation:
"adjustable" indicates if the clock *can be* adjusted, not if it is or was
adjusted.

In most cases, it is not possible to indicate if a clock is or was adjusted.
2012-06-12 22:46:37 +02:00
Victor Stinner 0dec1bfef9 Fix sporadic failure of test_time.test_process_time() on Windows
Use a threshold of 20 ms instead of 10 ms.
2012-06-01 22:45:23 +02:00
Benjamin Peterson 1c5ae55c85 don't use assertEqual for test for bool equality 2012-05-01 11:14:32 -04:00
Benjamin Peterson 49a69e4d48 strip is_ prefixes on clock_info fields 2012-05-01 09:38:34 -04:00
Victor Stinner 9a8ad0c5ea Issue #14428: Remove test_process_time_threads() from test_time
The test is unstable and it's not really interesting to test exactly how
threads are handled.
2012-04-30 01:39:57 +02:00
Victor Stinner 5df72c2c27 Issue #14428: Make test_process_time_threads() less strict 2012-04-30 00:51:31 +02:00
Victor Stinner 1fc3ec91cc Issue #14428: Rewrite test_process_time_threads() test
time.process_time() is CPU time, not a number of seconds.
2012-04-29 19:46:19 +02:00
Victor Stinner ec89539ccc Issue #14428, #14397: Implement the PEP 418
* Rename time.steady() to time.monotonic()
 * On Windows, time.monotonic() uses GetTickCount/GetTickCount64() instead of
   QueryPerformanceCounter()
 * time.monotonic() uses CLOCK_HIGHRES if available
 * Add time.get_clock_info(), time.perf_counter() and time.process_time()
   functions
2012-04-29 02:41:27 +02:00
Victor Stinner 30d79471bb Expose clock_settime() as time.clock_settime() 2012-04-03 00:45:07 +02:00
Victor Stinner 071eca3f5c Issue #10278: Add an optional strict argument to time.steady(), False by default 2012-03-15 01:17:09 +01:00
Victor Stinner ec919cc74d Issue #10278: Drop time.monotonic() function, rename time.wallclock() to time.steady()
* On Mac OS X, time.steady() now uses mach_absolute_time(), a monotonic clock
 * Optimistic change: bet that CLOCK_MONOTONIC and CLOCK_REALTIME are available
   when clock_gettime() is available
 * Rewrite time.steady() documentation
2012-03-15 00:58:32 +01:00
Victor Stinner 5d272cc6a2 Close #14180: Factorize code to convert a number of seconds to time_t, timeval or timespec
time.ctime(), gmtime(), time.localtime(), datetime.date.fromtimestamp(),
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now
raises an OverflowError, instead of a ValueError, if the timestamp does not fit
in time_t.

datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now
round microseconds towards zero instead of rounding to nearest with ties going
away from zero.
2012-03-13 13:35:55 +01:00
Victor Stinner 643cd68ea4 Issue #13964: signal.sigtimedwait() timeout is now a float instead of a tuple
Add a private API to convert an int or float to a C timespec structure.
2012-03-02 22:54:03 +01:00
Victor Stinner 4195b5caea Backout f8409b3d6449: the PEP 410 is not accepted yet 2012-02-08 23:03:19 +01:00
Victor Stinner ccd5715a14 PEP 410 2012-02-08 14:31:50 +01:00
Victor Stinner 8b30201f7d Issue #13846: Add time.monotonic(), monotonic clock. 2012-02-07 23:29:46 +01:00
Victor Stinner 2d6251c7f7 Issue #13847: Fix test_time, time.gmtime() doesn't use localtime()
On Windows, localtime(-1) fails, but not gmtime(1).
2012-01-30 00:23:32 +01:00
Victor Stinner 53d3645f95 Issue #13847: Make test_localtime_failure() more robust
Skip the test if we are unable to find an invalid time_t value.
2012-01-27 01:03:25 +01:00
Victor Stinner 2cbae98ea4 Issue #13847: Fix test_mktime(), time.localtime() now raises OSError 2012-01-27 00:50:33 +01:00
Victor Stinner c1b5d34ede Issue #13847: time.localtime() and time.gmtime() now raise an OSError instead
of ValueError on failure. time.ctime() and time.asctime() now raises an
OSError if localtime() failed.
2012-01-27 00:08:48 +01:00
Victor Stinner 4ccc727793 Issue #10278: wallclock() cannot go backward, but two consecutive calls
may return the same time.
2012-01-23 23:48:41 +01:00
Victor Stinner 2dd254d17a Issue #10278: Be more explicit in tests than wallclock() is monotonic (cannot
go backward)
2012-01-20 02:24:18 +01:00
Antoine Pitrou 391166fbfc Be more lenient in test_wallclock (issue #10278). 2012-01-18 22:35:21 +01:00
Victor Stinner b94b266cfc Close #10278: Add time.wallclock() function, monotonic clock. 2012-01-18 01:50:21 +01:00
Victor Stinner 10a6ddb062 Issue #11886: Fix also test_time for the non-DST timezone name (EST/AEST) 2011-12-10 14:37:53 +01:00
Victor Stinner bc9f0c68f5 (Merge 3.2) Issue #11886: workaround an OS bug (time zone data) in test_time
Australian Eastern Standard Time (UTC+10) is called "EST" (as Eastern Standard
Time, UTC-5) instead of "AEST" on some operating systems (e.g. FreeBSD), which
is wrong. See for example this bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=93810
2011-12-08 00:33:14 +01:00
Victor Stinner 0cd479074d Issue #11886: workaround an OS bug (time zone data) in test_time
Australian Eastern Standard Time (UTC+10) is called "EST" (as Eastern Standard
Time, UTC-5) instead of "AEST" on some operating systems (e.g. FreeBSD), which
is wrong. See for example this bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=93810
2011-12-08 00:32:51 +01:00
Florent Xicluna e54371e24c Use unittest.skipUnless to skip the test related to the glibc bug, issue #13309. 2011-11-11 18:59:30 +01:00
Antoine Pitrou b0a1d628b8 Avoid a glibc bug in test_time (issue #13309) 2011-11-11 03:04:35 +01:00
Florent Xicluna 2fbc185209 Issue #13312: skip the failing negative years for now. 2011-11-02 08:13:43 +01:00
Florent Xicluna dfee6c8dee Actually, there's more than one failing value. (changeset 9cb1b85237a9, issue #13312). 2011-11-02 03:22:15 +01:00
Florent Xicluna e2a732e706 Issue #13312: skip the single failing value for now. 2011-11-02 01:28:17 +01:00
Florent Xicluna d1bd7f7730 Additional tests for negative years. 2011-11-01 23:42:05 +01:00
Florent Xicluna 725af4dc1d Lowercase the test name, to run last. 2011-11-01 17:42:24 +01:00
Florent Xicluna 050c7e64cd Replace temporary tests with the real test case for issue #13309 on Gentoo. 2011-11-01 16:58:54 +01:00
Florent Xicluna 712b14fc2a Troubleshoot issue #13309 on Gentoo buildbot. 2011-11-01 16:07:23 +01:00
Florent Xicluna 752c1d4c02 Add temporary tests to troubleshoot issue #13309 on Gentoo buildbot. 2011-11-01 15:12:34 +01:00
Florent Xicluna bceb528af5 Test the year range supported by time.strftime() and time.asctime(). 2011-11-01 14:11:34 +01:00
Florent Xicluna 49ce06858b Strengthen the tests for format '%Y', in relation with issue #13305. 2011-11-01 12:56:14 +01:00
Victor Stinner e0be423297 Close #10278: Add clock_getres(), clock_gettime() and CLOCK_xxx constants to
the time module. time.clock_gettime(time.CLOCK_MONOTONIC) provides a monotonic
clock
2011-10-25 13:06:09 +02:00
Victor Stinner 7f53a5027d Issue #12459: time.sleep() now raises a ValueError if the sleep length is
negative, instead of an infinite sleep on Windows or raising an IOError on
Linux for example, to have the same behaviour on all platforms.
2011-07-05 22:00:25 +02:00
Alexander Belopolsky 03163ac185 Issue #11930: Remove deprecated time.accept2dyear. 2011-05-02 12:20:52 -04:00
Senthil Kumaran ae664fb528 Merge from 3.1 2011-04-06 14:11:09 +08:00
Senthil Kumaran 8f377a3bbe Issue #10762: Guard against invalid/non-supported format string '%f' on Windows. Patch Santoso Wijaya. 2011-04-06 12:54:06 +08:00
Victor Stinner 13ed2ea7a2 Issue #10864 has been fixed: remove the workaround 2011-03-21 02:11:01 +01:00
Alexander Belopolsky 622ce124b6 Merged revisions 87921 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87921 | alexander.belopolsky | 2011-01-10 21:22:16 -0500 (Mon, 10 Jan 2011) | 1 line

  This should fix mktime test on Windows
........
2011-02-15 15:58:04 +00:00
Alexander Belopolsky 4fb96f41f4 Merged revisions 87919 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87919 | alexander.belopolsky | 2011-01-10 20:21:25 -0500 (Mon, 10 Jan 2011) | 4 lines

  Issue #1726687: time.mktime() will now correctly compute value one
  second before epoch.  Original patch by Peter Wang, reported by Martin
  Blais.
........
2011-02-15 15:40:59 +00:00
Alexander Belopolsky a6892418ad This should fix mktime test on Windows 2011-01-11 02:22:16 +00:00
Alexander Belopolsky 31c5dd6b19 Make mktime test more robust. 2011-01-11 01:35:22 +00:00
Alexander Belopolsky b7d40d1702 Issue #1726687: time.mktime() will now correctly compute value one
second before epoch.  Original patch by Peter Wang, reported by Martin
Blais.
2011-01-11 01:21:25 +00:00
Victor Stinner 301f1217ac Issue #1777412: Remove all limits on tm_year from time.strftime()
The buildbots will tell us which platform does support or not negative years.
2011-01-08 03:06:52 +00:00
Victor Stinner af5aee57c9 Issue #1777412: fix test_time for Mac OS X and OpenIndiana 2011-01-08 02:46:33 +00:00
Victor Stinner 736913269e Issue #1777412: test large years value for strftime('%Y') 2011-01-08 02:00:24 +00:00
Victor Stinner 73ea29cb03 Issue #1777412: strftime() accepts year >= 1 instead of year >= 1900
* With Visual Studio, year have to be in [1; 9999]
 * Add more tests on the year field
2011-01-08 01:56:31 +00:00
Alexander Belopolsky 0dd06f4082 Fixed error handling branches. Thanks
Victor Stinner for pointing this out.
2011-01-08 01:23:02 +00:00
Alexander Belopolsky c64708ae48 Issue #10827: Changed the rules for 2-digit years. The time.asctime
function will now format any year when time.accept2dyear is false and
will accept years >= 1000 otherwise.  The year range accepted by
time.mktime and time.strftime is still system dependent, but
time.mktime will now accept full range supported by the OS. Conversion
of 2-digit years to 4-digit is deprecated.
2011-01-07 19:59:19 +00:00
Alexander Belopolsky 610e544bf7 Further simplify gettmarg() 2011-01-06 21:57:06 +00:00
Alexander Belopolsky a686725859 - time.accept2dyear = True is now equivalent to time.accept2dyear = 1
- removed unnecessary struct_time to tuple conversion
- added more unit tests
(See issue #10827 for discussion.)
2011-01-05 23:00:47 +00:00
Victor Stinner b996f740f2 test_time: assertEquals => assertEqual 2011-01-05 03:58:54 +00:00
Antoine Pitrou 1ec121d0d1 Fix test_time under Windows 2011-01-04 22:54:30 +00:00
Georg Brandl 3fb97ae0f7 Fix exception catching. 2011-01-04 17:27:13 +00:00
Alexander Belopolsky ecebdc7469 Issue #8013: Fix time.ctime test failure on 32-bit platforms. 2011-01-04 17:08:04 +00:00
Alexander Belopolsky b9588b528a Issue #8013: time.asctime and time.ctime no longer call system asctime
and ctime functions.  The year range for time.asctime is now 1900
through maxint.  The range for time.ctime is the same as for
time.localtime.  The string produced by these functions is longer than
24 characters when year is greater than 9999.
2011-01-04 16:34:30 +00:00
Alexander Belopolsky 622eb174d2 Issue 10814: time.asctime test will now use a valid day with out of range year. 2011-01-03 17:06:39 +00:00
Alexander Belopolsky d4bf48bbb3 Merged revisions 87648,87656 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87648 | alexander.belopolsky | 2011-01-02 15:48:22 -0500 (Sun, 02 Jan 2011) | 1 line

  Issue #8013: Fixed time.asctime segfault when OS's asctime fails
........
  r87656 | alexander.belopolsky | 2011-01-02 17:16:10 -0500 (Sun, 02 Jan 2011) | 1 line

  Issue #8013: Fixed test
........
2011-01-02 23:09:41 +00:00
Georg Brandl e10608cf5d #8013 follow-up:
* In asctime and ctime, properly remove the newline if the year has more than four digits
* Consistent error message for both functions
* Fix the test comments and add a check for the removed newline
2011-01-02 22:33:43 +00:00
Alexander Belopolsky 3e913c9ecf Issue #8013: Fixed test 2011-01-02 22:16:10 +00:00
Alexander Belopolsky e2dc082294 Issue #8013: Fixed time.asctime segfault when OS's asctime fails 2011-01-02 20:48:22 +00:00
R. David Murray f3d082c960 Merged revisions 87222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87222 | r.david.murray | 2010-12-13 20:22:50 -0500 (Mon, 13 Dec 2010) | 2 lines

  Use skipIf instead of a return when attribute doesn't exist.
........
2010-12-14 01:25:30 +00:00
R. David Murray 6ecf76ea36 Use skipIf instead of a return when attribute doesn't exist. 2010-12-14 01:22:50 +00:00
Ezio Melotti 19f2aeba67 Merged revisions 86596 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86596 | ezio.melotti | 2010-11-20 21:04:17 +0200 (Sat, 20 Nov 2010) | 1 line

  #9424: Replace deprecated assert* methods in the Python test suite.
........
2010-11-21 01:30:29 +00:00
Ezio Melotti b3aedd4862 #9424: Replace deprecated assert* methods in the Python test suite. 2010-11-20 19:04:17 +00:00
Alexander Belopolsky 38e2996152 Issue #6608: time.asctime is now checking struct tm fields its input
before passing it to the system asctime.  Patch by MunSic Jeong.
2010-10-01 14:18:49 +00:00
Brett Cannon 7d12c559ce Merged revisions 75011 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75011 | brett.cannon | 2009-09-21 17:29:48 -0700 (Mon, 21 Sep 2009) | 10 lines

  When range checking was added to time.strftime() a check was placed on tm_isdst
  to make sure it fell within [-1, 1] just in case someone implementing
  strftime() in libc was stupid enough to assume this. Turns out, though, some
  OSs (e.g. zOS) are stupid enough to use values outside of this range for time
  structs created by the system itself. So instead of throwing a ValueError,
  tm_isdst is now normalized before being passed to strftime().

  Fixes issue #6823. Thanks Robert Shapiro for diagnosing the problem and
  contributing an initial patch.
........
2009-09-22 00:32:59 +00:00
Georg Brandl ab91fdef1f Merged revisions 73715 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

........
  r73715 | benjamin.peterson | 2009-07-01 01:06:06 +0200 (Mi, 01 Jul 2009) | 1 line

  convert old fail* assertions to assert*
........
2009-08-13 08:51:18 +00:00
Benjamin Peterson c9c0f201fe convert old fail* assertions to assert* 2009-06-30 23:06:06 +00:00
Martin v. Löwis a6a9c4d2ac 5562 -> 3061. 2009-05-30 06:15:30 +00:00