Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pywin32_testall.py timezone tests fails in non American regional settings machine #2080

Open
csrabak opened this issue Jul 17, 2023 · 2 comments

Comments

@csrabak
Copy link

csrabak commented Jul 17, 2023

  • Expected behavior and actual behavior.

The tests are expected to go green, but fail due the locale (and time zone) are different from the designed for the tests?

For example:

File "C:\Python\Python311\Lib\site-packages\win32\lib\win32timezone.py", line 22, in win32timezone
Failed example:
assert 'Mountain Standard Time' in win32timezone.TimeZoneInfo.get_sorted_time_zone_names()
Exception raised:
Traceback (most recent call last):
File "C:\Python\Python311\Lib\doctest.py", line 1351, in __run
exec(compile(example.source, filename, "single",
File "<doctest win32timezone[1]>", line 1, in
assert 'Mountain Standard Time' in win32timezone.TimeZoneInfo.get_sorted_time_zone_names()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError


File "C:\Python\Python311\Lib\site-packages\win32\lib\win32timezone.py", line 58, in win32timezone
Failed example:
str(est.displayName)
Expected:
'(UTC-05:00) Eastern Time (US & Canada)'
Got:
'(UTC-05:00) Hora Oriental (EUA e Canadá)'


  • Steps to reproduce the problem.

C:\Python\Python311>py Scripts\pywin32_testall.py

  • Version of Python and pywin32
    Python 3.11.4
    pywin32 Release 306
@mhammond
Copy link
Owner

It works for me in Australia, so I suspect the problem is the locale and not the specific timezone.

@csrabak
Copy link
Author

csrabak commented Jul 18, 2023

I undertand your comment as the locale triggers the problem, which I concur plainly, as the expression of the assertion is in English and the returned one is in Portuguese.

I did not dig into the source code to understand, but for me is a puzzle, why would the script get the timezone in English and collect it in the locale language. . .

I surmize that the script changes the timezone for the sake of the test, as when the run (above) generated the results, the machine wasn't in UTC-5 but UTC-3.

Perhaps the test should ascertain the locale (or language for the collection of the string) be always English?

HTH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants