Skip to content

Commit

Permalink
Fix test_tzlocal_offset_equal[GMT-tzoff1]
Browse files Browse the repository at this point in the history
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
  • Loading branch information
koobs committed Jun 25, 2019
1 parent 40924bd commit ade78b1
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion dateutil/test/test_tz.py
Expand Up @@ -998,7 +998,7 @@ def test_tzlocal_local_time_trim_colon():
@mark_tzlocal_nix
@pytest.mark.parametrize('tzvar, tzoff', [
('EST5', tz.tzoffset('EST', -18000)),
('GMT', tz.tzoffset('GMT', 0)),
('GMT0', tz.tzoffset('GMT', 0)),
('YAKT-9', tz.tzoffset('YAKT', timedelta(hours=9))),
('JST-9', tz.tzoffset('JST', timedelta(hours=9))),
])
Expand Down

0 comments on commit ade78b1

Please sign in to comment.