From 0e7497cb469b003a45a4abe4105b81ef6d0c4002 Mon Sep 17 00:00:00 2001 From: guoci Date: Wed, 7 Nov 2018 04:50:23 -0500 Subject: bpo-34898: Add mtime parameter to gzip.compress(). (GH-9704) Without setting mtime, time.time() will be used as the timestamp which will end up in the compressed data and each invocation of the compress() function will vary over time. --- Lib/test/test_gzip.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Lib/test') diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py index 1e8b41f07b..2c8f854c64 100644 --- a/Lib/test/test_gzip.py +++ b/Lib/test/test_gzip.py @@ -499,6 +499,17 @@ class TestGzip(BaseTest): with gzip.GzipFile(fileobj=io.BytesIO(datac), mode="rb") as f: self.assertEqual(f.read(), data) + def test_compress_mtime(self): + mtime = 123456789 + for data in [data1, data2]: + for args in [(), (1,), (6,), (9,)]: + with self.subTest(data=data, args=args): + datac = gzip.compress(data, *args, mtime=mtime) + self.assertEqual(type(datac), bytes) + with gzip.GzipFile(fileobj=io.BytesIO(datac), mode="rb") as f: + f.read(1) # to set mtime attribute + self.assertEqual(f.mtime, mtime) + def test_decompress(self): for data in (data1, data2): buf = io.BytesIO() -- cgit v1.2.1