summaryrefslogtreecommitdiff
path: root/setuptools/tests/test_archive_util.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2021-12-19 18:55:41 -0500
committerJason R. Coombs <jaraco@jaraco.com>2021-12-19 18:55:41 -0500
commitc44b668424abd77a33bf5e5061b102ddbfbf6cd8 (patch)
tree9994b7cde86cc6070fe6c94132a252a5bc59caf0 /setuptools/tests/test_archive_util.py
parent460b59f0e68dba17e2465e8dd421bbc14b994d1f (diff)
parent93562cb376a8666fe8672c7c070c4002554ddbf1 (diff)
downloadpython-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.py38
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))