[Python-Dev] tzset (original) (raw)
Stuart Bishop zen@shangri-la.dropbear.id.au
Fri, 11 Apr 2003 06:35:07 +1000
- Previous message: [Python-Dev] Why is spawn*p* not available on Windows?
- Next message: [Python-Dev] tzset
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thursday, March 20, 2003, at 04:01 PM, Stuart Bishop wrote:
I've submitted an update to SF: http://www.python.org/sf/706707
This version should only build time.tzset if it accepts the TZ environment variable formats documented at: http://www.opengroup.org/onlinepubs/007904975/basedefs/xbdchap08.html So it shouldn't build under Windows. The last alternative would be to expose time.tzset if it exists at all, and the test suite would simply check to make sure it doesn't raise an exception. This would leave behaviour totally up to the OS, and the corresponding lack of documentation in the Python library reference.
The time.tzset patch is running fine. The outstanding issue is the test suite. I can happily run the existing tests on OS X, Redhat 7.2 and Solaris 2.8, but there are reports of odd behaviour that can only be attributed (as far as I can see) to broken time libraries.
Broken time libraries are fine - time.tzset() is at a basic level just a wrapper around the C library call and we can't take responsibility for the operating system's bad behavior. However, if the C library doesn't work as documented, we have no way of testing if the various time.* values are being updated correctly.
I think these are the options: - Use the test suite as it stands at the moment, which may cause the test to fail on broken platforms. - Use the test suite as it stands at the moment, flagging this test as an expected failure on broken platforms. - Don't test - just make sure time.tzset() doesn't raise an exception or core dump. The code that populated time.tzname etc. has never had unit tests before, so its not like we are going backwards. This option means tzset(3) could be exposed on Windows (which I can't presently do, not having a Windows dev box available). - Make the checks for a sane tzset(3) in configure.in more paranoid, so time.tzset() is only built if your OS correctly parses the standard TZ environment variable format and can correctly do daylight savings time calculations in the southern hemisphere etc.
-- Stuart Bishop <zen@shangri-la.dropbear.id.au> http://shangri-la.dropbear.id.au/
- Previous message: [Python-Dev] Why is spawn*p* not available on Windows?
- Next message: [Python-Dev] tzset
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]