Files
packages/lang/python/python-zipp/test.sh
Alexandru Ardelean b57afd9631 python-zipp: bump to 3.23.0
Changelog since 3.16.2:
- v3.17.0: Add CompleteDirs.inject classmethod; prevent path separators
  from matching '?' wildcards in glob
- v3.18.0: Improve glob performance bypassing ZipFile.namelist; support
  platform-specific path separators in glob
- v3.19.1: Fix handling of malformed zip files
- v3.19.3: Fix glob to match directories in addition to files
- v3.20.0: Expose zipfile compatibility overlay as public API (zipp.compat.overlay)
- v3.20.1: Fix infinite loops in archive name handling preserving special chars
- v3.20.2: Make zipfile compatibility overlay hashable
- v3.21.0: Enhance performance for zipfile.Path.open in non-reading modes
- v3.22.0: Fix basename-based properties on Windows; backport CPython tests
- v3.23.0: Add compatibility shim supporting Python 3.13 and earlier

Add python-setuptools/host to PKG_BUILD_DEPENDS (now requires setuptools>=77).
Patch out coherent.licensed build dependency (not packaged).
Add test.sh.

Full changelog:
https://github.com/jaraco/zipp/releases

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2026-03-21 17:24:27 +02:00

35 lines
778 B
Bash

#!/bin/sh
[ "$1" = python3-zipp ] || exit 0
python3 - <<'EOF'
import io
import zipfile
import zipp
# Create an in-memory zip with a nested structure
buf = io.BytesIO()
with zipfile.ZipFile(buf, "w") as zf:
zf.writestr("a/b/c.txt", "hello")
zf.writestr("a/d.txt", "world")
buf.seek(0)
zf = zipfile.ZipFile(buf)
root = zipp.Path(zf)
# Navigate and read
c = root / "a" / "b" / "c.txt"
assert c.read_text() == "hello", f"unexpected content: {c.read_text()!r}"
d = root / "a" / "d.txt"
assert d.read_text() == "world", f"unexpected content: {d.read_text()!r}"
# Test iterdir
names = {p.name for p in (root / "a").iterdir()}
assert names == {"b", "d.txt"}, f"unexpected names: {names}"
# Test is_file / is_dir
assert c.is_file()
assert (root / "a" / "b").is_dir()
EOF