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

Fix test_tzlocal_offset_equal[GMT-tzoff1] #928

Merged
merged 1 commit into from Nov 3, 2019
Merged

Conversation

koobs
Copy link
Contributor

@koobs koobs commented Jun 25, 2019

test_tzlocal_offset_equal[GMT-tzoff1] fails if a system does not
have a defined (installed) GMT timezone, for example if "Link Etc/GMT GMT"
is not defined in the zoneinfo configuration:

      assert tz.tzlocal() == tzoff

E AssertionError: assert tzlocal() == tzoffset(u'GMT', 0)
E -tzlocal()
E +tzoffset(u'GMT', 0)

An example of such a configuration is FreeBSD, who's default timezone is
UTC [1][2]. This configuration results in any "non-present" or undefined TZ
name being returned/processed as the default timezone name (in FreeBSD's
case, UTC).

Further, POSIX does not recognize [3] TZ=GMT or TZ=UTC as valid values
because they neither start with a colon nor contain a numeric offset hour
field.

Accordingly, update the GMT value for this parametrized test to GMT0, a
specific (not aliased) timezone, making it more robust to system
configuration differences.

[1] https://svnweb.freebsd.org/changeset/base/130332
[2] https://svnweb.freebsd.org/changeset/base/199405
[3] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html

Summary of changes

Closes #918

Pull Request Checklist

  • Changes have tests
  • Authors have been added to AUTHORS.md
  • News fragment added in changelog.d. See CONTRIBUTING.md for details

@pganssle pganssle closed this Jul 7, 2019
@pganssle pganssle reopened this Jul 7, 2019
@pganssle pganssle added this to the 2.8.1 milestone Nov 2, 2019
test_tzlocal_offset_equal[GMT-tzoff1] fails if a system does not
have a defined (installed) GMT timezone, for example if "Link Etc/GMT GMT"
is not defined in the zoneinfo configuration:

>           assert tz.tzlocal() == tzoff
E           AssertionError: assert tzlocal() == tzoffset(u'GMT', 0)
E             -tzlocal()
E             +tzoffset(u'GMT', 0)

An example of such a configuration is FreeBSD, who's default timezone is
UTC [1][2]. This configuration results in any "non-present" or undefined TZ
name being returned/processed as the default timezone name (in FreeBSD's
case, UTC).

Further, POSIX does not recognize [3] TZ=GMT or TZ=UTC as valid values
because they neither start with a colon nor contain a numeric offset hour
field.

Accordingly, update the GMT value for this parametrized test to GMT0, a
specific (not aliased) timezone, making it more robust to system
configuration differences.

[1] https://svnweb.freebsd.org/changeset/base/130332
[2] https://svnweb.freebsd.org/changeset/base/199405
[3] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test failure: test_tzlocal_offset_equal[GMT-tzoff1] (dateutil 2.8.0)
2 participants