| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| |/ / |
|
| |\ \
| | |
| | | |
Migrate PyPy CI to GitHub Actions
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Commands were invoked without `python -m`, failing on Windows CI.
|
| |/ / |
|
| |\ \
| | |
| | | |
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
|