Commit Graph

208 Commits

Author SHA1 Message Date
Paul Ganssle 62972d9d73
bpo-40503: PEP 615: Tests and implementation for zoneinfo (GH-19909)
This is the initial implementation of PEP 615, the zoneinfo module,
ported from the standalone reference implementation (see
https://www.python.org/dev/peps/pep-0615/#reference-implementation for a
link, which has a more detailed commit history).

This includes (hopefully) all functional elements described in the PEP,
but documentation is found in a separate PR. This includes:

1. A pure python implementation of the ZoneInfo class
2. A C accelerated implementation of the ZoneInfo class
3. Tests with 100% branch coverage for the Python code (though C code
   coverage is less than 100%).
4. A compile-time configuration option on Linux (though not on Windows)

Differences from the reference implementation:

- The module is arranged slightly differently: the accelerated module is
  `_zoneinfo` rather than `zoneinfo._czoneinfo`, which also necessitates
  some changes in the test support function. (Suggested by Victor
  Stinner and Steve Dower.)
- The tests are arranged slightly differently and do not include the
  property tests. The tests live at test/test_zoneinfo/test_zoneinfo.py
  rather than test/test_zoneinfo.py or test/test_zoneinfo/__init__.py
  because we may do some refactoring in the future that would likely
  require this separation anyway; we may:
        - include the property tests
        - automatically run all the tests against both pure Python and C,
          rather than manually constructing C and Python test classes (similar
          to the way this works with test_datetime.py, which generates C
          and Python test cases from datetimetester.py).
- This includes a compile-time configuration option on Linux (though not
  on Windows); added with much help from Thomas Wouters.
- Integration into the CPython build system is obviously different from
  building a standalone zoneinfo module wheel.
- This includes configuration to install the tzdata package as part of
  CI, though only on the coverage jobs. Introducing a PyPI dependency as
  part of the CI build was controversial, and this is seen as less of a
  major change, since the coverage jobs already depend on pip and PyPI.

Additional changes that were introduced as part of this PR, most / all of
which were backported to the reference implementation:

- Fixed reference and memory leaks

    With much debugging help from Pablo Galindo

- Added smoke tests ensuring that the C and Python modules are built

    The import machinery can be somewhat fragile, and the "seamlessly falls
    back to pure Python" nature of this module makes it so that a problem
    building the C extension or a failure to import the pure Python version
    might easily go unnoticed.

- Adjustments to zoneinfo.__dir__

    Suggested by Petr Viktorin.

- Slight refactorings as suggested by Steve Dower.

- Removed unnecessary if check on std_abbr

    Discovered this because of a missing line in branch coverage.
2020-05-16 10:20:06 +02:00
Erlend Egeberg Aasland 1382c3289b
bpo-38380: Update macOS & Windows builds to SQLite v3.31.1 (GH-18678)
Automerge-Triggered-By: @zooba
2020-03-02 04:25:10 -08:00
Min ho Kim c4cacc8c5e Fix typos in comments, docs and test names (#15018)
* Fix typos in comments, docs and test names

* Update test_pyparse.py

account for change in string length

* Apply suggestion: splitable -> splittable

Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>

* Apply suggestion: splitable -> splittable

Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>

* Apply suggestion: Dealloccte -> Deallocate

Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>

* Update posixmodule checksum.

* Reverse idlelib changes.
2019-07-30 18:16:13 -04:00
animalize 7fd2ba354e bpo-35360: Update Windows builds to use SQLite 3.28.0 (GH-14179) 2019-06-24 16:22:14 -07:00
Steve Dower a268edd6a4
bpo-34631: Updated OpenSSL to 1.1.1c in Windows installer (GH-14163) 2019-06-17 11:36:08 -07:00
Łukasz Langa 9ab2fb1c68
Bump to 3.9.0a0 2019-06-04 22:12:32 +02:00
Paul Monson fb7e7505ed bpo-35926: Add support for OpenSSL 1.1.1b on Windows (GH-11779) 2019-05-15 15:38:55 -07:00
Steve Dower b1dc07509f
bpo-33184: Update Windows installer to OpenSSL 1.1.0h (GH-6463) 2018-04-13 17:30:34 -07:00
Ned Deily 5489bdad51 Start of 3.8.0a0 2018-01-31 17:44:09 -05:00
native-api fd0fa67464 bpo-31691: Specify where to find build instructions for the Windows installer (#4426) 2017-11-16 15:56:27 -08:00
Mariatta 31af650ee2
bpo-28791: Update Windows builds to use SQLite 3.21.0. (GH-4246) 2017-11-06 19:31:53 -08:00
Steve Dower bab21faded Updates PCBuild/readme.txt (#3418) 2017-09-07 20:10:29 -07:00
Zachary Ware 51599e2bdd bpo-30450: Pull Windows dependencies from GitHub rather than svn (GH-1783)
The Windows build now depends on Python 3.6 to fetch externals, but it will be downloaded via NuGet (which is downloaded via PowerShell) if it is not available via `py -3.6`.  This means the only thing that must be installed on a modern Windows box to do a full build of CPython with all extensions is Visual Studio.

Also fixes an outdated note about _lzma in PCbuild/readme.txt
2017-06-15 22:08:51 -05:00
Zachary Ware 6b6e687766 bpo-27425: Be more explicit in .gitattributes (GH-840)
Updates checked-in line endings on several files.
2017-06-10 14:58:42 -05:00
Zachary Ware fc64c351c7 bpo-29572: Update Windows build to OpenSSL 1.0.2k (GH-439) 2017-03-03 16:07:07 -06:00
Zachary Ware 8d794d66bd Issue #28208: Merge with 3.6 2016-10-10 22:37:29 -05:00
Zachary Ware 547d156c2c Issue #28208: Update Windows build to use SQLite 3.14.2.0 2016-10-10 22:36:21 -05:00
Zachary Ware 0732fd62d9 Issue #28248: Merge with 3.6 2016-10-10 22:28:39 -05:00
Zachary Ware c08bb6c63a Issue #28248: Merge with 3.5 2016-10-10 22:22:27 -05:00
Zachary Ware fd28cbef4b Issue #28248: Merge with 3.4 2016-10-10 22:11:12 -05:00
Zachary Ware 068534ab03 Issue #28248: Update Windows build to use OpenSSL 1.0.2j 2016-10-10 21:57:20 -05:00
Ned Deily 4829bc6619 Bump to 3.7.0a0 2016-09-12 17:29:04 -04:00
Zachary Ware 7c510a6a2d Issue #27883: Update sqlite to 3.14.1 on Windows 2016-09-05 14:32:38 -05:00
Zachary Ware 28c3184d8d Issue #27647: Update Windows build to Tcl/Tk 8.6.6 2016-07-28 18:39:11 -05:00
Zachary Ware 0475ffa64d Issue #26930: Merge with 3.5 2016-06-15 17:16:16 -05:00
Zachary Ware 42d4b9c22c Issue #26930: Update Windows build to OpenSSL 1.0.2h 2016-06-15 17:13:28 -05:00
Zachary Ware f88d83b922 Issue #26930: Update Windows build to OpenSSL 1.0.2h 2016-06-15 17:13:28 -05:00
Zachary Ware 15d2d49ce6 Closes #26706: Merge with 3.5 2016-04-14 10:22:58 -05:00
Zachary Ware 7d82d0366b Issue #26706: Update OpenSSL version in PCbuild/readme.txt
Thanks to Shaun Walbridge for noticing.
2016-04-14 10:22:12 -05:00
Zachary Ware 72f2ef4137 Issue #26268: Merge with 3.5 2016-02-22 04:16:33 -06:00
Zachary Ware 6fe57ad229 Issue #26268: Update Windows builds to use OpenSSL 1.0.2f 2016-02-22 04:08:51 -06:00
Zachary Ware d038b78599 Closes #25022: Merge with 3.5 2015-09-10 15:03:02 -05:00
Zachary Ware 018e380d55 Issue #25022: Merge with 3.4 2015-09-10 15:02:14 -05:00
Zachary Ware b54a068204 Issue #25022: Remove PC/example_nt/
It was very much outdated, and the topic is better covered elsewhere.
2015-09-10 14:37:42 -05:00
Zachary Ware 4da050a276 Update PCbuild/readme.txt (merge from 3.5) 2015-09-08 01:12:56 -05:00
Zachary Ware 875ef4c70a Update PCbuild/readme.txt 2015-09-08 01:12:00 -05:00
Zachary Ware 70b7539f9c Issue #25010: Merge with 3.4 2015-09-07 23:31:49 -05:00
Zachary Ware 1a690fb65a Issue #25010: Fix path for .pyd example project.
Patch by Shaun Walbridge
2015-09-07 23:30:46 -05:00
Zachary Ware 677744b386 Closes #25456: Copy Tcl/Tk DLLs to build directory on Windows
This removes the need to add externals/tcltk[64]/bin to PATH to be able
to import tkinter.  Also documents the necessity for the DLLs to be
on PATH or in python.exe's directory.
2015-10-24 01:34:22 -05:00
Steve Dower ab2a34abb7 Issue #24847: Removes vcruntime140.dll dependency from Tcl/Tk. 2015-08-19 08:39:12 -07:00
Steve Dower 54d361fd86 Issue #19450: Update Windows builds to use SQLite 3.8.11.0 2015-07-28 11:05:18 -07:00
Zachary Ware 689b55c1cb Issue #24603: Update the Windows build to use OpenSSL 1.0.2d 2015-07-21 23:20:47 -05:00
Steve Dower 4e167ca7c1 Issue #19450: Update Windows builds to use SQLite 3.8.11.0 2015-07-28 11:09:40 -07:00
Zachary Ware 80acc3ebbc Issue #24603: Update the Windows build to use OpenSSL 1.0.2d 2015-07-21 23:27:08 -05:00
Steve Dower f92673c254 Issue #24432: Update Windows builds to use OpenSSL 1.0.2c. 2015-07-03 15:16:37 -07:00
Steve Dower a09ef0389b Issue #24432: Update Windows builds to use OpenSSL 1.0.2c. 2015-07-03 15:13:48 -07:00
Zachary Ware 6c7f2acd99 Merge 3.4's PCbuild/readme.txt update.
All the new information in 3.4's readme.txt was already here, but the
wrong name was used to refer to the script.  Also reworded the sentence.
2015-06-17 09:45:22 -05:00
Zachary Ware d1f7c594fa Update PCbuild/readme.txt
It now recommends PCbuild/get_externals.bat instead of the scripts in
Tools/buildbot.
2015-06-16 23:27:56 -05:00
Zachary Ware 50ebf0316a Merge with 3.4 2015-04-13 12:30:53 -05:00
Zachary Ware 30cc6fae98 Force the Windows readme to CRLF 2015-04-13 12:28:11 -05:00