From ade78b1d22e77ff693a8f63eeec3b70c3276c948 Mon Sep 17 00:00:00 2001 From: Kubilay Kocak Date: Tue, 25 Jun 2019 02:30:13 +0000 Subject: [PATCH] Fix test_tzlocal_offset_equal[GMT-tzoff1] 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 --- dateutil/test/test_tz.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dateutil/test/test_tz.py b/dateutil/test/test_tz.py index 1d60c992d..d4b49c032 100644 --- a/dateutil/test/test_tz.py +++ b/dateutil/test/test_tz.py @@ -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))), ])