mirror of
https://github.com/python/cpython.git
synced 2025-08-30 21:48:47 +00:00
Issue #12306: Add ZLIB_RUNTIME_VERSION to the zlib module.
While we're at it, also document ZLIB_VERSION. Patch by Torsten Landschoff.
This commit is contained in:
parent
249ab5e8d1
commit
64d25ddb9c
4 changed files with 40 additions and 0 deletions
|
@ -122,6 +122,7 @@ The available exception and functions in this module are:
|
|||
won't fit into memory at once. The *wbits* parameter controls the size of the
|
||||
window buffer.
|
||||
|
||||
|
||||
Compression objects support the following methods:
|
||||
|
||||
|
||||
|
@ -217,6 +218,26 @@ Decompression objects support the following methods and attributes:
|
|||
seeks into the stream at a future point.
|
||||
|
||||
|
||||
Information about the version of the zlib library in use is available through
|
||||
the following constants:
|
||||
|
||||
|
||||
.. data:: ZLIB_VERSION
|
||||
|
||||
The version string of the zlib library that was used for building the module.
|
||||
This may be different from the zlib library actually used at runtime, which
|
||||
is available as :const:`ZLIB_RUNTIME_VERSION`.
|
||||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
||||
.. data:: ZLIB_RUNTIME_VERSION
|
||||
|
||||
The version string of the zlib library actually loaded by the interpreter.
|
||||
|
||||
.. versionadded:: 3.3
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
Module :mod:`gzip`
|
||||
|
|
|
@ -13,6 +13,17 @@ except ImportError:
|
|||
mmap = None
|
||||
|
||||
|
||||
class VersionTestCase(unittest.TestCase):
|
||||
|
||||
def test_library_version(self):
|
||||
# On the build system, ZLIB_RUNTIME_VERSION should match ZLIB_VERSION.
|
||||
# ZLIB_RUNTIME_VERSION is the actual library version while ZLIB_VERSION
|
||||
# is the version from the header file. On the build system, the headers
|
||||
# should match with the library exactly. At runtime, only the first
|
||||
# digit is required to match.
|
||||
self.assertEqual(zlib.ZLIB_RUNTIME_VERSION, zlib.ZLIB_VERSION)
|
||||
|
||||
|
||||
class ChecksumTestCase(unittest.TestCase):
|
||||
# checksum test cases
|
||||
def test_crc32start(self):
|
||||
|
@ -647,6 +658,7 @@ LAERTES
|
|||
|
||||
def test_main():
|
||||
support.run_unittest(
|
||||
VersionTestCase,
|
||||
ChecksumTestCase,
|
||||
ChecksumBigBufferTestCase,
|
||||
ExceptionTestCase,
|
||||
|
|
|
@ -274,6 +274,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #12306: Expose the runtime version of the zlib C library as a constant,
|
||||
ZLIB_RUNTIME_VERSION, in the zlib module. Patch by Torsten Landschoff.
|
||||
|
||||
- Issue #12959: Add collections.ChainMap to collections.__all__.
|
||||
|
||||
- Issue #12567: Add curses.unget_wch() function. Push a character so the next
|
||||
|
|
|
@ -1169,6 +1169,10 @@ PyInit_zlib(void)
|
|||
if (ver != NULL)
|
||||
PyModule_AddObject(m, "ZLIB_VERSION", ver);
|
||||
|
||||
ver = PyUnicode_FromString(zlibVersion());
|
||||
if (ver != NULL)
|
||||
PyModule_AddObject(m, "ZLIB_RUNTIME_VERSION", ver);
|
||||
|
||||
PyModule_AddStringConstant(m, "__version__", "1.0");
|
||||
|
||||
return m;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue