| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Fix failing build by removing broken mirror in README.rst
|
|/ |
|
|\
| |
| | |
Parser (and other) documentation fixes
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Previously the parser documentation did not include warnings and
exceptions. This rearranges things to cleanly separate out functions,
classes and exceptions / warnings, and adds the warnings to the
documentation.
|
| | |
|
|/
|
|
|
| |
Periodic update of all links that point to redirects or http targets
when an https target is available.
|
|\
| |
| | |
Fix custom repr for ParserError
|
|/
|
|
|
|
|
|
|
|
| |
This was originally dead code, because an indentation error had `__repr__`
defined after the `return` statement in `__str__`. The definition of the
`__repr__` is also changed to be more in line with the conception of a
repr as "what you would have to evalue to get this object".
Even though this is not guaranteed behavior, this commit also adds a
regression test to avoid simple errors like this in the future.
|
|\
| |
| | |
Fix TypeError in parser's error-wrapping logic
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
In attempting to pass-through the string representation of an exception
we are wrapping, we made the erroneous assumption that `args[0]` would
always be a string (or something that can concatenate cleanly with a
string). This turns out not to be the case with `IllegalMonthError`,
where it is an integer, so to avoid raising an erroneous `TypeError`, we
first convert the wrapped exception to a string.
See GH issue #981.
|
|\
| |
| | |
Skip uploading Python 3.4 coverage on Appveyor
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Coverage 5.x has made some backwards-incompatible changes to its format
and cannot understand the format generated by coverage 4.x. Since
coverage 5.x does not support Python 3.4 and the "combine and upload"
job is using Python 3.6 (and thus `coverage >= 5`), coverage uploading
was broken.
It is possible to get this working again, but probably more trouble than
it is worth, since as far as I can tell there are no lines hit *only* by
the Python 3.4 tests on Windows, so we can leave it out of the
combined coverage measurement.
|
|\
| |
| | |
Drop Python 3.3 on Appveyor
|
| | |
|
| | |
|
|/
|
|
|
|
| |
This has started failing and there's no particularly good reason to keep
it around, since we mainly are testing on Python 3.3 to know when to
officially drop it from the list of supported platforms.
|
|\
| |
| | |
Prepare 2.8.1 release
|
|/ |
|
|\
| |
| | |
Updates to the release process
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Many of these miscellaneous items would actually be interesting to
downstream consumers, even though they are not "bugfixes" (e.g. changes
to the test suite or package metadata). Rather than ask contributors to
decide whether their contribution meets this standard, we'll instead
manually curate which PRs are "hidden" in the changelog.
|
| |
| |
| |
| |
| | |
Moving to a model where dependencies are provided by `tox` as needed
where possible.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The orignal test was using `[ ! -e "dist/*.whl" ]` to try and detect
that a wheel was created (and an analogous command for the tarball), but it
turns out that this would succeed even if the build command completely fails!
The reason is that the shellw as expanding "dist/*.whl" to an empty
list, which the conditional took to mean that it didn't need to check
for the existence of *any* files.
This was replaced by a more robust command that checks that exactly one
of each file was created by the build.
|
|/
|
|
|
|
| |
The build environment was originally broken, and no release environment
existed. This allows for the Python dependencies for `release.py` to be
satisfied automatically as part of invoking the tox command.
|
|\
| |
| | |
Lock around strong cache updates
|
|/
|
|
|
|
|
|
|
| |
Since the strong cache uses operations in OrderedDict that are not
thread-safe in Python 2, it is necessary to acquire a lock while
updating the dictionary.
When Python 2 support is dropped, we can likely refactor this to avoid
locking.
|
|\
| |
| | |
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
|
|\
| |
| | |
Add Python 3.8 to trove classifiers and Travis.
|
| | |
|
| | |
|
|/ |
|
|\
| |
| | |
Fix tests if not TZ change allowed
|
| | |
|
|/
|
|
|
|
| |
At the moment these tests are skipped ad-hoc in the test suite, but we
can use `pytest.skip` in the context manager itself to skip them
automatically and make things easier on ourselves.
|
|\
| |
| | |
Fix error message for gettz when passed bytes
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes #927
|
|\ \
| |/
|/| |
Remove WarningTestMixin in favor of pytest.warns
|
|/
|
|
|
|
| |
This was originally added when we were still supporting unittest-only
tests, but now that we require pytest, we can switch over to using the
built-in pytest.warns context manager.
|
|\
| |
| | |
Fix typo in setup.cfg warning configuration
|
|/
|
|
|
|
|
|
|
| |
It appears that we were relying on the "errors" filter to treat
PendingDeprecationWarning as an error due to a typo in setup.cfg. This
line is apparently redundant with the "error" line anyway, but it's best
to have a working version of it if we're going to have it at all. I am
leaving it in place to be explicit that even these "ignored by default"
warnings should be errors, in case a default changes later.
|
|\
| |
| | |
Fix incorrect import in Python 3.7+
|
|/
|
|
|
|
|
|
|
|
|
|
| |
It turns out that the import of `contextlib.nullcontext` in Python 3.7+
was accidentally trying to import `contextmanager.nullcontext`, but this
was never noticed because it simply fell back to the backport included
here.
I do not know of a great way to test this that doesn't rely on
implementation details, but I have manually tested it by setting a
breakpoint after the import in the `try` statement and importing
`dateutil.tz` manually on Python 3.7, so this version should work.
|