[Python-Dev] RE: test_strptime; test_logging; test_time failure (was: cygwin errors)
Tim Peters
tim.one@comcast.net
Tue, 22 Jul 2003 20:45:00 -0400
[Brett C.]
> Either way we can do a quick check, Tim, if you can try out this
> patch::
>
> Index: Lib/_strptime.py
> ===================================================================
> RCS file: /cvsroot/python/python/dist/src/Lib/_strptime.py,v
> retrieving revision 1.21
> diff -u -r1.21 _strptime.py
> --- Lib/_strptime.py 13 Jul 2003 01:31:38 -0000 1.21
> +++ Lib/_strptime.py 22 Jul 2003 23:37:03 -0000
> @@ -27,11 +27,11 @@
>
> def _getlang():
> # Figure out what the current language is set to.
> - current_lang = locale.getlocale(locale.LC_TIME)[0]
> + current_lang = locale.getlocale(locale.LC_TIME)
> if current_lang:
> return current_lang
> else:
> - current_lang = locale.getdefaultlocale()[0]
> + current_lang = locale.getdefaultlocale()
> if current_lang:
> return current_lang
> else:
Sorry, it didn't help:
C:\Code\python\PCbuild>python ../lib/test/regrtest.py test_strptime
test_logging
test_time
test_strptime
test test_strptime failed -- Traceback (most recent call last):
File "C:\CODE\PYTHON\lib\test\test_strptime.py", line 96, in test_lang
"Setting of lang failed")
File "C:\CODE\PYTHON\lib\unittest.py", line 268, in failUnless
if not expr: raise self.failureException, msg
AssertionError: Setting of lang failed
test_logging
test_time
test test_time failed -- Traceback (most recent call last):
File "C:\CODE\PYTHON\lib\test\test_time.py", line 49, in test_strptime
self.fail('conversion specifier: %r failed.' % format)
File "C:\CODE\PYTHON\lib\unittest.py", line 260, in fail
raise self.failureException, msg
AssertionError: conversion specifier: ' %c' failed.
1 test OK.
2 tests failed:
test_strptime test_time
C:\Code\python\PCbuild>
> I should have been more explicit; I meant after *every* individual
> test and not after the battery of tests.
OK, and back to an unpatched _strptime.py. With the current CVS
locale-restoration code (which differs from what it was half an hour ago,
but should have the same effect):
C:\Code\python\PCbuild>python ../lib/test/regrtest.py test_strptime
test_logging
test_time
time.strftime("%c")
'07/22/03 20:38:57'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
(None, None)
test_strptime
time.strftime("%c")
'07/22/03 20:38:58'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
(None, None)
test_logging
time.strftime("%c")
'07/22/03 20:38:59'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
(None, None)
test_time
time.strftime("%c")
'07/22/03 20:39:01'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
(None, None)
All 3 tests OK.
Again, without restoring locale in test_logging:
C:\Code\python\PCbuild>python ../lib/test/regrtest.py test_strptime
test_logging
test_time
time.strftime("%c")
'07/22/03 20:39:09'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
(None, None)
test_strptime
time.strftime("%c")
'07/22/03 20:39:10'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
(None, None)
test_logging
time.strftime("%c")
'07/22/2003 08:39:11 PM'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
['English_United States', '1252']
test_time
test test_time failed -- Traceback (most recent call last):
File "C:\CODE\PYTHON\lib\test\test_time.py", line 49, in test_strptime
self.fail('conversion specifier: %r failed.' % format)
File "C:\CODE\PYTHON\lib\unittest.py", line 260, in fail
raise self.failureException, msg
AssertionError: conversion specifier: ' %c' failed.
time.strftime("%c")
'07/22/2003 08:39:13 PM'
_strptime.TimeRE()['c']
'(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]|
[1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d)
:(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)'
locale.getdefaultlocale()
('en_US', 'cp1252')
locale.getlocale(locale.LC_TIME)
['English_United States', '1252']
2 tests OK.
1 test failed:
test_time
C:\Code\python\PCbuild>