diff options
| author | Joffrey F <f.joffrey@gmail.com> | 2018-02-26 16:02:21 -0800 |
|---|---|---|
| committer | Serhiy Storchaka <storchaka@gmail.com> | 2018-02-27 02:02:21 +0200 |
| commit | 72d9b2be36f091793ae7ffc5ad751f040c6e6ad3 (patch) | |
| tree | 28a8586d3eb6ef2e75fe2f7e378cdd2748c90baf /Lib/test/test_tarfile.py | |
| parent | eee72d4778a5513038edd5236cdd87ccce2bc60a (diff) | |
| download | cpython-git-72d9b2be36f091793ae7ffc5ad751f040c6e6ad3.tar.gz | |
bpo-32713: Fix tarfile.itn for large/negative float values. (GH-5434)
Diffstat (limited to 'Lib/test/test_tarfile.py')
| -rw-r--r-- | Lib/test/test_tarfile.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index b868326d5c..7d2eec8a7c 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -2149,6 +2149,14 @@ class MiscTest(unittest.TestCase): self.assertEqual(tarfile.itn(-0x100000000000000), b"\xff\x00\x00\x00\x00\x00\x00\x00") + # Issue 32713: Test if itn() supports float values outside the + # non-GNU format range + self.assertEqual(tarfile.itn(-100.0, format=tarfile.GNU_FORMAT), + b"\xff\xff\xff\xff\xff\xff\xff\x9c") + self.assertEqual(tarfile.itn(8 ** 12 + 0.0, format=tarfile.GNU_FORMAT), + b"\x80\x00\x00\x10\x00\x00\x00\x00") + self.assertEqual(tarfile.nti(tarfile.itn(-0.1, format=tarfile.GNU_FORMAT)), 0) + def test_number_field_limits(self): with self.assertRaises(ValueError): tarfile.itn(-1, 8, tarfile.USTAR_FORMAT) |
