How do I fix this test so it runs on Windows? (it uses tzset)

Nobody nobody at nowhere.com
Fri Jun 18 20:35:39 EDT 2010


On Thu, 17 Jun 2010 11:45:03 +0100, Chris Withers wrote:

>> For whatever reason, tython's "time" module doesn't provide the tzset()
>> function on Windows. However, you should be able to use it via ctypes.
> 
> This sounds pretty heavyweight for a unit test.
> I'm not even sure how I would do this ;-)

	from ctypes import cdll
	tzset = cdll.msvcrt._tzset

Except ... Python doesn't appear to use the OS time conversion functions,
so calling _tzset() has no effect.

And the documentation doesn't specify whether modifying time.timezone is
allowed.

IOW, I don't think there's any robust way to ask "what would have happened
if TZ been set to <whatever> at startup", other than running a separate
script with the appropriate TZ setting.

You can perform conversions with an explicit timezone using the "datetime"
module, but that won't help you test the behaviour of code which uses the
"time" module.




More information about the Python-list mailing list