diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2021-12-19 18:55:41 -0500 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2021-12-19 18:55:41 -0500 |
commit | c44b668424abd77a33bf5e5061b102ddbfbf6cd8 (patch) | |
tree | 9994b7cde86cc6070fe6c94132a252a5bc59caf0 /setuptools/tests/test_archive_util.py | |
parent | 460b59f0e68dba17e2465e8dd421bbc14b994d1f (diff) | |
parent | 93562cb376a8666fe8672c7c070c4002554ddbf1 (diff) | |
download | python-setuptools-git-c44b668424abd77a33bf5e5061b102ddbfbf6cd8.tar.gz |
Merge distutils into main.
Diffstat (limited to 'setuptools/tests/test_archive_util.py')
-rw-r--r-- | setuptools/tests/test_archive_util.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/setuptools/tests/test_archive_util.py b/setuptools/tests/test_archive_util.py new file mode 100644 index 00000000..7f996244 --- /dev/null +++ b/setuptools/tests/test_archive_util.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +import tarfile +import io + +import pytest + +from setuptools import archive_util + + +@pytest.fixture +def tarfile_with_unicode(tmpdir): + """ + Create a tarfile containing only a file whose name is + a zero byte file called testimàˆge.png. + """ + tarobj = io.BytesIO() + + with tarfile.open(fileobj=tarobj, mode="w:gz") as tgz: + data = b"" + + filename = "testimàˆge.png" + + t = tarfile.TarInfo(filename) + t.size = len(data) + + tgz.addfile(t, io.BytesIO(data)) + + target = tmpdir / 'unicode-pkg-1.0.tar.gz' + with open(str(target), mode='wb') as tf: + tf.write(tarobj.getvalue()) + return str(target) + + +@pytest.mark.xfail(reason="#710 and #712") +def test_unicode_files(tarfile_with_unicode, tmpdir): + target = tmpdir / 'out' + archive_util.unpack_archive(tarfile_with_unicode, str(target)) |