time=2026-08-08T06:21:40.984+02:00 level=DEBUG msg="Not attempting generation of an ABI report" time=2026-08-08T06:21:40.984+02:00 level=DEBUG msg="Configuring container namespace" time=2026-08-08T06:21:40.984+02:00 level=DEBUG msg="Set binaries" eopkg=eopkg.bin eopkg_xml=eopkg.py2 ypkg="" time=2026-08-08T06:21:40.985+02:00 level=INFO msg="History generation enabled" time=2026-08-08T06:21:41.561+02:00 level=DEBUG msg="Obtained package history" time=2026-08-08T06:21:41.565+02:00 level=DEBUG msg="Building package" name=python-filelock version=3.32.2 release=21 type=ypkg profile=unstable-x86_64 time=2026-08-08T06:21:41.565+02:00 level=DEBUG msg="Configuring overlay storage" time=2026-08-08T06:21:41.565+02:00 level=DEBUG msg="Mounting overlayfs" time=2026-08-08T06:21:41.565+02:00 level=DEBUG msg="Mounting root tmpfs" dir=/var/cache/solbuild/unstable-x86_64/python-filelock size=40G time=2026-08-08T06:21:41.567+02:00 level=DEBUG msg="Creating overlay storage directory" path=/var/cache/solbuild/unstable-x86_64/python-filelock/work time=2026-08-08T06:21:41.567+02:00 level=DEBUG msg="Creating overlay storage directory" path=/var/cache/solbuild/unstable-x86_64/python-filelock/tmp time=2026-08-08T06:21:41.567+02:00 level=DEBUG msg="Creating overlay storage directory" path=/var/cache/solbuild/unstable-x86_64/python-filelock/img time=2026-08-08T06:21:41.567+02:00 level=DEBUG msg="Creating overlay storage directory" path=/var/cache/solbuild/unstable-x86_64/python-filelock/union time=2026-08-08T06:21:41.567+02:00 level=DEBUG msg="Mounting backing image" point=/var/lib/solbuild/images/unstable-x86_64.img time=2026-08-08T06:21:41.577+02:00 level=DEBUG msg="Mounting overlayfs" upper=/var/cache/solbuild/unstable-x86_64/python-filelock/tmp lower=/var/cache/solbuild/unstable-x86_64/python-filelock/img workdir=/var/cache/solbuild/unstable-x86_64/python-filelock/work target=/var/cache/solbuild/unstable-x86_64/python-filelock/union time=2026-08-08T06:21:41.581+02:00 level=DEBUG msg="Bringing up virtual filesystems" time=2026-08-08T06:21:41.581+02:00 level=DEBUG msg="Creating VFS directory" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union/dev/pts time=2026-08-08T06:21:41.582+02:00 level=DEBUG msg="Creating VFS directory" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union/dev/shm time=2026-08-08T06:21:41.582+02:00 level=DEBUG msg="Mounting vfs /dev" time=2026-08-08T06:21:41.583+02:00 level=DEBUG msg="Mounting vfs /dev/pts" time=2026-08-08T06:21:41.585+02:00 level=DEBUG msg="Mounting vfs /proc" time=2026-08-08T06:21:41.586+02:00 level=DEBUG msg="Mounting vfs /sys" time=2026-08-08T06:21:41.587+02:00 level=DEBUG msg="Mounting vfs /dev/shm" time=2026-08-08T06:21:41.589+02:00 level=DEBUG msg="Creating target directory" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/work time=2026-08-08T06:21:41.589+02:00 level=DEBUG msg="Copying source" source=/srv/builder/BUILDDIR/CLONE/packages/packages/py/python-filelock/package.yml target=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/work/package.yml time=2026-08-08T06:21:41.589+02:00 level=DEBUG msg="Validating sources" time=2026-08-08T06:21:41.589+02:00 level=DEBUG msg="Downloading source" uri=https://pypi.io/packages/source/f/filelock/filelock-3.32.2.tar.gz time=2026-08-08T06:21:41.638+02:00 level=INFO msg="Source URL redirected" to=https://pypi.org/packages/source/f/filelock/filelock-3.32.2.tar.gz from=https://pypi.io/packages/source/f/filelock/filelock-3.32.2.tar.gz time=2026-08-08T06:21:41.790+02:00 level=INFO msg="Source URL redirected" to=https://files.pythonhosted.org/packages/source/f/filelock/filelock-3.32.2.tar.gz from=https://pypi.org/packages/source/f/filelock/filelock-3.32.2.tar.gz time=2026-08-08T06:21:41.814+02:00 level=INFO msg="Source URL redirected" to=https://files.pythonhosted.org/packages/f6/57/3ba6e6cb097f85b855b00163d169f35365f44277df044dcf96d55b8f62a3/filelock-3.32.2.tar.gz from=https://files.pythonhosted.org/packages/source/f/filelock/filelock-3.32.2.tar.gz time=2026-08-08T06:21:41.821+02:00 level=INFO msg="Downloading source" uri=https://pypi.io/packages/source/f/filelock/filelock-3.32.2.tar.gz time=2026-08-08T06:21:41.836+02:00 level=DEBUG msg="Copying host asset" key=/etc/resolv.conf time=2026-08-08T06:21:41.836+02:00 level=DEBUG msg="Creating required directory" path=/var/cache/solbuild/unstable-x86_64/python-filelock/union/etc/eopkg time=2026-08-08T06:21:41.836+02:00 level=DEBUG msg="Copying host asset" key=/etc/eopkg/eopkg.conf time=2026-08-08T06:21:41.838+02:00 level=DEBUG msg="Starting D-BUS" time=2026-08-08T06:21:41.838+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="dbus-uuidgen --ensure" time=2026-08-08T06:21:41.847+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="dbus-daemon --system" time=2026-08-08T06:21:41.853+02:00 level=DEBUG msg="Discovering repos in rootfs" time=2026-08-08T06:21:41.853+02:00 level=DEBUG msg="Upgrading system base" time=2026-08-08T06:21:41.853+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="eopkg.bin upgrade -y -N" Updating repositories Warning: Failed to acquire inhibit lock: Launch helper exited with unknown return code 1 Updating repository: Solus Disabling keyboard interrupts for file operations. Downloaded eopkg-index.xml.xz.sha1sum Downloaded eopkg-index.xml.xz.tmp Package database updated. Warning: Failed to acquire inhibit lock: Launch helper exited with unknown return code 1 The following packages will be upgraded: nano python3 Total size of package(s): 10.85 MB Downloading 0 package resources (2 cached) python3-3.14.7-81-1-x86_64.eopkg [cached] nano-9.2-218-1-x86_64.eopkg [cached] Finished downloading package upgrades. Disabling keyboard interrupts for file operations. Installing 1 / 2 Installing python3, version 3.14.7, release 81 Upgrading to new distribution release Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (0%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (1%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (2%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (3%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (4%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (5%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (6%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (7%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (8%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (9%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (10%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (11%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (12%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (13%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (14%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (15%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (16%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (17%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (18%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (19%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (20%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (21%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (22%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (23%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (24%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (25%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (26%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (27%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (28%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (29%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (30%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (31%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (32%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (33%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (34%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (35%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (36%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (37%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (38%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (39%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (40%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (41%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (42%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (43%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (44%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (45%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (46%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (47%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (48%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (49%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (50%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (51%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (52%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (53%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (54%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (55%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (56%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (57%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (58%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (59%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (60%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (61%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (62%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (63%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (64%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (65%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (66%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (67%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (68%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (69%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (70%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (71%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (72%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (73%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (74%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (75%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (76%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (77%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (78%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (79%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (80%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (81%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (82%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (83%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (84%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (85%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (86%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (87%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (88%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (89%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (90%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (91%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (92%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (93%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (94%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (95%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (96%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (97%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (98%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (99%) Extracting the files of python3 (100%) [complete] Upgraded python3 Installing 2 / 2 Installing nano, version 9.2, release 218 Upgrading to new distribution release Extracting the files of nano (1%) Extracting the files of nano (2%) Extracting the files of nano (3%) Extracting the files of nano (4%) Extracting the files of nano (5%) Extracting the files of nano (6%) Extracting the files of nano (7%) Extracting the files of nano (8%) Extracting the files of nano (9%) Extracting the files of nano (10%) Extracting the files of nano (11%) Extracting the files of nano (12%) Extracting the files of nano (13%) Extracting the files of nano (14%) Extracting the files of nano (15%) Extracting the files of nano (16%) Extracting the files of nano (17%) Extracting the files of nano (18%) Extracting the files of nano (19%) Extracting the files of nano (20%) Extracting the files of nano (21%) Extracting the files of nano (22%) Extracting the files of nano (23%) Extracting the files of nano (25%) Extracting the files of nano (26%) Extracting the files of nano (27%) Extracting the files of nano (28%) Extracting the files of nano (29%) Extracting the files of nano (30%) Extracting the files of nano (31%) Extracting the files of nano (32%) Extracting the files of nano (33%) Extracting the files of nano (34%) Extracting the files of nano (35%) Extracting the files of nano (36%) Extracting the files of nano (37%) Extracting the files of nano (38%) Extracting the files of nano (39%) Extracting the files of nano (40%) Extracting the files of nano (41%) Extracting the files of nano (42%) Extracting the files of nano (43%) Extracting the files of nano (44%) Extracting the files of nano (45%) Extracting the files of nano (46%) Extracting the files of nano (47%) Extracting the files of nano (48%) Extracting the files of nano (50%) Extracting the files of nano (51%) Extracting the files of nano (52%) Extracting the files of nano (53%) Extracting the files of nano (54%) Extracting the files of nano (55%) Extracting the files of nano (56%) Extracting the files of nano (57%) Extracting the files of nano (58%) Extracting the files of nano (59%) Extracting the files of nano (60%) Extracting the files of nano (61%) Extracting the files of nano (62%) Extracting the files of nano (63%) Extracting the files of nano (64%) Extracting the files of nano (65%) Extracting the files of nano (66%) Extracting the files of nano (67%) Extracting the files of nano (68%) Extracting the files of nano (69%) Extracting the files of nano (70%) Extracting the files of nano (71%) Extracting the files of nano (72%) Extracting the files of nano (73%) Extracting the files of nano (75%) Extracting the files of nano (76%) Extracting the files of nano (77%) Extracting the files of nano (78%) Extracting the files of nano (79%) Extracting the files of nano (80%) Extracting the files of nano (81%) Extracting the files of nano (82%) Extracting the files of nano (83%) Extracting the files of nano (84%) Extracting the files of nano (85%) Extracting the files of nano (86%) Extracting the files of nano (87%) Extracting the files of nano (88%) Extracting the files of nano (89%) Extracting the files of nano (90%) Extracting the files of nano (91%) Extracting the files of nano (92%) Extracting the files of nano (93%) Extracting the files of nano (94%) Extracting the files of nano (95%) Extracting the files of nano (96%) Extracting the files of nano (97%) Extracting the files of nano (98%) Extracting the files of nano (100%) [complete] Upgraded nano time=2026-08-08T06:21:45.874+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="eopkg.bin install -y abi-wizard iproute2 sccache -N" Warning: Failed to acquire inhibit lock: Launch helper exited with unknown return code 1 Warning: The following package(s) are already installed and are not going to be installed again: abi-wizard iproute2 sccache No packages to install. time=2026-08-08T06:21:46.455+02:00 level=DEBUG msg="Asserting system.devel component installation" time=2026-08-08T06:21:46.455+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="eopkg.bin install -y -c system.devel -N" Warning: Failed to acquire inhibit lock: Launch helper exited with unknown return code 1 Warning: The following package(s) are already installed and are not going to be installed again: asciify autoconf automake bash-completion-devel binutils bison blake3 cmake dbus-devel diffstat diffutils expat-devel fakeroot file-devel flex flex-devel g++ gcc gettext-devel gfortran glibc-devel gmp-devel gobject-introspection-devel intltool libarchive-bin libffi-devel libgpg-error-devel libgudev-devel libtextstyle-devel libtool-devel libxcrypt-devel libxml2-devel linux-headers m4 make meson mpc-devel mpfr-devel muon nano nano-syntax-highlighting nasm ncurses-devel openssl-devel pam-devel patch pkgconf polkit-devel readline-devel rootlesskit systemd-devel texinfo util-linux-devel ypkg zlib-devel No packages to install. time=2026-08-08T06:21:47.093+02:00 level=DEBUG msg="Writing packager file" time=2026-08-08T06:21:47.093+02:00 level=DEBUG msg="Installing build dependencies" file=/home/build/work/package.yml time=2026-08-08T06:21:47.093+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="ypkg install-deps --eopkg-cmd 'eopkg.bin' -f /home/build/work/package.yml -n" Warning: Failed to acquire inhibit lock: Launch helper exited with unknown return code 1 The following packages will be installed: py python-attrs python-build python-discovery python-distlib python-filelock python-hatch-vcs python-hatchling python-iniconfig python-installer python-pathspec python-platformdirs python-pluggy python-pyproject-hooks python-pytest python-pytest-asyncio python-pytest-mock python-pytest-timeout python-setuptools-scm python-setuptools-wheel python-trove-classifiers python-vcs-versioning virtualenv Total size of package(s): 3.45 MB Warning: There are extra packages due to dependencies. Downloading 2 package resources (21 cached) python-iniconfig-2.3.0-8-1-x86_64.eopkg [cached] python-attrs-26.1.0-25-1-x86_64.eopkg [cached] py-1.11.0-22-1-x86_64.eopkg [cached] python-pluggy-1.6.0-26-1-x86_64.eopkg [cached] python-pytest-9.1.1-38-1-x86_64.eopkg [cached] python-pytest-timeout-2.4.0-12-1-x86_64.eopkg [cached] python-filelock-3.17.0-20-1-x86_64.eopkg [cached] python-pytest-mock-3.15.1-18-1-x86_64.eopkg [cached] python-platformdirs-4.10.0-19-1-x86_64.eopkg [cached] python-vcs-versioning-2.2.3-1-1-x86_64.eopkg [cached] python-pyproject-hooks-1.2.0-11-1-x86_64.eopkg [cached] python-build-1.5.1-16-1-x86_64.eopkg [cached] python-trove-classifiers-2026.6.1.19-10-1-x86_64.eopkg [cached] python-pathspec-1.1.1-14-1-x86_64.eopkg [cached] python-hatchling-1.30.1-14-1-x86_64.eopkg [cached] python-setuptools-scm-10.2.1-27-1-x86_64.eopkg [cached] python-hatch-vcs-0.5.0-12-1-x86_64.eopkg [cached] python-distlib-0.4.3-15-1-x86_64.eopkg [cached] python-installer-0.7.0-14-1-x86_64.eopkg [cached] python-setuptools-wheel-83.0.0-29-1-x86_64.eopkg [cached] python-discovery-1.5.1-1-1-x86_64.eopkg [cached] Downloaded python-pytest-asyncio-1.4.0-17-1-x86_64.eopkg Downloaded virtualenv-21.7.2-25-1-x86_64.eopkg Finished downloading packages. Disabling keyboard interrupts for file operations. Installing 1 / 23 Installing python-iniconfig, version 2.3.0, release 8 Extracting the files of python-iniconfig (5%) Extracting the files of python-iniconfig (11%) Extracting the files of python-iniconfig (16%) Extracting the files of python-iniconfig (22%) Extracting the files of python-iniconfig (27%) Extracting the files of python-iniconfig (33%) Extracting the files of python-iniconfig (38%) Extracting the files of python-iniconfig (44%) Extracting the files of python-iniconfig (50%) Extracting the files of python-iniconfig (55%) Extracting the files of python-iniconfig (61%) Extracting the files of python-iniconfig (66%) Extracting the files of python-iniconfig (72%) Extracting the files of python-iniconfig (77%) Extracting the files of python-iniconfig (83%) Extracting the files of python-iniconfig (88%) Extracting the files of python-iniconfig (94%) Extracting the files of python-iniconfig (100%) [complete] Installed python-iniconfig Installing 2 / 23 Installing python-attrs, version 26.1.0, release 25 Extracting the files of python-attrs (1%) Extracting the files of python-attrs (2%) Extracting the files of python-attrs (4%) Extracting the files of python-attrs (5%) Extracting the files of python-attrs (6%) Extracting the files of python-attrs (8%) Extracting the files of python-attrs (9%) Extracting the files of python-attrs (10%) Extracting the files of python-attrs (12%) Extracting the files of python-attrs (13%) Extracting the files of python-attrs (15%) Extracting the files of python-attrs (16%) Extracting the files of python-attrs (17%) Extracting the files of python-attrs (19%) Extracting the files of python-attrs (20%) Extracting the files of python-attrs (21%) Extracting the files of python-attrs (23%) Extracting the files of python-attrs (24%) Extracting the files of python-attrs (26%) Extracting the files of python-attrs (27%) Extracting the files of python-attrs (28%) Extracting the files of python-attrs (30%) Extracting the files of python-attrs (31%) Extracting the files of python-attrs (32%) Extracting the files of python-attrs (34%) Extracting the files of python-attrs (35%) Extracting the files of python-attrs (36%) Extracting the files of python-attrs (38%) Extracting the files of python-attrs (39%) Extracting the files of python-attrs (41%) Extracting the files of python-attrs (42%) Extracting the files of python-attrs (43%) Extracting the files of python-attrs (45%) Extracting the files of python-attrs (46%) Extracting the files of python-attrs (47%) Extracting the files of python-attrs (49%) Extracting the files of python-attrs (50%) Extracting the files of python-attrs (52%) Extracting the files of python-attrs (53%) Extracting the files of python-attrs (54%) Extracting the files of python-attrs (56%) Extracting the files of python-attrs (57%) Extracting the files of python-attrs (58%) Extracting the files of python-attrs (60%) Extracting the files of python-attrs (61%) Extracting the files of python-attrs (63%) Extracting the files of python-attrs (64%) Extracting the files of python-attrs (65%) Extracting the files of python-attrs (67%) Extracting the files of python-attrs (68%) Extracting the files of python-attrs (69%) Extracting the files of python-attrs (71%) Extracting the files of python-attrs (72%) Extracting the files of python-attrs (73%) Extracting the files of python-attrs (75%) Extracting the files of python-attrs (76%) Extracting the files of python-attrs (78%) Extracting the files of python-attrs (79%) Extracting the files of python-attrs (80%) Extracting the files of python-attrs (82%) Extracting the files of python-attrs (83%) Extracting the files of python-attrs (84%) Extracting the files of python-attrs (86%) Extracting the files of python-attrs (87%) Extracting the files of python-attrs (89%) Extracting the files of python-attrs (90%) Extracting the files of python-attrs (91%) Extracting the files of python-attrs (93%) Extracting the files of python-attrs (94%) Extracting the files of python-attrs (95%) Extracting the files of python-attrs (97%) Extracting the files of python-attrs (98%) Extracting the files of python-attrs (100%) [complete] Installed python-attrs Installing 3 / 23 Installing py, version 1.11.0, release 22 Extracting the files of py (0%) Extracting the files of py (1%) Extracting the files of py (2%) Extracting the files of py (2%) Extracting the files of py (3%) Extracting the files of py (4%) Extracting the files of py (5%) Extracting the files of py (5%) Extracting the files of py (6%) Extracting the files of py (7%) Extracting the files of py (8%) Extracting the files of py (8%) Extracting the files of py (9%) Extracting the files of py (10%) Extracting the files of py (11%) Extracting the files of py (11%) Extracting the files of py (12%) Extracting the files of py (13%) Extracting the files of py (13%) Extracting the files of py (14%) Extracting the files of py (15%) Extracting the files of py (16%) Extracting the files of py (16%) Extracting the files of py (17%) Extracting the files of py (18%) Extracting the files of py (19%) Extracting the files of py (19%) Extracting the files of py (20%) Extracting the files of py (21%) Extracting the files of py (22%) Extracting the files of py (22%) Extracting the files of py (23%) Extracting the files of py (24%) Extracting the files of py (25%) Extracting the files of py (25%) Extracting the files of py (26%) Extracting the files of py (27%) Extracting the files of py (27%) Extracting the files of py (28%) Extracting the files of py (29%) Extracting the files of py (30%) Extracting the files of py (30%) Extracting the files of py (31%) Extracting the files of py (32%) Extracting the files of py (33%) Extracting the files of py (33%) Extracting the files of py (34%) Extracting the files of py (35%) Extracting the files of py (36%) Extracting the files of py (36%) Extracting the files of py (37%) Extracting the files of py (38%) Extracting the files of py (38%) Extracting the files of py (39%) Extracting the files of py (40%) Extracting the files of py (41%) Extracting the files of py (41%) Extracting the files of py (42%) Extracting the files of py (43%) Extracting the files of py (44%) Extracting the files of py (44%) Extracting the files of py (45%) Extracting the files of py (46%) Extracting the files of py (47%) Extracting the files of py (47%) Extracting the files of py (48%) Extracting the files of py (49%) Extracting the files of py (50%) Extracting the files of py (50%) Extracting the files of py (51%) Extracting the files of py (52%) Extracting the files of py (52%) Extracting the files of py (53%) Extracting the files of py (54%) Extracting the files of py (55%) Extracting the files of py (55%) Extracting the files of py (56%) Extracting the files of py (57%) Extracting the files of py (58%) Extracting the files of py (58%) Extracting the files of py (59%) Extracting the files of py (60%) Extracting the files of py (61%) Extracting the files of py (61%) Extracting the files of py (62%) Extracting the files of py (63%) Extracting the files of py (63%) Extracting the files of py (64%) Extracting the files of py (65%) Extracting the files of py (66%) Extracting the files of py (66%) Extracting the files of py (67%) Extracting the files of py (68%) Extracting the files of py (69%) Extracting the files of py (69%) Extracting the files of py (70%) Extracting the files of py (71%) Extracting the files of py (72%) Extracting the files of py (72%) Extracting the files of py (73%) Extracting the files of py (74%) Extracting the files of py (75%) Extracting the files of py (75%) Extracting the files of py (76%) Extracting the files of py (77%) Extracting the files of py (77%) Extracting the files of py (78%) Extracting the files of py (79%) Extracting the files of py (80%) Extracting the files of py (80%) Extracting the files of py (81%) Extracting the files of py (82%) Extracting the files of py (83%) Extracting the files of py (83%) Extracting the files of py (84%) Extracting the files of py (85%) Extracting the files of py (86%) Extracting the files of py (86%) Extracting the files of py (87%) Extracting the files of py (88%) Extracting the files of py (88%) Extracting the files of py (89%) Extracting the files of py (90%) Extracting the files of py (91%) Extracting the files of py (91%) Extracting the files of py (92%) Extracting the files of py (93%) Extracting the files of py (94%) Extracting the files of py (94%) Extracting the files of py (95%) Extracting the files of py (96%) Extracting the files of py (97%) Extracting the files of py (97%) Extracting the files of py (98%) Extracting the files of py (99%) Extracting the files of py (100%) [complete] Installed py Installing 4 / 23 Installing python-pluggy, version 1.6.0, release 26 Extracting the files of python-pluggy (3%) Extracting the files of python-pluggy (6%) Extracting the files of python-pluggy (10%) Extracting the files of python-pluggy (13%) Extracting the files of python-pluggy (16%) Extracting the files of python-pluggy (20%) Extracting the files of python-pluggy (23%) Extracting the files of python-pluggy (26%) Extracting the files of python-pluggy (30%) Extracting the files of python-pluggy (33%) Extracting the files of python-pluggy (36%) Extracting the files of python-pluggy (40%) Extracting the files of python-pluggy (43%) Extracting the files of python-pluggy (46%) Extracting the files of python-pluggy (50%) Extracting the files of python-pluggy (53%) Extracting the files of python-pluggy (56%) Extracting the files of python-pluggy (60%) Extracting the files of python-pluggy (63%) Extracting the files of python-pluggy (66%) Extracting the files of python-pluggy (70%) Extracting the files of python-pluggy (73%) Extracting the files of python-pluggy (76%) Extracting the files of python-pluggy (80%) Extracting the files of python-pluggy (83%) Extracting the files of python-pluggy (86%) Extracting the files of python-pluggy (90%) Extracting the files of python-pluggy (93%) Extracting the files of python-pluggy (96%) Extracting the files of python-pluggy (100%) [complete] Installed python-pluggy Installing 5 / 23 Installing python-pytest, version 9.1.1, release 38 Extracting the files of python-pytest (0%) Extracting the files of python-pytest (0%) Extracting the files of python-pytest (0%) Extracting the files of python-pytest (1%) Extracting the files of python-pytest (1%) Extracting the files of python-pytest (1%) Extracting the files of python-pytest (2%) Extracting the files of python-pytest (2%) Extracting the files of python-pytest (2%) Extracting the files of python-pytest (2%) Extracting the files of python-pytest (3%) Extracting the files of python-pytest (3%) Extracting the files of python-pytest (3%) Extracting the files of python-pytest (4%) Extracting the files of python-pytest (4%) Extracting the files of python-pytest (4%) Extracting the files of python-pytest (5%) Extracting the files of python-pytest (5%) Extracting the files of python-pytest (5%) Extracting the files of python-pytest (5%) Extracting the files of python-pytest (6%) Extracting the files of python-pytest (6%) Extracting the files of python-pytest (6%) Extracting the files of python-pytest (7%) Extracting the files of python-pytest (7%) Extracting the files of python-pytest (7%) Extracting the files of python-pytest (8%) Extracting the files of python-pytest (8%) Extracting the files of python-pytest (8%) Extracting the files of python-pytest (8%) Extracting the files of python-pytest (9%) Extracting the files of python-pytest (9%) Extracting the files of python-pytest (9%) Extracting the files of python-pytest (10%) Extracting the files of python-pytest (10%) Extracting the files of python-pytest (10%) Extracting the files of python-pytest (11%) Extracting the files of python-pytest (11%) Extracting the files of python-pytest (11%) Extracting the files of python-pytest (11%) Extracting the files of python-pytest (12%) Extracting the files of python-pytest (12%) Extracting the files of python-pytest (12%) Extracting the files of python-pytest (13%) Extracting the files of python-pytest (13%) Extracting the files of python-pytest (13%) Extracting the files of python-pytest (13%) Extracting the files of python-pytest (14%) Extracting the files of python-pytest (14%) Extracting the files of python-pytest (14%) Extracting the files of python-pytest (15%) Extracting the files of python-pytest (15%) Extracting the files of python-pytest (15%) Extracting the files of python-pytest (16%) Extracting the files of python-pytest (16%) Extracting the files of python-pytest (16%) Extracting the files of python-pytest (16%) Extracting the files of python-pytest (17%) Extracting the files of python-pytest (17%) Extracting the files of python-pytest (17%) Extracting the files of python-pytest (18%) Extracting the files of python-pytest (18%) Extracting the files of python-pytest (18%) Extracting the files of python-pytest (19%) Extracting the files of python-pytest (19%) Extracting the files of python-pytest (19%) Extracting the files of python-pytest (19%) Extracting the files of python-pytest (20%) Extracting the files of python-pytest (20%) Extracting the files of python-pytest (20%) Extracting the files of python-pytest (21%) Extracting the files of python-pytest (21%) Extracting the files of python-pytest (21%) Extracting the files of python-pytest (22%) Extracting the files of python-pytest (22%) Extracting the files of python-pytest (22%) Extracting the files of python-pytest (22%) Extracting the files of python-pytest (23%) Extracting the files of python-pytest (23%) Extracting the files of python-pytest (23%) Extracting the files of python-pytest (24%) Extracting the files of python-pytest (24%) Extracting the files of python-pytest (24%) Extracting the files of python-pytest (25%) Extracting the files of python-pytest (25%) Extracting the files of python-pytest (25%) Extracting the files of python-pytest (25%) Extracting the files of python-pytest (26%) Extracting the files of python-pytest (26%) Extracting the files of python-pytest (26%) Extracting the files of python-pytest (27%) Extracting the files of python-pytest (27%) Extracting the files of python-pytest (27%) Extracting the files of python-pytest (27%) Extracting the files of python-pytest (28%) Extracting the files of python-pytest (28%) Extracting the files of python-pytest (28%) Extracting the files of python-pytest (29%) Extracting the files of python-pytest (29%) Extracting the files of python-pytest (29%) Extracting the files of python-pytest (30%) Extracting the files of python-pytest (30%) Extracting the files of python-pytest (30%) Extracting the files of python-pytest (30%) Extracting the files of python-pytest (31%) Extracting the files of python-pytest (31%) Extracting the files of python-pytest (31%) Extracting the files of python-pytest (32%) Extracting the files of python-pytest (32%) Extracting the files of python-pytest (32%) Extracting the files of python-pytest (33%) Extracting the files of python-pytest (33%) Extracting the files of python-pytest (33%) Extracting the files of python-pytest (33%) Extracting the files of python-pytest (34%) Extracting the files of python-pytest (34%) Extracting the files of python-pytest (34%) Extracting the files of python-pytest (35%) Extracting the files of python-pytest (35%) Extracting the files of python-pytest (35%) Extracting the files of python-pytest (36%) Extracting the files of python-pytest (36%) Extracting the files of python-pytest (36%) Extracting the files of python-pytest (36%) Extracting the files of python-pytest (37%) Extracting the files of python-pytest (37%) Extracting the files of python-pytest (37%) Extracting the files of python-pytest (38%) Extracting the files of python-pytest (38%) Extracting the files of python-pytest (38%) Extracting the files of python-pytest (38%) Extracting the files of python-pytest (39%) Extracting the files of python-pytest (39%) Extracting the files of python-pytest (39%) Extracting the files of python-pytest (40%) Extracting the files of python-pytest (40%) Extracting the files of python-pytest (40%) Extracting the files of python-pytest (41%) Extracting the files of python-pytest (41%) Extracting the files of python-pytest (41%) Extracting the files of python-pytest (41%) Extracting the files of python-pytest (42%) Extracting the files of python-pytest (42%) Extracting the files of python-pytest (42%) Extracting the files of python-pytest (43%) Extracting the files of python-pytest (43%) Extracting the files of python-pytest (43%) Extracting the files of python-pytest (44%) Extracting the files of python-pytest (44%) Extracting the files of python-pytest (44%) Extracting the files of python-pytest (44%) Extracting the files of python-pytest (45%) Extracting the files of python-pytest (45%) Extracting the files of python-pytest (45%) Extracting the files of python-pytest (46%) Extracting the files of python-pytest (46%) Extracting the files of python-pytest (46%) Extracting the files of python-pytest (47%) Extracting the files of python-pytest (47%) Extracting the files of python-pytest (47%) Extracting the files of python-pytest (47%) Extracting the files of python-pytest (48%) Extracting the files of python-pytest (48%) Extracting the files of python-pytest (48%) Extracting the files of python-pytest (49%) Extracting the files of python-pytest (49%) Extracting the files of python-pytest (49%) Extracting the files of python-pytest (50%) Extracting the files of python-pytest (50%) Extracting the files of python-pytest (50%) Extracting the files of python-pytest (50%) Extracting the files of python-pytest (51%) Extracting the files of python-pytest (51%) Extracting the files of python-pytest (51%) Extracting the files of python-pytest (52%) Extracting the files of python-pytest (52%) Extracting the files of python-pytest (52%) Extracting the files of python-pytest (52%) Extracting the files of python-pytest (53%) Extracting the files of python-pytest (53%) Extracting the files of python-pytest (53%) Extracting the files of python-pytest (54%) Extracting the files of python-pytest (54%) Extracting the files of python-pytest (54%) Extracting the files of python-pytest (55%) Extracting the files of python-pytest (55%) Extracting the files of python-pytest (55%) Extracting the files of python-pytest (55%) Extracting the files of python-pytest (56%) Extracting the files of python-pytest (56%) Extracting the files of python-pytest (56%) Extracting the files of python-pytest (57%) Extracting the files of python-pytest (57%) Extracting the files of python-pytest (57%) Extracting the files of python-pytest (58%) Extracting the files of python-pytest (58%) Extracting the files of python-pytest (58%) Extracting the files of python-pytest (58%) Extracting the files of python-pytest (59%) Extracting the files of python-pytest (59%) Extracting the files of python-pytest (59%) Extracting the files of python-pytest (60%) Extracting the files of python-pytest (60%) Extracting the files of python-pytest (60%) Extracting the files of python-pytest (61%) Extracting the files of python-pytest (61%) Extracting the files of python-pytest (61%) Extracting the files of python-pytest (61%) Extracting the files of python-pytest (62%) Extracting the files of python-pytest (62%) Extracting the files of python-pytest (62%) Extracting the files of python-pytest (63%) Extracting the files of python-pytest (63%) Extracting the files of python-pytest (63%) Extracting the files of python-pytest (63%) Extracting the files of python-pytest (64%) Extracting the files of python-pytest (64%) Extracting the files of python-pytest (64%) Extracting the files of python-pytest (65%) Extracting the files of python-pytest (65%) Extracting the files of python-pytest (65%) Extracting the files of python-pytest (66%) Extracting the files of python-pytest (66%) Extracting the files of python-pytest (66%) Extracting the files of python-pytest (66%) Extracting the files of python-pytest (67%) Extracting the files of python-pytest (67%) Extracting the files of python-pytest (67%) Extracting the files of python-pytest (68%) Extracting the files of python-pytest (68%) Extracting the files of python-pytest (68%) Extracting the files of python-pytest (69%) Extracting the files of python-pytest (69%) Extracting the files of python-pytest (69%) Extracting the files of python-pytest (69%) Extracting the files of python-pytest (70%) Extracting the files of python-pytest (70%) Extracting the files of python-pytest (70%) Extracting the files of python-pytest (71%) Extracting the files of python-pytest (71%) Extracting the files of python-pytest (71%) Extracting the files of python-pytest (72%) Extracting the files of python-pytest (72%) Extracting the files of python-pytest (72%) Extracting the files of python-pytest (72%) Extracting the files of python-pytest (73%) Extracting the files of python-pytest (73%) Extracting the files of python-pytest (73%) Extracting the files of python-pytest (74%) Extracting the files of python-pytest (74%) Extracting the files of python-pytest (74%) Extracting the files of python-pytest (75%) Extracting the files of python-pytest (75%) Extracting the files of python-pytest (75%) Extracting the files of python-pytest (75%) Extracting the files of python-pytest (76%) Extracting the files of python-pytest (76%) Extracting the files of python-pytest (76%) Extracting the files of python-pytest (77%) Extracting the files of python-pytest (77%) Extracting the files of python-pytest (77%) Extracting the files of python-pytest (77%) Extracting the files of python-pytest (78%) Extracting the files of python-pytest (78%) Extracting the files of python-pytest (78%) Extracting the files of python-pytest (79%) Extracting the files of python-pytest (79%) Extracting the files of python-pytest (79%) Extracting the files of python-pytest (80%) Extracting the files of python-pytest (80%) Extracting the files of python-pytest (80%) Extracting the files of python-pytest (80%) Extracting the files of python-pytest (81%) Extracting the files of python-pytest (81%) Extracting the files of python-pytest (81%) Extracting the files of python-pytest (82%) Extracting the files of python-pytest (82%) Extracting the files of python-pytest (82%) Extracting the files of python-pytest (83%) Extracting the files of python-pytest (83%) Extracting the files of python-pytest (83%) Extracting the files of python-pytest (83%) Extracting the files of python-pytest (84%) Extracting the files of python-pytest (84%) Extracting the files of python-pytest (84%) Extracting the files of python-pytest (85%) Extracting the files of python-pytest (85%) Extracting the files of python-pytest (85%) Extracting the files of python-pytest (86%) Extracting the files of python-pytest (86%) Extracting the files of python-pytest (86%) Extracting the files of python-pytest (86%) Extracting the files of python-pytest (87%) Extracting the files of python-pytest (87%) Extracting the files of python-pytest (87%) Extracting the files of python-pytest (88%) Extracting the files of python-pytest (88%) Extracting the files of python-pytest (88%) Extracting the files of python-pytest (88%) Extracting the files of python-pytest (89%) Extracting the files of python-pytest (89%) Extracting the files of python-pytest (89%) Extracting the files of python-pytest (90%) Extracting the files of python-pytest (90%) Extracting the files of python-pytest (90%) Extracting the files of python-pytest (91%) Extracting the files of python-pytest (91%) Extracting the files of python-pytest (91%) Extracting the files of python-pytest (91%) Extracting the files of python-pytest (92%) Extracting the files of python-pytest (92%) Extracting the files of python-pytest (92%) Extracting the files of python-pytest (93%) Extracting the files of python-pytest (93%) Extracting the files of python-pytest (93%) Extracting the files of python-pytest (94%) Extracting the files of python-pytest (94%) Extracting the files of python-pytest (94%) Extracting the files of python-pytest (94%) Extracting the files of python-pytest (95%) Extracting the files of python-pytest (95%) Extracting the files of python-pytest (95%) Extracting the files of python-pytest (96%) Extracting the files of python-pytest (96%) Extracting the files of python-pytest (96%) Extracting the files of python-pytest (97%) Extracting the files of python-pytest (97%) Extracting the files of python-pytest (97%) Extracting the files of python-pytest (97%) Extracting the files of python-pytest (98%) Extracting the files of python-pytest (98%) Extracting the files of python-pytest (98%) Extracting the files of python-pytest (99%) Extracting the files of python-pytest (99%) Extracting the files of python-pytest (99%) Extracting the files of python-pytest (100%) [complete] Installed python-pytest Installing 6 / 23 Installing python-pytest-timeout, version 2.4.0, release 12 Extracting the files of python-pytest-timeout (10%) Extracting the files of python-pytest-timeout (20%) Extracting the files of python-pytest-timeout (30%) Extracting the files of python-pytest-timeout (40%) Extracting the files of python-pytest-timeout (50%) Extracting the files of python-pytest-timeout (60%) Extracting the files of python-pytest-timeout (70%) Extracting the files of python-pytest-timeout (80%) Extracting the files of python-pytest-timeout (90%) Extracting the files of python-pytest-timeout (100%) [complete] Installed python-pytest-timeout Installing 7 / 23 Installing python-filelock, version 3.17.0, release 20 Extracting the files of python-filelock (3%) Extracting the files of python-filelock (6%) Extracting the files of python-filelock (9%) Extracting the files of python-filelock (12%) Extracting the files of python-filelock (15%) Extracting the files of python-filelock (18%) Extracting the files of python-filelock (21%) Extracting the files of python-filelock (25%) Extracting the files of python-filelock (28%) Extracting the files of python-filelock (31%) Extracting the files of python-filelock (34%) Extracting the files of python-filelock (37%) Extracting the files of python-filelock (40%) Extracting the files of python-filelock (43%) Extracting the files of python-filelock (46%) Extracting the files of python-filelock (50%) Extracting the files of python-filelock (53%) Extracting the files of python-filelock (56%) Extracting the files of python-filelock (59%) Extracting the files of python-filelock (62%) Extracting the files of python-filelock (65%) Extracting the files of python-filelock (68%) Extracting the files of python-filelock (71%) Extracting the files of python-filelock (75%) Extracting the files of python-filelock (78%) Extracting the files of python-filelock (81%) Extracting the files of python-filelock (84%) Extracting the files of python-filelock (87%) Extracting the files of python-filelock (90%) Extracting the files of python-filelock (93%) Extracting the files of python-filelock (96%) Extracting the files of python-filelock (100%) [complete] Installed python-filelock Installing 8 / 23 Installing python-pytest-mock, version 3.15.1, release 18 Extracting the files of python-pytest-mock (4%) Extracting the files of python-pytest-mock (9%) Extracting the files of python-pytest-mock (13%) Extracting the files of python-pytest-mock (18%) Extracting the files of python-pytest-mock (22%) Extracting the files of python-pytest-mock (27%) Extracting the files of python-pytest-mock (31%) Extracting the files of python-pytest-mock (36%) Extracting the files of python-pytest-mock (40%) Extracting the files of python-pytest-mock (45%) Extracting the files of python-pytest-mock (50%) Extracting the files of python-pytest-mock (54%) Extracting the files of python-pytest-mock (59%) Extracting the files of python-pytest-mock (63%) Extracting the files of python-pytest-mock (68%) Extracting the files of python-pytest-mock (72%) Extracting the files of python-pytest-mock (77%) Extracting the files of python-pytest-mock (81%) Extracting the files of python-pytest-mock (86%) Extracting the files of python-pytest-mock (90%) Extracting the files of python-pytest-mock (95%) Extracting the files of python-pytest-mock (100%) [complete] Installed python-pytest-mock Installing 9 / 23 Installing python-platformdirs, version 4.10.0, release 19 Extracting the files of python-platformdirs (3%) Extracting the files of python-platformdirs (6%) Extracting the files of python-platformdirs (9%) Extracting the files of python-platformdirs (12%) Extracting the files of python-platformdirs (15%) Extracting the files of python-platformdirs (18%) Extracting the files of python-platformdirs (21%) Extracting the files of python-platformdirs (25%) Extracting the files of python-platformdirs (28%) Extracting the files of python-platformdirs (31%) Extracting the files of python-platformdirs (34%) Extracting the files of python-platformdirs (37%) Extracting the files of python-platformdirs (40%) Extracting the files of python-platformdirs (43%) Extracting the files of python-platformdirs (46%) Extracting the files of python-platformdirs (50%) Extracting the files of python-platformdirs (53%) Extracting the files of python-platformdirs (56%) Extracting the files of python-platformdirs (59%) Extracting the files of python-platformdirs (62%) Extracting the files of python-platformdirs (65%) Extracting the files of python-platformdirs (68%) Extracting the files of python-platformdirs (71%) Extracting the files of python-platformdirs (75%) Extracting the files of python-platformdirs (78%) Extracting the files of python-platformdirs (81%) Extracting the files of python-platformdirs (84%) Extracting the files of python-platformdirs (87%) Extracting the files of python-platformdirs (90%) Extracting the files of python-platformdirs (93%) Extracting the files of python-platformdirs (96%) Extracting the files of python-platformdirs (100%) [complete] Installed python-platformdirs Installing 10 / 23 Installing python-vcs-versioning, version 2.2.3, release 1 Extracting the files of python-vcs-versioning (0%) Extracting the files of python-vcs-versioning (1%) Extracting the files of python-vcs-versioning (1%) Extracting the files of python-vcs-versioning (2%) Extracting the files of python-vcs-versioning (2%) Extracting the files of python-vcs-versioning (3%) Extracting the files of python-vcs-versioning (4%) Extracting the files of python-vcs-versioning (4%) Extracting the files of python-vcs-versioning (5%) Extracting the files of python-vcs-versioning (5%) Extracting the files of python-vcs-versioning (6%) Extracting the files of python-vcs-versioning (7%) Extracting the files of python-vcs-versioning (7%) Extracting the files of python-vcs-versioning (8%) Extracting the files of python-vcs-versioning (8%) Extracting the files of python-vcs-versioning (9%) Extracting the files of python-vcs-versioning (10%) Extracting the files of python-vcs-versioning (10%) Extracting the files of python-vcs-versioning (11%) Extracting the files of python-vcs-versioning (11%) Extracting the files of python-vcs-versioning (12%) Extracting the files of python-vcs-versioning (12%) Extracting the files of python-vcs-versioning (13%) Extracting the files of python-vcs-versioning (14%) Extracting the files of python-vcs-versioning (14%) Extracting the files of python-vcs-versioning (15%) Extracting the files of python-vcs-versioning (15%) Extracting the files of python-vcs-versioning (16%) Extracting the files of python-vcs-versioning (17%) Extracting the files of python-vcs-versioning (17%) Extracting the files of python-vcs-versioning (18%) Extracting the files of python-vcs-versioning (18%) Extracting the files of python-vcs-versioning (19%) Extracting the files of python-vcs-versioning (20%) Extracting the files of python-vcs-versioning (20%) Extracting the files of python-vcs-versioning (21%) Extracting the files of python-vcs-versioning (21%) Extracting the files of python-vcs-versioning (22%) Extracting the files of python-vcs-versioning (22%) Extracting the files of python-vcs-versioning (23%) Extracting the files of python-vcs-versioning (24%) Extracting the files of python-vcs-versioning (24%) Extracting the files of python-vcs-versioning (25%) Extracting the files of python-vcs-versioning (25%) Extracting the files of python-vcs-versioning (26%) Extracting the files of python-vcs-versioning (27%) Extracting the files of python-vcs-versioning (27%) Extracting the files of python-vcs-versioning (28%) Extracting the files of python-vcs-versioning (28%) Extracting the files of python-vcs-versioning (29%) Extracting the files of python-vcs-versioning (30%) Extracting the files of python-vcs-versioning (30%) Extracting the files of python-vcs-versioning (31%) Extracting the files of python-vcs-versioning (31%) Extracting the files of python-vcs-versioning (32%) Extracting the files of python-vcs-versioning (32%) Extracting the files of python-vcs-versioning (33%) Extracting the files of python-vcs-versioning (34%) Extracting the files of python-vcs-versioning (34%) Extracting the files of python-vcs-versioning (35%) Extracting the files of python-vcs-versioning (35%) Extracting the files of python-vcs-versioning (36%) Extracting the files of python-vcs-versioning (37%) Extracting the files of python-vcs-versioning (37%) Extracting the files of python-vcs-versioning (38%) Extracting the files of python-vcs-versioning (38%) Extracting the files of python-vcs-versioning (39%) Extracting the files of python-vcs-versioning (40%) Extracting the files of python-vcs-versioning (40%) Extracting the files of python-vcs-versioning (41%) Extracting the files of python-vcs-versioning (41%) Extracting the files of python-vcs-versioning (42%) Extracting the files of python-vcs-versioning (42%) Extracting the files of python-vcs-versioning (43%) Extracting the files of python-vcs-versioning (44%) Extracting the files of python-vcs-versioning (44%) Extracting the files of python-vcs-versioning (45%) Extracting the files of python-vcs-versioning (45%) Extracting the files of python-vcs-versioning (46%) Extracting the files of python-vcs-versioning (47%) Extracting the files of python-vcs-versioning (47%) Extracting the files of python-vcs-versioning (48%) Extracting the files of python-vcs-versioning (48%) Extracting the files of python-vcs-versioning (49%) Extracting the files of python-vcs-versioning (50%) Extracting the files of python-vcs-versioning (50%) Extracting the files of python-vcs-versioning (51%) Extracting the files of python-vcs-versioning (51%) Extracting the files of python-vcs-versioning (52%) Extracting the files of python-vcs-versioning (52%) Extracting the files of python-vcs-versioning (53%) Extracting the files of python-vcs-versioning (54%) Extracting the files of python-vcs-versioning (54%) Extracting the files of python-vcs-versioning (55%) Extracting the files of python-vcs-versioning (55%) Extracting the files of python-vcs-versioning (56%) Extracting the files of python-vcs-versioning (57%) Extracting the files of python-vcs-versioning (57%) Extracting the files of python-vcs-versioning (58%) Extracting the files of python-vcs-versioning (58%) Extracting the files of python-vcs-versioning (59%) Extracting the files of python-vcs-versioning (60%) Extracting the files of python-vcs-versioning (60%) Extracting the files of python-vcs-versioning (61%) Extracting the files of python-vcs-versioning (61%) Extracting the files of python-vcs-versioning (62%) Extracting the files of python-vcs-versioning (62%) Extracting the files of python-vcs-versioning (63%) Extracting the files of python-vcs-versioning (64%) Extracting the files of python-vcs-versioning (64%) Extracting the files of python-vcs-versioning (65%) Extracting the files of python-vcs-versioning (65%) Extracting the files of python-vcs-versioning (66%) Extracting the files of python-vcs-versioning (67%) Extracting the files of python-vcs-versioning (67%) Extracting the files of python-vcs-versioning (68%) Extracting the files of python-vcs-versioning (68%) Extracting the files of python-vcs-versioning (69%) Extracting the files of python-vcs-versioning (70%) Extracting the files of python-vcs-versioning (70%) Extracting the files of python-vcs-versioning (71%) Extracting the files of python-vcs-versioning (71%) Extracting the files of python-vcs-versioning (72%) Extracting the files of python-vcs-versioning (72%) Extracting the files of python-vcs-versioning (73%) Extracting the files of python-vcs-versioning (74%) Extracting the files of python-vcs-versioning (74%) Extracting the files of python-vcs-versioning (75%) Extracting the files of python-vcs-versioning (75%) Extracting the files of python-vcs-versioning (76%) Extracting the files of python-vcs-versioning (77%) Extracting the files of python-vcs-versioning (77%) Extracting the files of python-vcs-versioning (78%) Extracting the files of python-vcs-versioning (78%) Extracting the files of python-vcs-versioning (79%) Extracting the files of python-vcs-versioning (80%) Extracting the files of python-vcs-versioning (80%) Extracting the files of python-vcs-versioning (81%) Extracting the files of python-vcs-versioning (81%) Extracting the files of python-vcs-versioning (82%) Extracting the files of python-vcs-versioning (82%) Extracting the files of python-vcs-versioning (83%) Extracting the files of python-vcs-versioning (84%) Extracting the files of python-vcs-versioning (84%) Extracting the files of python-vcs-versioning (85%) Extracting the files of python-vcs-versioning (85%) Extracting the files of python-vcs-versioning (86%) Extracting the files of python-vcs-versioning (87%) Extracting the files of python-vcs-versioning (87%) Extracting the files of python-vcs-versioning (88%) Extracting the files of python-vcs-versioning (88%) Extracting the files of python-vcs-versioning (89%) Extracting the files of python-vcs-versioning (90%) Extracting the files of python-vcs-versioning (90%) Extracting the files of python-vcs-versioning (91%) Extracting the files of python-vcs-versioning (91%) Extracting the files of python-vcs-versioning (92%) Extracting the files of python-vcs-versioning (92%) Extracting the files of python-vcs-versioning (93%) Extracting the files of python-vcs-versioning (94%) Extracting the files of python-vcs-versioning (94%) Extracting the files of python-vcs-versioning (95%) Extracting the files of python-vcs-versioning (95%) Extracting the files of python-vcs-versioning (96%) Extracting the files of python-vcs-versioning (97%) Extracting the files of python-vcs-versioning (97%) Extracting the files of python-vcs-versioning (98%) Extracting the files of python-vcs-versioning (98%) Extracting the files of python-vcs-versioning (99%) Extracting the files of python-vcs-versioning (100%) [complete] Installed python-vcs-versioning Installing 11 / 23 Installing python-pyproject-hooks, version 1.2.0, release 11 Extracting the files of python-pyproject-hooks (5%) Extracting the files of python-pyproject-hooks (11%) Extracting the files of python-pyproject-hooks (17%) Extracting the files of python-pyproject-hooks (23%) Extracting the files of python-pyproject-hooks (29%) Extracting the files of python-pyproject-hooks (35%) Extracting the files of python-pyproject-hooks (41%) Extracting the files of python-pyproject-hooks (47%) Extracting the files of python-pyproject-hooks (52%) Extracting the files of python-pyproject-hooks (58%) Extracting the files of python-pyproject-hooks (64%) Extracting the files of python-pyproject-hooks (70%) Extracting the files of python-pyproject-hooks (76%) Extracting the files of python-pyproject-hooks (82%) Extracting the files of python-pyproject-hooks (88%) Extracting the files of python-pyproject-hooks (94%) Extracting the files of python-pyproject-hooks (100%) [complete] Installed python-pyproject-hooks Installing 12 / 23 Installing python-build, version 1.5.1, release 16 Extracting the files of python-build (2%) Extracting the files of python-build (4%) Extracting the files of python-build (6%) Extracting the files of python-build (8%) Extracting the files of python-build (10%) Extracting the files of python-build (13%) Extracting the files of python-build (15%) Extracting the files of python-build (17%) Extracting the files of python-build (19%) Extracting the files of python-build (21%) Extracting the files of python-build (23%) Extracting the files of python-build (26%) Extracting the files of python-build (28%) Extracting the files of python-build (30%) Extracting the files of python-build (32%) Extracting the files of python-build (34%) Extracting the files of python-build (36%) Extracting the files of python-build (39%) Extracting the files of python-build (41%) Extracting the files of python-build (43%) Extracting the files of python-build (45%) Extracting the files of python-build (47%) Extracting the files of python-build (50%) Extracting the files of python-build (52%) Extracting the files of python-build (54%) Extracting the files of python-build (56%) Extracting the files of python-build (58%) Extracting the files of python-build (60%) Extracting the files of python-build (63%) Extracting the files of python-build (65%) Extracting the files of python-build (67%) Extracting the files of python-build (69%) Extracting the files of python-build (71%) Extracting the files of python-build (73%) Extracting the files of python-build (76%) Extracting the files of python-build (78%) Extracting the files of python-build (80%) Extracting the files of python-build (82%) Extracting the files of python-build (84%) Extracting the files of python-build (86%) Extracting the files of python-build (89%) Extracting the files of python-build (91%) Extracting the files of python-build (93%) Extracting the files of python-build (95%) Extracting the files of python-build (97%) Extracting the files of python-build (100%) [complete] Installed python-build Installing 13 / 23 Installing python-trove-classifiers, version 2026.6.1.19, release 10 Extracting the files of python-trove-classifiers (7%) Extracting the files of python-trove-classifiers (14%) Extracting the files of python-trove-classifiers (21%) Extracting the files of python-trove-classifiers (28%) Extracting the files of python-trove-classifiers (35%) Extracting the files of python-trove-classifiers (42%) Extracting the files of python-trove-classifiers (50%) Extracting the files of python-trove-classifiers (57%) Extracting the files of python-trove-classifiers (64%) Extracting the files of python-trove-classifiers (71%) Extracting the files of python-trove-classifiers (78%) Extracting the files of python-trove-classifiers (85%) Extracting the files of python-trove-classifiers (92%) Extracting the files of python-trove-classifiers (100%) [complete] Installed python-trove-classifiers Installing 14 / 23 Installing python-pathspec, version 1.1.1, release 14 Extracting the files of python-pathspec (1%) Extracting the files of python-pathspec (2%) Extracting the files of python-pathspec (3%) Extracting the files of python-pathspec (4%) Extracting the files of python-pathspec (5%) Extracting the files of python-pathspec (6%) Extracting the files of python-pathspec (7%) Extracting the files of python-pathspec (8%) Extracting the files of python-pathspec (9%) Extracting the files of python-pathspec (10%) Extracting the files of python-pathspec (11%) Extracting the files of python-pathspec (12%) Extracting the files of python-pathspec (13%) Extracting the files of python-pathspec (14%) Extracting the files of python-pathspec (15%) Extracting the files of python-pathspec (16%) Extracting the files of python-pathspec (17%) Extracting the files of python-pathspec (18%) Extracting the files of python-pathspec (19%) Extracting the files of python-pathspec (20%) Extracting the files of python-pathspec (21%) Extracting the files of python-pathspec (22%) Extracting the files of python-pathspec (23%) Extracting the files of python-pathspec (24%) Extracting the files of python-pathspec (25%) Extracting the files of python-pathspec (26%) Extracting the files of python-pathspec (27%) Extracting the files of python-pathspec (28%) Extracting the files of python-pathspec (29%) Extracting the files of python-pathspec (30%) Extracting the files of python-pathspec (31%) Extracting the files of python-pathspec (32%) Extracting the files of python-pathspec (33%) Extracting the files of python-pathspec (34%) Extracting the files of python-pathspec (35%) Extracting the files of python-pathspec (36%) Extracting the files of python-pathspec (37%) Extracting the files of python-pathspec (38%) Extracting the files of python-pathspec (39%) Extracting the files of python-pathspec (40%) Extracting the files of python-pathspec (41%) Extracting the files of python-pathspec (42%) Extracting the files of python-pathspec (43%) Extracting the files of python-pathspec (44%) Extracting the files of python-pathspec (45%) Extracting the files of python-pathspec (46%) Extracting the files of python-pathspec (47%) Extracting the files of python-pathspec (48%) Extracting the files of python-pathspec (50%) Extracting the files of python-pathspec (51%) Extracting the files of python-pathspec (52%) Extracting the files of python-pathspec (53%) Extracting the files of python-pathspec (54%) Extracting the files of python-pathspec (55%) Extracting the files of python-pathspec (56%) Extracting the files of python-pathspec (57%) Extracting the files of python-pathspec (58%) Extracting the files of python-pathspec (59%) Extracting the files of python-pathspec (60%) Extracting the files of python-pathspec (61%) Extracting the files of python-pathspec (62%) Extracting the files of python-pathspec (63%) Extracting the files of python-pathspec (64%) Extracting the files of python-pathspec (65%) Extracting the files of python-pathspec (66%) Extracting the files of python-pathspec (67%) Extracting the files of python-pathspec (68%) Extracting the files of python-pathspec (69%) Extracting the files of python-pathspec (70%) Extracting the files of python-pathspec (71%) Extracting the files of python-pathspec (72%) Extracting the files of python-pathspec (73%) Extracting the files of python-pathspec (74%) Extracting the files of python-pathspec (75%) Extracting the files of python-pathspec (76%) Extracting the files of python-pathspec (77%) Extracting the files of python-pathspec (78%) Extracting the files of python-pathspec (79%) Extracting the files of python-pathspec (80%) Extracting the files of python-pathspec (81%) Extracting the files of python-pathspec (82%) Extracting the files of python-pathspec (83%) Extracting the files of python-pathspec (84%) Extracting the files of python-pathspec (85%) Extracting the files of python-pathspec (86%) Extracting the files of python-pathspec (87%) Extracting the files of python-pathspec (88%) Extracting the files of python-pathspec (89%) Extracting the files of python-pathspec (90%) Extracting the files of python-pathspec (91%) Extracting the files of python-pathspec (92%) Extracting the files of python-pathspec (93%) Extracting the files of python-pathspec (94%) Extracting the files of python-pathspec (95%) Extracting the files of python-pathspec (96%) Extracting the files of python-pathspec (97%) Extracting the files of python-pathspec (98%) Extracting the files of python-pathspec (100%) [complete] Installed python-pathspec Installing 15 / 23 Installing python-hatchling, version 1.30.1, release 14 Extracting the files of python-hatchling (0%) Extracting the files of python-hatchling (0%) Extracting the files of python-hatchling (1%) Extracting the files of python-hatchling (1%) Extracting the files of python-hatchling (2%) Extracting the files of python-hatchling (2%) Extracting the files of python-hatchling (3%) Extracting the files of python-hatchling (3%) Extracting the files of python-hatchling (4%) Extracting the files of python-hatchling (4%) Extracting the files of python-hatchling (5%) Extracting the files of python-hatchling (5%) Extracting the files of python-hatchling (6%) Extracting the files of python-hatchling (6%) Extracting the files of python-hatchling (7%) Extracting the files of python-hatchling (7%) Extracting the files of python-hatchling (8%) Extracting the files of python-hatchling (8%) Extracting the files of python-hatchling (9%) Extracting the files of python-hatchling (9%) Extracting the files of python-hatchling (10%) Extracting the files of python-hatchling (10%) Extracting the files of python-hatchling (11%) Extracting the files of python-hatchling (11%) Extracting the files of python-hatchling (12%) Extracting the files of python-hatchling (12%) Extracting the files of python-hatchling (12%) Extracting the files of python-hatchling (13%) Extracting the files of python-hatchling (13%) Extracting the files of python-hatchling (14%) Extracting the files of python-hatchling (14%) Extracting the files of python-hatchling (15%) Extracting the files of python-hatchling (15%) Extracting the files of python-hatchling (16%) Extracting the files of python-hatchling (16%) Extracting the files of python-hatchling (17%) Extracting the files of python-hatchling (17%) Extracting the files of python-hatchling (18%) Extracting the files of python-hatchling (18%) Extracting the files of python-hatchling (19%) Extracting the files of python-hatchling (19%) Extracting the files of python-hatchling (20%) Extracting the files of python-hatchling (20%) Extracting the files of python-hatchling (21%) Extracting the files of python-hatchling (21%) Extracting the files of python-hatchling (22%) Extracting the files of python-hatchling (22%) Extracting the files of python-hatchling (23%) Extracting the files of python-hatchling (23%) Extracting the files of python-hatchling (24%) Extracting the files of python-hatchling (24%) Extracting the files of python-hatchling (25%) Extracting the files of python-hatchling (25%) Extracting the files of python-hatchling (25%) Extracting the files of python-hatchling (26%) Extracting the files of python-hatchling (26%) Extracting the files of python-hatchling (27%) Extracting the files of python-hatchling (27%) Extracting the files of python-hatchling (28%) Extracting the files of python-hatchling (28%) Extracting the files of python-hatchling (29%) Extracting the files of python-hatchling (29%) Extracting the files of python-hatchling (30%) Extracting the files of python-hatchling (30%) Extracting the files of python-hatchling (31%) Extracting the files of python-hatchling (31%) Extracting the files of python-hatchling (32%) Extracting the files of python-hatchling (32%) Extracting the files of python-hatchling (33%) Extracting the files of python-hatchling (33%) Extracting the files of python-hatchling (34%) Extracting the files of python-hatchling (34%) Extracting the files of python-hatchling (35%) Extracting the files of python-hatchling (35%) Extracting the files of python-hatchling (36%) Extracting the files of python-hatchling (36%) Extracting the files of python-hatchling (37%) Extracting the files of python-hatchling (37%) Extracting the files of python-hatchling (37%) Extracting the files of python-hatchling (38%) Extracting the files of python-hatchling (38%) Extracting the files of python-hatchling (39%) Extracting the files of python-hatchling (39%) Extracting the files of python-hatchling (40%) Extracting the files of python-hatchling (40%) Extracting the files of python-hatchling (41%) Extracting the files of python-hatchling (41%) Extracting the files of python-hatchling (42%) Extracting the files of python-hatchling (42%) Extracting the files of python-hatchling (43%) Extracting the files of python-hatchling (43%) Extracting the files of python-hatchling (44%) Extracting the files of python-hatchling (44%) Extracting the files of python-hatchling (45%) Extracting the files of python-hatchling (45%) Extracting the files of python-hatchling (46%) Extracting the files of python-hatchling (46%) Extracting the files of python-hatchling (47%) Extracting the files of python-hatchling (47%) Extracting the files of python-hatchling (48%) Extracting the files of python-hatchling (48%) Extracting the files of python-hatchling (49%) Extracting the files of python-hatchling (49%) Extracting the files of python-hatchling (50%) Extracting the files of python-hatchling (50%) Extracting the files of python-hatchling (50%) Extracting the files of python-hatchling (51%) Extracting the files of python-hatchling (51%) Extracting the files of python-hatchling (52%) Extracting the files of python-hatchling (52%) Extracting the files of python-hatchling (53%) Extracting the files of python-hatchling (53%) Extracting the files of python-hatchling (54%) Extracting the files of python-hatchling (54%) Extracting the files of python-hatchling (55%) Extracting the files of python-hatchling (55%) Extracting the files of python-hatchling (56%) Extracting the files of python-hatchling (56%) Extracting the files of python-hatchling (57%) Extracting the files of python-hatchling (57%) Extracting the files of python-hatchling (58%) Extracting the files of python-hatchling (58%) Extracting the files of python-hatchling (59%) Extracting the files of python-hatchling (59%) Extracting the files of python-hatchling (60%) Extracting the files of python-hatchling (60%) Extracting the files of python-hatchling (61%) Extracting the files of python-hatchling (61%) Extracting the files of python-hatchling (62%) Extracting the files of python-hatchling (62%) Extracting the files of python-hatchling (62%) Extracting the files of python-hatchling (63%) Extracting the files of python-hatchling (63%) Extracting the files of python-hatchling (64%) Extracting the files of python-hatchling (64%) Extracting the files of python-hatchling (65%) Extracting the files of python-hatchling (65%) Extracting the files of python-hatchling (66%) Extracting the files of python-hatchling (66%) Extracting the files of python-hatchling (67%) Extracting the files of python-hatchling (67%) Extracting the files of python-hatchling (68%) Extracting the files of python-hatchling (68%) Extracting the files of python-hatchling (69%) Extracting the files of python-hatchling (69%) Extracting the files of python-hatchling (70%) Extracting the files of python-hatchling (70%) Extracting the files of python-hatchling (71%) Extracting the files of python-hatchling (71%) Extracting the files of python-hatchling (72%) Extracting the files of python-hatchling (72%) Extracting the files of python-hatchling (73%) Extracting the files of python-hatchling (73%) Extracting the files of python-hatchling (74%) Extracting the files of python-hatchling (74%) Extracting the files of python-hatchling (75%) Extracting the files of python-hatchling (75%) Extracting the files of python-hatchling (75%) Extracting the files of python-hatchling (76%) Extracting the files of python-hatchling (76%) Extracting the files of python-hatchling (77%) Extracting the files of python-hatchling (77%) Extracting the files of python-hatchling (78%) Extracting the files of python-hatchling (78%) Extracting the files of python-hatchling (79%) Extracting the files of python-hatchling (79%) Extracting the files of python-hatchling (80%) Extracting the files of python-hatchling (80%) Extracting the files of python-hatchling (81%) Extracting the files of python-hatchling (81%) Extracting the files of python-hatchling (82%) Extracting the files of python-hatchling (82%) Extracting the files of python-hatchling (83%) Extracting the files of python-hatchling (83%) Extracting the files of python-hatchling (84%) Extracting the files of python-hatchling (84%) Extracting the files of python-hatchling (85%) Extracting the files of python-hatchling (85%) Extracting the files of python-hatchling (86%) Extracting the files of python-hatchling (86%) Extracting the files of python-hatchling (87%) Extracting the files of python-hatchling (87%) Extracting the files of python-hatchling (87%) Extracting the files of python-hatchling (88%) Extracting the files of python-hatchling (88%) Extracting the files of python-hatchling (89%) Extracting the files of python-hatchling (89%) Extracting the files of python-hatchling (90%) Extracting the files of python-hatchling (90%) Extracting the files of python-hatchling (91%) Extracting the files of python-hatchling (91%) Extracting the files of python-hatchling (92%) Extracting the files of python-hatchling (92%) Extracting the files of python-hatchling (93%) Extracting the files of python-hatchling (93%) Extracting the files of python-hatchling (94%) Extracting the files of python-hatchling (94%) Extracting the files of python-hatchling (95%) Extracting the files of python-hatchling (95%) Extracting the files of python-hatchling (96%) Extracting the files of python-hatchling (96%) Extracting the files of python-hatchling (97%) Extracting the files of python-hatchling (97%) Extracting the files of python-hatchling (98%) Extracting the files of python-hatchling (98%) Extracting the files of python-hatchling (99%) Extracting the files of python-hatchling (99%) Extracting the files of python-hatchling (100%) [complete] Installed python-hatchling Installing 16 / 23 Installing python-setuptools-scm, version 10.2.1, release 27 Extracting the files of python-setuptools-scm (1%) Extracting the files of python-setuptools-scm (2%) Extracting the files of python-setuptools-scm (4%) Extracting the files of python-setuptools-scm (5%) Extracting the files of python-setuptools-scm (6%) Extracting the files of python-setuptools-scm (8%) Extracting the files of python-setuptools-scm (9%) Extracting the files of python-setuptools-scm (10%) Extracting the files of python-setuptools-scm (12%) Extracting the files of python-setuptools-scm (13%) Extracting the files of python-setuptools-scm (14%) Extracting the files of python-setuptools-scm (16%) Extracting the files of python-setuptools-scm (17%) Extracting the files of python-setuptools-scm (18%) Extracting the files of python-setuptools-scm (20%) Extracting the files of python-setuptools-scm (21%) Extracting the files of python-setuptools-scm (22%) Extracting the files of python-setuptools-scm (24%) Extracting the files of python-setuptools-scm (25%) Extracting the files of python-setuptools-scm (26%) Extracting the files of python-setuptools-scm (28%) Extracting the files of python-setuptools-scm (29%) Extracting the files of python-setuptools-scm (30%) Extracting the files of python-setuptools-scm (32%) Extracting the files of python-setuptools-scm (33%) Extracting the files of python-setuptools-scm (34%) Extracting the files of python-setuptools-scm (36%) Extracting the files of python-setuptools-scm (37%) Extracting the files of python-setuptools-scm (38%) Extracting the files of python-setuptools-scm (40%) Extracting the files of python-setuptools-scm (41%) Extracting the files of python-setuptools-scm (42%) Extracting the files of python-setuptools-scm (44%) Extracting the files of python-setuptools-scm (45%) Extracting the files of python-setuptools-scm (46%) Extracting the files of python-setuptools-scm (48%) Extracting the files of python-setuptools-scm (49%) Extracting the files of python-setuptools-scm (50%) Extracting the files of python-setuptools-scm (52%) Extracting the files of python-setuptools-scm (53%) Extracting the files of python-setuptools-scm (54%) Extracting the files of python-setuptools-scm (56%) Extracting the files of python-setuptools-scm (57%) Extracting the files of python-setuptools-scm (58%) Extracting the files of python-setuptools-scm (60%) Extracting the files of python-setuptools-scm (61%) Extracting the files of python-setuptools-scm (62%) Extracting the files of python-setuptools-scm (64%) Extracting the files of python-setuptools-scm (65%) Extracting the files of python-setuptools-scm (66%) Extracting the files of python-setuptools-scm (68%) Extracting the files of python-setuptools-scm (69%) Extracting the files of python-setuptools-scm (70%) Extracting the files of python-setuptools-scm (72%) Extracting the files of python-setuptools-scm (73%) Extracting the files of python-setuptools-scm (74%) Extracting the files of python-setuptools-scm (76%) Extracting the files of python-setuptools-scm (77%) Extracting the files of python-setuptools-scm (78%) Extracting the files of python-setuptools-scm (80%) Extracting the files of python-setuptools-scm (81%) Extracting the files of python-setuptools-scm (82%) Extracting the files of python-setuptools-scm (84%) Extracting the files of python-setuptools-scm (85%) Extracting the files of python-setuptools-scm (86%) Extracting the files of python-setuptools-scm (88%) Extracting the files of python-setuptools-scm (89%) Extracting the files of python-setuptools-scm (90%) Extracting the files of python-setuptools-scm (92%) Extracting the files of python-setuptools-scm (93%) Extracting the files of python-setuptools-scm (94%) Extracting the files of python-setuptools-scm (96%) Extracting the files of python-setuptools-scm (97%) Extracting the files of python-setuptools-scm (98%) Extracting the files of python-setuptools-scm (100%) [complete] Installed python-setuptools-scm Installing 17 / 23 Installing python-hatch-vcs, version 0.5.0, release 12 Extracting the files of python-hatch-vcs (3%) Extracting the files of python-hatch-vcs (7%) Extracting the files of python-hatch-vcs (11%) Extracting the files of python-hatch-vcs (15%) Extracting the files of python-hatch-vcs (19%) Extracting the files of python-hatch-vcs (23%) Extracting the files of python-hatch-vcs (26%) Extracting the files of python-hatch-vcs (30%) Extracting the files of python-hatch-vcs (34%) Extracting the files of python-hatch-vcs (38%) Extracting the files of python-hatch-vcs (42%) Extracting the files of python-hatch-vcs (46%) Extracting the files of python-hatch-vcs (50%) Extracting the files of python-hatch-vcs (53%) Extracting the files of python-hatch-vcs (57%) Extracting the files of python-hatch-vcs (61%) Extracting the files of python-hatch-vcs (65%) Extracting the files of python-hatch-vcs (69%) Extracting the files of python-hatch-vcs (73%) Extracting the files of python-hatch-vcs (76%) Extracting the files of python-hatch-vcs (80%) Extracting the files of python-hatch-vcs (84%) Extracting the files of python-hatch-vcs (88%) Extracting the files of python-hatch-vcs (92%) Extracting the files of python-hatch-vcs (96%) Extracting the files of python-hatch-vcs (100%) [complete] Installed python-hatch-vcs Installing 18 / 23 Installing python-distlib, version 0.4.3, release 15 Extracting the files of python-distlib (2%) Extracting the files of python-distlib (4%) Extracting the files of python-distlib (6%) Extracting the files of python-distlib (9%) Extracting the files of python-distlib (11%) Extracting the files of python-distlib (13%) Extracting the files of python-distlib (15%) Extracting the files of python-distlib (18%) Extracting the files of python-distlib (20%) Extracting the files of python-distlib (22%) Extracting the files of python-distlib (25%) Extracting the files of python-distlib (27%) Extracting the files of python-distlib (29%) Extracting the files of python-distlib (31%) Extracting the files of python-distlib (34%) Extracting the files of python-distlib (36%) Extracting the files of python-distlib (38%) Extracting the files of python-distlib (40%) Extracting the files of python-distlib (43%) Extracting the files of python-distlib (45%) Extracting the files of python-distlib (47%) Extracting the files of python-distlib (50%) Extracting the files of python-distlib (52%) Extracting the files of python-distlib (54%) Extracting the files of python-distlib (56%) Extracting the files of python-distlib (59%) Extracting the files of python-distlib (61%) Extracting the files of python-distlib (63%) Extracting the files of python-distlib (65%) Extracting the files of python-distlib (68%) Extracting the files of python-distlib (70%) Extracting the files of python-distlib (72%) Extracting the files of python-distlib (75%) Extracting the files of python-distlib (77%) Extracting the files of python-distlib (79%) Extracting the files of python-distlib (81%) Extracting the files of python-distlib (84%) Extracting the files of python-distlib (86%) Extracting the files of python-distlib (88%) Extracting the files of python-distlib (90%) Extracting the files of python-distlib (93%) Extracting the files of python-distlib (95%) Extracting the files of python-distlib (97%) Extracting the files of python-distlib (100%) [complete] Installed python-distlib Installing 19 / 23 Installing python-installer, version 0.7.0, release 14 Extracting the files of python-installer (2%) Extracting the files of python-installer (4%) Extracting the files of python-installer (6%) Extracting the files of python-installer (9%) Extracting the files of python-installer (11%) Extracting the files of python-installer (13%) Extracting the files of python-installer (16%) Extracting the files of python-installer (18%) Extracting the files of python-installer (20%) Extracting the files of python-installer (23%) Extracting the files of python-installer (25%) Extracting the files of python-installer (27%) Extracting the files of python-installer (30%) Extracting the files of python-installer (32%) Extracting the files of python-installer (34%) Extracting the files of python-installer (37%) Extracting the files of python-installer (39%) Extracting the files of python-installer (41%) Extracting the files of python-installer (44%) Extracting the files of python-installer (46%) Extracting the files of python-installer (48%) Extracting the files of python-installer (51%) Extracting the files of python-installer (53%) Extracting the files of python-installer (55%) Extracting the files of python-installer (58%) Extracting the files of python-installer (60%) Extracting the files of python-installer (62%) Extracting the files of python-installer (65%) Extracting the files of python-installer (67%) Extracting the files of python-installer (69%) Extracting the files of python-installer (72%) Extracting the files of python-installer (74%) Extracting the files of python-installer (76%) Extracting the files of python-installer (79%) Extracting the files of python-installer (81%) Extracting the files of python-installer (83%) Extracting the files of python-installer (86%) Extracting the files of python-installer (88%) Extracting the files of python-installer (90%) Extracting the files of python-installer (93%) Extracting the files of python-installer (95%) Extracting the files of python-installer (97%) Extracting the files of python-installer (100%) [complete] Installed python-installer Installing 20 / 23 Installing python-setuptools-wheel, version 83.0.0, release 29 Extracting the files of python-setuptools-wheel (100%) [complete] Installed python-setuptools-wheel Installing 21 / 23 Installing python-discovery, version 1.5.1, release 1 Extracting the files of python-discovery (2%) Extracting the files of python-discovery (5%) Extracting the files of python-discovery (7%) Extracting the files of python-discovery (10%) Extracting the files of python-discovery (13%) Extracting the files of python-discovery (15%) Extracting the files of python-discovery (18%) Extracting the files of python-discovery (21%) Extracting the files of python-discovery (23%) Extracting the files of python-discovery (26%) Extracting the files of python-discovery (28%) Extracting the files of python-discovery (31%) Extracting the files of python-discovery (34%) Extracting the files of python-discovery (36%) Extracting the files of python-discovery (39%) Extracting the files of python-discovery (42%) Extracting the files of python-discovery (44%) Extracting the files of python-discovery (47%) Extracting the files of python-discovery (50%) Extracting the files of python-discovery (52%) Extracting the files of python-discovery (55%) Extracting the files of python-discovery (57%) Extracting the files of python-discovery (60%) Extracting the files of python-discovery (63%) Extracting the files of python-discovery (65%) Extracting the files of python-discovery (68%) Extracting the files of python-discovery (71%) Extracting the files of python-discovery (73%) Extracting the files of python-discovery (76%) Extracting the files of python-discovery (78%) Extracting the files of python-discovery (81%) Extracting the files of python-discovery (84%) Extracting the files of python-discovery (86%) Extracting the files of python-discovery (89%) Extracting the files of python-discovery (92%) Extracting the files of python-discovery (94%) Extracting the files of python-discovery (97%) Extracting the files of python-discovery (100%) [complete] Installed python-discovery Installing 22 / 23 Installing virtualenv, version 21.7.2, release 25 Extracting the files of virtualenv (0%) Extracting the files of virtualenv (0%) Extracting the files of virtualenv (1%) Extracting the files of virtualenv (1%) Extracting the files of virtualenv (1%) Extracting the files of virtualenv (2%) Extracting the files of virtualenv (2%) Extracting the files of virtualenv (2%) Extracting the files of virtualenv (3%) Extracting the files of virtualenv (3%) Extracting the files of virtualenv (3%) Extracting the files of virtualenv (4%) Extracting the files of virtualenv (4%) Extracting the files of virtualenv (4%) Extracting the files of virtualenv (5%) Extracting the files of virtualenv (5%) Extracting the files of virtualenv (5%) Extracting the files of virtualenv (6%) Extracting the files of virtualenv (6%) Extracting the files of virtualenv (6%) Extracting the files of virtualenv (7%) Extracting the files of virtualenv (7%) Extracting the files of virtualenv (7%) Extracting the files of virtualenv (8%) Extracting the files of virtualenv (8%) Extracting the files of virtualenv (8%) Extracting the files of virtualenv (9%) Extracting the files of virtualenv (9%) Extracting the files of virtualenv (9%) Extracting the files of virtualenv (10%) Extracting the files of virtualenv (10%) Extracting the files of virtualenv (10%) Extracting the files of virtualenv (11%) Extracting the files of virtualenv (11%) Extracting the files of virtualenv (11%) Extracting the files of virtualenv (12%) Extracting the files of virtualenv (12%) Extracting the files of virtualenv (12%) Extracting the files of virtualenv (13%) Extracting the files of virtualenv (13%) Extracting the files of virtualenv (13%) Extracting the files of virtualenv (14%) Extracting the files of virtualenv (14%) Extracting the files of virtualenv (14%) Extracting the files of virtualenv (15%) Extracting the files of virtualenv (15%) Extracting the files of virtualenv (15%) Extracting the files of virtualenv (16%) Extracting the files of virtualenv (16%) Extracting the files of virtualenv (16%) Extracting the files of virtualenv (17%) Extracting the files of virtualenv (17%) Extracting the files of virtualenv (17%) Extracting the files of virtualenv (18%) Extracting the files of virtualenv (18%) Extracting the files of virtualenv (18%) Extracting the files of virtualenv (19%) Extracting the files of virtualenv (19%) Extracting the files of virtualenv (20%) Extracting the files of virtualenv (20%) Extracting the files of virtualenv (20%) Extracting the files of virtualenv (21%) Extracting the files of virtualenv (21%) Extracting the files of virtualenv (21%) Extracting the files of virtualenv (22%) Extracting the files of virtualenv (22%) Extracting the files of virtualenv (22%) Extracting the files of virtualenv (23%) Extracting the files of virtualenv (23%) Extracting the files of virtualenv (23%) Extracting the files of virtualenv (24%) Extracting the files of virtualenv (24%) Extracting the files of virtualenv (24%) Extracting the files of virtualenv (25%) Extracting the files of virtualenv (25%) Extracting the files of virtualenv (25%) Extracting the files of virtualenv (26%) Extracting the files of virtualenv (26%) Extracting the files of virtualenv (26%) Extracting the files of virtualenv (27%) Extracting the files of virtualenv (27%) Extracting the files of virtualenv (27%) Extracting the files of virtualenv (28%) Extracting the files of virtualenv (28%) Extracting the files of virtualenv (28%) Extracting the files of virtualenv (29%) Extracting the files of virtualenv (29%) Extracting the files of virtualenv (29%) Extracting the files of virtualenv (30%) Extracting the files of virtualenv (30%) Extracting the files of virtualenv (30%) Extracting the files of virtualenv (31%) Extracting the files of virtualenv (31%) Extracting the files of virtualenv (31%) Extracting the files of virtualenv (32%) Extracting the files of virtualenv (32%) Extracting the files of virtualenv (32%) Extracting the files of virtualenv (33%) Extracting the files of virtualenv (33%) Extracting the files of virtualenv (33%) Extracting the files of virtualenv (34%) Extracting the files of virtualenv (34%) Extracting the files of virtualenv (34%) Extracting the files of virtualenv (35%) Extracting the files of virtualenv (35%) Extracting the files of virtualenv (35%) Extracting the files of virtualenv (36%) Extracting the files of virtualenv (36%) Extracting the files of virtualenv (36%) Extracting the files of virtualenv (37%) Extracting the files of virtualenv (37%) Extracting the files of virtualenv (37%) Extracting the files of virtualenv (38%) Extracting the files of virtualenv (38%) Extracting the files of virtualenv (38%) Extracting the files of virtualenv (39%) Extracting the files of virtualenv (39%) Extracting the files of virtualenv (40%) Extracting the files of virtualenv (40%) Extracting the files of virtualenv (40%) Extracting the files of virtualenv (41%) Extracting the files of virtualenv (41%) Extracting the files of virtualenv (41%) Extracting the files of virtualenv (42%) Extracting the files of virtualenv (42%) Extracting the files of virtualenv (42%) Extracting the files of virtualenv (43%) Extracting the files of virtualenv (43%) Extracting the files of virtualenv (43%) Extracting the files of virtualenv (44%) Extracting the files of virtualenv (44%) Extracting the files of virtualenv (44%) Extracting the files of virtualenv (45%) Extracting the files of virtualenv (45%) Extracting the files of virtualenv (45%) Extracting the files of virtualenv (46%) Extracting the files of virtualenv (46%) Extracting the files of virtualenv (46%) Extracting the files of virtualenv (47%) Extracting the files of virtualenv (47%) Extracting the files of virtualenv (47%) Extracting the files of virtualenv (48%) Extracting the files of virtualenv (48%) Extracting the files of virtualenv (48%) Extracting the files of virtualenv (49%) Extracting the files of virtualenv (49%) Extracting the files of virtualenv (49%) Extracting the files of virtualenv (50%) Extracting the files of virtualenv (50%) Extracting the files of virtualenv (50%) Extracting the files of virtualenv (51%) Extracting the files of virtualenv (51%) Extracting the files of virtualenv (51%) Extracting the files of virtualenv (52%) Extracting the files of virtualenv (52%) Extracting the files of virtualenv (52%) Extracting the files of virtualenv (53%) Extracting the files of virtualenv (53%) Extracting the files of virtualenv (53%) Extracting the files of virtualenv (54%) Extracting the files of virtualenv (54%) Extracting the files of virtualenv (54%) Extracting the files of virtualenv (55%) Extracting the files of virtualenv (55%) Extracting the files of virtualenv (55%) Extracting the files of virtualenv (56%) Extracting the files of virtualenv (56%) Extracting the files of virtualenv (56%) Extracting the files of virtualenv (57%) Extracting the files of virtualenv (57%) Extracting the files of virtualenv (57%) Extracting the files of virtualenv (58%) Extracting the files of virtualenv (58%) Extracting the files of virtualenv (58%) Extracting the files of virtualenv (59%) Extracting the files of virtualenv (59%) Extracting the files of virtualenv (60%) Extracting the files of virtualenv (60%) Extracting the files of virtualenv (60%) Extracting the files of virtualenv (61%) Extracting the files of virtualenv (61%) Extracting the files of virtualenv (61%) Extracting the files of virtualenv (62%) Extracting the files of virtualenv (62%) Extracting the files of virtualenv (62%) Extracting the files of virtualenv (63%) Extracting the files of virtualenv (63%) Extracting the files of virtualenv (63%) Extracting the files of virtualenv (64%) Extracting the files of virtualenv (64%) Extracting the files of virtualenv (64%) Extracting the files of virtualenv (65%) Extracting the files of virtualenv (65%) Extracting the files of virtualenv (65%) Extracting the files of virtualenv (66%) Extracting the files of virtualenv (66%) Extracting the files of virtualenv (66%) Extracting the files of virtualenv (67%) Extracting the files of virtualenv (67%) Extracting the files of virtualenv (67%) Extracting the files of virtualenv (68%) Extracting the files of virtualenv (68%) Extracting the files of virtualenv (68%) Extracting the files of virtualenv (69%) Extracting the files of virtualenv (69%) Extracting the files of virtualenv (69%) Extracting the files of virtualenv (70%) Extracting the files of virtualenv (70%) Extracting the files of virtualenv (70%) Extracting the files of virtualenv (71%) Extracting the files of virtualenv (71%) Extracting the files of virtualenv (71%) Extracting the files of virtualenv (72%) Extracting the files of virtualenv (72%) Extracting the files of virtualenv (72%) Extracting the files of virtualenv (73%) Extracting the files of virtualenv (73%) Extracting the files of virtualenv (73%) Extracting the files of virtualenv (74%) Extracting the files of virtualenv (74%) Extracting the files of virtualenv (74%) Extracting the files of virtualenv (75%) Extracting the files of virtualenv (75%) Extracting the files of virtualenv (75%) Extracting the files of virtualenv (76%) Extracting the files of virtualenv (76%) Extracting the files of virtualenv (76%) Extracting the files of virtualenv (77%) Extracting the files of virtualenv (77%) Extracting the files of virtualenv (77%) Extracting the files of virtualenv (78%) Extracting the files of virtualenv (78%) Extracting the files of virtualenv (78%) Extracting the files of virtualenv (79%) Extracting the files of virtualenv (79%) Extracting the files of virtualenv (80%) Extracting the files of virtualenv (80%) Extracting the files of virtualenv (80%) Extracting the files of virtualenv (81%) Extracting the files of virtualenv (81%) Extracting the files of virtualenv (81%) Extracting the files of virtualenv (82%) Extracting the files of virtualenv (82%) Extracting the files of virtualenv (82%) Extracting the files of virtualenv (83%) Extracting the files of virtualenv (83%) Extracting the files of virtualenv (83%) Extracting the files of virtualenv (84%) Extracting the files of virtualenv (84%) Extracting the files of virtualenv (84%) Extracting the files of virtualenv (85%) Extracting the files of virtualenv (85%) Extracting the files of virtualenv (85%) Extracting the files of virtualenv (86%) Extracting the files of virtualenv (86%) Extracting the files of virtualenv (86%) Extracting the files of virtualenv (87%) Extracting the files of virtualenv (87%) Extracting the files of virtualenv (87%) Extracting the files of virtualenv (88%) Extracting the files of virtualenv (88%) Extracting the files of virtualenv (88%) Extracting the files of virtualenv (89%) Extracting the files of virtualenv (89%) Extracting the files of virtualenv (89%) Extracting the files of virtualenv (90%) Extracting the files of virtualenv (90%) Extracting the files of virtualenv (90%) Extracting the files of virtualenv (91%) Extracting the files of virtualenv (91%) Extracting the files of virtualenv (91%) Extracting the files of virtualenv (92%) Extracting the files of virtualenv (92%) Extracting the files of virtualenv (92%) Extracting the files of virtualenv (93%) Extracting the files of virtualenv (93%) Extracting the files of virtualenv (93%) Extracting the files of virtualenv (94%) Extracting the files of virtualenv (94%) Extracting the files of virtualenv (94%) Extracting the files of virtualenv (95%) Extracting the files of virtualenv (95%) Extracting the files of virtualenv (95%) Extracting the files of virtualenv (96%) Extracting the files of virtualenv (96%) Extracting the files of virtualenv (96%) Extracting the files of virtualenv (97%) Extracting the files of virtualenv (97%) Extracting the files of virtualenv (97%) Extracting the files of virtualenv (98%) Extracting the files of virtualenv (98%) Extracting the files of virtualenv (98%) Extracting the files of virtualenv (99%) Extracting the files of virtualenv (99%) Extracting the files of virtualenv (100%) [complete] Installed virtualenv Installing 23 / 23 Installing python-pytest-asyncio, version 1.4.0, release 17 Extracting the files of python-pytest-asyncio (6%) Extracting the files of python-pytest-asyncio (13%) Extracting the files of python-pytest-asyncio (20%) Extracting the files of python-pytest-asyncio (26%) Extracting the files of python-pytest-asyncio (33%) Extracting the files of python-pytest-asyncio (40%) Extracting the files of python-pytest-asyncio (46%) Extracting the files of python-pytest-asyncio (53%) Extracting the files of python-pytest-asyncio (60%) Extracting the files of python-pytest-asyncio (66%) Extracting the files of python-pytest-asyncio (73%) Extracting the files of python-pytest-asyncio (80%) Extracting the files of python-pytest-asyncio (86%) Extracting the files of python-pytest-asyncio (93%) Extracting the files of python-pytest-asyncio (100%) [complete] Installed python-pytest-asyncio [BuildDep] Checking build-deps for python-filelock-3.32.2-21 [BuildDep] Requesting installation of: python-installer python-pytest-timeout python-pytest-mock python-hatch-vcs python-build virtualenv python-pytest python-pytest-asyncio time=2026-08-08T06:21:49.136+02:00 level=DEBUG msg="Stopping D-BUS" time=2026-08-08T06:21:49.137+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="chown -R build:build /home/build" time=2026-08-08T06:21:49.141+02:00 level=DEBUG msg="Dropping container networking" time=2026-08-08T06:21:49.142+02:00 level=DEBUG msg="Configuring container networking" time=2026-08-08T06:21:49.146+02:00 level=DEBUG msg="Exposing source to container" source=/var/lib/solbuild/sources/c33351e1f49cae33414acbc6d56784e6ecee82514ec90795da1161fc4836b5b8/filelock-3.32.2.tar.gz target=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/YPKG/sources/filelock-3.32.2.tar.gz time=2026-08-08T06:21:49.147+02:00 level=DEBUG msg="Exposing cache to build" cache=bazel source=/var/lib/solbuild/cache/bazel target=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/.cache/bazel time=2026-08-08T06:21:49.149+02:00 level=DEBUG msg="Exposing cache to build" cache=ccache source=/var/lib/solbuild/cache/ccache target=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/.ccache time=2026-08-08T06:21:49.150+02:00 level=DEBUG msg="Exposing cache to build" cache=go-build source=/var/lib/solbuild/cache/go-build target=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/.cache/go-build time=2026-08-08T06:21:49.152+02:00 level=DEBUG msg="Exposing cache to build" cache=sccache source=/var/lib/solbuild/cache/sccache target=/var/cache/solbuild/unstable-x86_64/python-filelock/union/home/build/.cache/sccache time=2026-08-08T06:21:49.153+02:00 level=DEBUG msg="Copying host asset" key=/etc/resolv.conf time=2026-08-08T06:21:49.153+02:00 level=DEBUG msg="Copying host asset" key=/etc/eopkg/eopkg.conf time=2026-08-08T06:21:49.153+02:00 level=DEBUG msg="Starting sccache server" time=2026-08-08T06:21:49.175+02:00 level=INFO msg="Now starting build" package=python-filelock time=2026-08-08T06:21:49.175+02:00 level=DEBUG msg="Executing in chroot" dir=/var/cache/solbuild/unstable-x86_64/python-filelock/union command="ypkg build -D /home/build/work -B /home/build/YPKG /home/build/work/package.yml -n -t 1786162642" + cd /home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + export 'CFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + CFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'CXXFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + CXXFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'LDFLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common -Wl,-z,pack-relative-relocs' + LDFLAGS='-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common -Wl,-z,pack-relative-relocs' + export RUSTFLAGS=-Cforce-frame-pointers + RUSTFLAGS=-Cforce-frame-pointers + export 'FFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + FFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'FCFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + FCFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export PATH=/usr/bin:/bin:/usr/sbin:/sbin + PATH=/usr/bin:/bin:/usr/sbin:/sbin + export workdir=/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + workdir=/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + export package=python-filelock + package=python-filelock + export release=21 + release=21 + export version=3.32.2 + version=3.32.2 + export sources=/home/build/YPKG/sources + sources=/home/build/YPKG/sources + export pkgfiles=/home/build/work/files + pkgfiles=/home/build/work/files + export installdir=/home/build/YPKG/root/python-filelock/install + installdir=/home/build/YPKG/root/python-filelock/install + export PKG_ROOT_DIR=/home/build/YPKG/root/python-filelock + PKG_ROOT_DIR=/home/build/YPKG/root/python-filelock + export PKG_BUILD_DIR=/home/build/YPKG/root/python-filelock/build + PKG_BUILD_DIR=/home/build/YPKG/root/python-filelock/build + export LT_SYS_LIBRARY_PATH=/usr/lib64 + LT_SYS_LIBRARY_PATH=/usr/lib64 + export CC=x86_64-solus-linux-gcc + CC=x86_64-solus-linux-gcc + export CXX=x86_64-solus-linux-g++ + CXX=x86_64-solus-linux-g++ + export LD_AS_NEEDED=1 + LD_AS_NEEDED=1 + export TERM=dumb + TERM=dumb + export SOURCE_DATE_EPOCH=1786162642 + SOURCE_DATE_EPOCH=1786162642 + unset DISPLAY SUDO_USER SUDO_GID SUDO_UID SUDO_COMMAND CDPATH + python3 -m build --wheel --no-isolation * Getting build dependencies for wheel... * Building wheel... Successfully built filelock-3.32.2-py3-none-any.whl + cd /home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + export 'CFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + CFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'CXXFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + CXXFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'LDFLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common -Wl,-z,pack-relative-relocs' + LDFLAGS='-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common -Wl,-z,pack-relative-relocs' + export RUSTFLAGS=-Cforce-frame-pointers + RUSTFLAGS=-Cforce-frame-pointers + export 'FFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + FFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'FCFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + FCFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export PATH=/usr/bin:/bin:/usr/sbin:/sbin + PATH=/usr/bin:/bin:/usr/sbin:/sbin + export workdir=/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + workdir=/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + export package=python-filelock + package=python-filelock + export release=21 + release=21 + export version=3.32.2 + version=3.32.2 + export sources=/home/build/YPKG/sources + sources=/home/build/YPKG/sources + export pkgfiles=/home/build/work/files + pkgfiles=/home/build/work/files + export installdir=/home/build/YPKG/root/python-filelock/install + installdir=/home/build/YPKG/root/python-filelock/install + export PKG_ROOT_DIR=/home/build/YPKG/root/python-filelock + PKG_ROOT_DIR=/home/build/YPKG/root/python-filelock + export PKG_BUILD_DIR=/home/build/YPKG/root/python-filelock/build + PKG_BUILD_DIR=/home/build/YPKG/root/python-filelock/build + export LT_SYS_LIBRARY_PATH=/usr/lib64 + LT_SYS_LIBRARY_PATH=/usr/lib64 + export CC=x86_64-solus-linux-gcc + CC=x86_64-solus-linux-gcc + export CXX=x86_64-solus-linux-g++ + CXX=x86_64-solus-linux-g++ + export LD_AS_NEEDED=1 + LD_AS_NEEDED=1 + export TERM=dumb + TERM=dumb + export SOURCE_DATE_EPOCH=1786162642 + SOURCE_DATE_EPOCH=1786162642 + unset DISPLAY SUDO_USER SUDO_GID SUDO_UID SUDO_COMMAND CDPATH + python3 -m installer --destdir=/home/build/YPKG/root/python-filelock/install dist/filelock-3.32.2-py3-none-any.whl --overwrite-existing + cd /home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + export 'CFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + CFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'CXXFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + CXXFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'LDFLAGS=-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common -Wl,-z,pack-relative-relocs' + LDFLAGS='-Wl,--copy-dt-needed-entries -Wl,-O1 -Wl,-z,relro -Wl,-z,now -Wl,-z,max-page-size=0x1000 -Wl,-Bsymbolic-functions -Wl,--sort-common -Wl,-z,pack-relative-relocs' + export RUSTFLAGS=-Cforce-frame-pointers + RUSTFLAGS=-Cforce-frame-pointers + export 'FFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + FFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export 'FCFLAGS=-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + FCFLAGS='-mtune=generic -march=x86-64 -g2 -O2 -pipe -fPIC -fno-plt -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT' + export PATH=/usr/bin:/bin:/usr/sbin:/sbin + PATH=/usr/bin:/bin:/usr/sbin:/sbin + export workdir=/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + workdir=/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + export package=python-filelock + package=python-filelock + export release=21 + release=21 + export version=3.32.2 + version=3.32.2 + export sources=/home/build/YPKG/sources + sources=/home/build/YPKG/sources + export pkgfiles=/home/build/work/files + pkgfiles=/home/build/work/files + export installdir=/home/build/YPKG/root/python-filelock/install + installdir=/home/build/YPKG/root/python-filelock/install + export PKG_ROOT_DIR=/home/build/YPKG/root/python-filelock + PKG_ROOT_DIR=/home/build/YPKG/root/python-filelock + export PKG_BUILD_DIR=/home/build/YPKG/root/python-filelock/build + PKG_BUILD_DIR=/home/build/YPKG/root/python-filelock/build + export LT_SYS_LIBRARY_PATH=/usr/lib64 + LT_SYS_LIBRARY_PATH=/usr/lib64 + export CC=x86_64-solus-linux-gcc + CC=x86_64-solus-linux-gcc + export CXX=x86_64-solus-linux-g++ + CXX=x86_64-solus-linux-g++ + export LD_AS_NEEDED=1 + LD_AS_NEEDED=1 + export TERM=dumb + TERM=dumb + export SOURCE_DATE_EPOCH=1786162642 + SOURCE_DATE_EPOCH=1786162642 + unset DISPLAY SUDO_USER SUDO_GID SUDO_UID SUDO_COMMAND CDPATH + python3_pytest -v --deselect tests/test_strict_soft.py::test_strict_soft_unreadable_claim_fails_closed + [[ -z '' ]] ++ python3 --version ++ sed -r 's|^Python (.*)\..*$|\1|' + export PYTHONPATH=/home/build/YPKG/root/python-filelock/install//usr/lib/python3.14/site-packages/:/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + PYTHONPATH=/home/build/YPKG/root/python-filelock/install//usr/lib/python3.14/site-packages/:/home/build/YPKG/root/python-filelock/build/filelock-3.32.2 + local do_unset=true + python3 -P -m pytest -v --deselect tests/test_strict_soft.py::test_strict_soft_unreadable_claim_fails_closed ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /home/build/YPKG/root/python-filelock/build/filelock-3.32.2 configfile: pyproject.toml testpaths: tests plugins: asyncio-1.4.0, mock-3.15.1, timeout-2.4.0 asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=session, asyncio_default_test_loop_scope=function timeout: 20.0s timeout method: signal timeout func_only: False collecting ... collected 1304 items / 1 deselected / 1303 selected tests/soft_rw/test_soft_rw_async.py::test_async_write_lock_context_manager PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_read_lock_context_manager PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_exposes_configuration PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_raw_acquire_release_round_trip PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_custom_loop_and_executor PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_release_force PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_release_and_close_skip_when_pid_differs PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_leaked_singleton_is_closed_on_teardown PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_writer_times_out_behind_reader PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_acquire_cancellation_hands_the_claim_back[read] PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_acquire_cancellation_hands_the_claim_back[write] PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_acquire_cancellation_surfaces_a_failed_acquire PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_acquire_cancellation_surfaces_a_failed_release PASSED [ 0%] tests/soft_rw/test_soft_rw_async.py::test_async_release_cancellation_drains_the_release PASSED [ 1%] tests/soft_rw/test_soft_rw_async.py::test_async_release_cancellation_surfaces_a_failed_release PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_rejects_non_positive_heartbeat_interval PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_rejects_stale_threshold_not_greater_than_heartbeat PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_rejects_non_positive_poll_interval PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_public_attributes PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_default_stale_threshold_is_triple_heartbeat PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_singleton_returns_same_instance PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_non_singleton_returns_distinct_instances PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_singleton_mismatch_raises PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_get_lock_returns_singleton PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_leaked_acquired_singleton_is_closed_on_teardown PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_reentrant_read_holds_and_releases PASSED [ 1%] tests/soft_rw/test_soft_rw_sync.py::test_reentrant_write_holds_and_releases PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_upgrade_from_read_to_write_raises PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_downgrade_from_write_to_read_raises PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_write_lock_is_thread_pinned PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_blocking_acquire_without_timeout_waits_for_release PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_release_without_hold_raises PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_release_force_without_hold_is_noop PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_release_force_on_reentrant_lock_drops_all PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_close_is_idempotent PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_acquire_on_closed_raises PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_multiple_readers_can_hold_simultaneously PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_write_lock_excludes_writers PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_write_lock_excludes_readers PASSED [ 2%] tests/soft_rw/test_soft_rw_sync.py::test_writer_drains_existing_readers PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_writer_preference_blocks_new_readers PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_transaction_lock_timeout_across_threads PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_two_readers_in_same_process_share_slot PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_timeout_raises PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_non_blocking_writer_contended_raises PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_writer_phase2_timeout_releases_marker PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_dead_writer_evicted_by_reader PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_dead_reader_evicted_by_writer PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_heartbeat_self_stops_when_marker_vanishes PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_heartbeat_self_stops_on_token_replacement PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_release_keeps_a_peers_writer_marker PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_writer_phase2_does_not_complete_on_a_peers_marker PASSED [ 3%] tests/soft_rw/test_soft_rw_sync.py::test_heartbeat_survives_transient_touch_error PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_heartbeat_survives_a_transient_marker_error[open] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_heartbeat_survives_a_transient_marker_error[read] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_heartbeat_stops_when_marker_evicted PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_acquire_hands_back_the_slot_when_the_heartbeat_cannot_start[write] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_acquire_hands_back_the_slot_when_the_heartbeat_cannot_start[read] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_live_heartbeat_keeps_lock_alive_past_stale_threshold PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[non-numeric-pid] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[zero-pid] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[pid-too-large] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[wrong-length-token] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[non-hex-token] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[hostname-space] PASSED [ 4%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[trailing-blank-lines] PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[too-few-lines] PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[too-many-lines] PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[oversized] PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_stale_malformed_marker_is_evicted[non-ascii] PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_fifo_write_marker_does_not_block PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_fifo_write_marker_with_writer_is_evicted PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_symlinked_write_marker_is_refused PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_touch_does_not_follow_symlink PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_refresh_touches_verified_fd_not_swapped_path PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_symlinked_readers_directory_is_refused PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_readers_path_as_regular_file_is_refused PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_write_marker_is_created_with_0600 PASSED [ 5%] tests/soft_rw/test_soft_rw_sync.py::test_readers_directory_is_created_with_0700 PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_writer_ignores_housekeeping_files_in_readers_dir PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_reader_file_is_created_with_0600 PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_child_cannot_reuse_parents_lock_instance PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_child_release_on_inherited_lock_is_silent PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_child_can_acquire_a_different_lock_after_fork PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_parent_retains_lock_across_fork PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_cleanup_terminates_a_still_running_process PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_cleanup_closes_the_process PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_write_marker_zero_write_rolls_back PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_touch_writer_marker_returns_false_when_marker_missing PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_claim_writer_marker_returns_false_on_create_race PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_atomic_create_marker_rolls_back_on_write_failure PASSED [ 6%] tests/soft_rw/test_soft_rw_sync.py::test_same_file_true_for_matching_identity PASSED [ 7%] tests/soft_rw/test_soft_rw_sync.py::test_same_file_false_when_stat_fails PASSED [ 7%] tests/soft_rw/test_soft_rw_sync.py::test_refresh_marker_stops_once_a_peer_owns_the_marker PASSED [ 7%] tests/test_async_filelock.py::test_simple[a-str-AsyncUnixFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[a-str-AsyncSoftFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[a-PurePath-AsyncUnixFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[a-PurePath-AsyncSoftFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[a-Path-AsyncUnixFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[a-Path-AsyncSoftFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[new/b-str-AsyncUnixFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[new/b-str-AsyncSoftFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[new/b-PurePath-AsyncUnixFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[new/b-PurePath-AsyncSoftFileLock] PASSED [ 7%] tests/test_async_filelock.py::test_simple[new/b-Path-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new/b-Path-AsyncSoftFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new2/new3/c-str-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new2/new3/c-str-AsyncSoftFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new2/new3/c-PurePath-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new2/new3/c-PurePath-AsyncSoftFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new2/new3/c-Path-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_simple[new2/new3/c-Path-AsyncSoftFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_acquire[a-str-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_acquire[a-str-AsyncSoftFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_acquire[a-PurePath-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_acquire[a-PurePath-AsyncSoftFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_acquire[a-Path-AsyncUnixFileLock] PASSED [ 8%] tests/test_async_filelock.py::test_acquire[a-Path-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new/b-str-AsyncUnixFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new/b-str-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new/b-PurePath-AsyncUnixFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new/b-PurePath-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new/b-Path-AsyncUnixFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new/b-Path-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new2/new3/c-str-AsyncUnixFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new2/new3/c-str-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new2/new3/c-PurePath-AsyncUnixFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new2/new3/c-PurePath-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new2/new3/c-Path-AsyncUnixFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_acquire[new2/new3/c-Path-AsyncSoftFileLock] PASSED [ 9%] tests/test_async_filelock.py::test_non_blocking[AsyncUnixFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_non_blocking[AsyncSoftFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_non_executor[True-AsyncUnixFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_non_executor[True-AsyncSoftFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_non_executor[False-AsyncUnixFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_non_executor[False-AsyncSoftFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_coroutine_function PASSED [ 10%] tests/test_async_filelock.py::test_coroutine_acquire_without_holding_polls_and_skips_on_acquired PASSED [ 10%] tests/test_async_filelock.py::test_wait_message_logged[AsyncUnixFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_wait_message_logged[AsyncSoftFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_attempting_to_acquire_branch[AsyncSoftFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_attempting_to_acquire_branch[AsyncUnixFileLock] PASSED [ 10%] tests/test_async_filelock.py::test_thread_local_run_in_executor PASSED [ 10%] tests/test_async_filelock.py::test_attempting_to_acquire[AsyncSoftFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_attempting_to_acquire[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_attempting_to_release[AsyncSoftFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_attempting_to_release[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_release_early_exit_when_unlocked[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_release_early_exit_when_unlocked[AsyncSoftFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_release_nonzero_counter_exit[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_release_nonzero_counter_exit[AsyncSoftFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_cancel_check_triggers[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_cancel_check_triggers[AsyncSoftFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_cancel_check_not_called_when_lock_available[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_cancel_check_not_called_when_lock_available[AsyncSoftFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_cancel_check_log_message[AsyncUnixFileLock] PASSED [ 11%] tests/test_async_filelock.py::test_cancel_check_log_message[AsyncSoftFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_sync_with_raises_not_implemented_error[async] PASSED [ 12%] tests/test_async_filelock.py::test_sync_with_raises_not_implemented_error[soft] PASSED [ 12%] tests/test_async_filelock.py::test_del_after_loop_close_does_not_raise[async] PASSED [ 12%] tests/test_async_filelock.py::test_del_after_loop_close_does_not_raise[soft] PASSED [ 12%] tests/test_async_filelock.py::test_same_task_different_instances_raises[AsyncUnixFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_same_task_different_instances_raises[AsyncSoftFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_finite_timeout_gives_timeout_not_deadlock[AsyncUnixFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_finite_timeout_gives_timeout_not_deadlock[AsyncSoftFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_non_blocking_gives_timeout_not_deadlock[AsyncUnixFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_non_blocking_gives_timeout_not_deadlock[AsyncSoftFileLock] PASSED [ 12%] tests/test_async_filelock.py::test_failed_acquire_keeps_holder_registered[finite] PASSED [ 12%] tests/test_async_filelock.py::test_failed_acquire_keeps_holder_registered[nonblocking] PASSED [ 12%] tests/test_async_filelock.py::test_different_paths_no_conflict[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_different_paths_no_conflict[AsyncSoftFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_same_instance_reentrant_works[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_same_instance_reentrant_works[AsyncSoftFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_singleton_avoids_deadlock[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_singleton_avoids_deadlock[AsyncSoftFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_different_tasks_no_false_positive[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_different_tasks_no_false_positive[AsyncSoftFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_cross_task_blocking_acquire_queues[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_cross_task_blocking_acquire_queues[AsyncSoftFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_release_from_different_task_clears_registry[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_release_from_different_task_clears_registry[AsyncSoftFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_symlink_same_canonical_path[AsyncUnixFileLock] PASSED [ 13%] tests/test_async_filelock.py::test_symlink_same_canonical_path[AsyncSoftFileLock] PASSED [ 14%] tests/test_async_filelock.py::test_release_drops_acquisition_key_after_parent_retarget[direct] PASSED [ 14%] tests/test_async_filelock.py::test_release_drops_acquisition_key_after_parent_retarget[nested] PASSED [ 14%] tests/test_async_filelock.py::test_release_drops_acquisition_key_after_parent_retarget[forced] PASSED [ 14%] tests/test_async_filelock.py::test_release_keeps_retargeted_parent_holder_registered PASSED [ 14%] tests/test_async_filelock.py::test_deadlock_registry_cleanup_on_release[AsyncUnixFileLock] PASSED [ 14%] tests/test_async_filelock.py::test_deadlock_registry_cleanup_on_release[AsyncSoftFileLock] PASSED [ 14%] tests/test_async_filelock.py::test_force_release_clears_registry[AsyncUnixFileLock] PASSED [ 14%] tests/test_async_filelock.py::test_force_release_clears_registry[AsyncSoftFileLock] PASSED [ 14%] tests/test_async_filelock.py::test_release_keeps_lock_held_when_unlock_fails PASSED [ 14%] tests/test_async_filelock.py::test_async_zero_write_rolls_back_acquire PASSED [ 14%] tests/test_async_filelock.py::test_soft_close_error_policy_cleans_marker[default] PASSED [ 14%] tests/test_async_filelock.py::test_soft_close_error_policy_cleans_marker[suppress] PASSED [ 14%] tests/test_async_filelock.py::test_soft_close_error_suppression_releases_once[nested] PASSED [ 15%] tests/test_async_filelock.py::test_soft_close_error_suppression_releases_once[forced] PASSED [ 15%] tests/test_async_filelock.py::test_soft_context_surfaces_close_error_after_cleanup[direct] PASSED [ 15%] tests/test_async_filelock.py::test_soft_context_surfaces_close_error_after_cleanup[proxy] PASSED [ 15%] tests/test_async_filelock.py::test_soft_second_release_does_not_close_reused_descriptor PASSED [ 15%] tests/test_async_filelock.py::test_context_group_detaches_release_context[direct] PASSED [ 15%] tests/test_async_filelock.py::test_context_group_detaches_release_context[proxy] PASSED [ 15%] tests/test_async_filelock.py::test_context_group_renders_independent_leaves[direct] PASSED [ 15%] tests/test_async_filelock.py::test_context_group_renders_independent_leaves[proxy] PASSED [ 15%] tests/test_async_filelock.py::test_context_chain_keeps_release_error_with_body_in_context[direct] PASSED [ 15%] tests/test_async_filelock.py::test_context_chain_keeps_release_error_with_body_in_context[proxy] PASSED [ 15%] tests/test_async_filelock.py::test_context_body_only_failure_propagates_body[direct-chain] PASSED [ 15%] tests/test_async_filelock.py::test_context_body_only_failure_propagates_body[direct-group] PASSED [ 15%] tests/test_async_filelock.py::test_context_body_only_failure_propagates_body[proxy-chain] PASSED [ 16%] tests/test_async_filelock.py::test_context_body_only_failure_propagates_body[proxy-group] PASSED [ 16%] tests/test_async_filelock.py::test_context_release_only_failure_propagates_release[direct-chain] PASSED [ 16%] tests/test_async_filelock.py::test_context_release_only_failure_propagates_release[direct-group] PASSED [ 16%] tests/test_async_filelock.py::test_context_release_only_failure_propagates_release[proxy-chain] PASSED [ 16%] tests/test_async_filelock.py::test_context_release_only_failure_propagates_release[proxy-group] PASSED [ 16%] tests/test_async_filelock.py::test_context_group_base_exception_leaf_is_base_group PASSED [ 16%] tests/test_async_filelock.py::test_context_group_preserves_user_release_cancellation_group PASSED [ 16%] tests/test_async_filelock.py::test_close_error_raise_propagates PASSED [ 16%] tests/test_async_filelock.py::test_close_error_default_suppressed_on_unix PASSED [ 16%] tests/test_async_filelock.py::test_fallback_to_soft_disabled_raises_enosys PASSED [ 16%] tests/test_async_filelock.py::test_preserve_lock_file_async_soft_rejects PASSED [ 16%] tests/test_async_filelock.py::test_preserve_lock_file_async_release_keeps_pathname PASSED [ 16%] tests/test_async_filelock.py::test_on_acquired_async_soft_rejects PASSED [ 17%] tests/test_async_filelock.py::test_on_acquired_runs_in_backend_executor PASSED [ 17%] tests/test_async_filelock.py::test_on_acquired_async_failure_releases PASSED [ 17%] tests/test_async_filelock.py::test_on_acquired_rollback_group_detaches_release_context PASSED [ 17%] tests/test_async_filelock.py::test_async_del_without_any_loop_returns PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_backend_cancellation_after_acquire_rolls_back PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_backend_cancellation_rollback_failure_follows_policy[chain] PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_backend_cancellation_rollback_failure_follows_policy[group] PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_caller_and_backend_cancellation_both_surface PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_before_executor_start_rolls_back PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_does_not_release_later_claim PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_cancelled_queued_acquire_does_not_claim_transition PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_repeated_cancellation_waits_for_rollback PASSED [ 17%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_surfaces_attempt_error_after_rollback[chain] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_surfaces_attempt_error_after_rollback[group] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_group_reconciles_attempt_context[distinct] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_group_reconciles_attempt_context[equivalent] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_surfaces_rollback_error[chain] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_surfaces_rollback_error[group] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_surfaces_attempt_and_rollback_errors[chain] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_acquire_cancellation_surfaces_attempt_and_rollback_errors[group] PASSED [ 18%] tests/test_async_filelock_acquire_cancellation.py::test_non_executor_immediate_acquire_precedes_scheduled_callback PASSED [ 18%] tests/test_async_filelock_release_cancellation.py::test_release_completes_despite_cancellation PASSED [ 18%] tests/test_async_filelock_release_cancellation.py::test_acquire_proceeds_after_queued_release_is_canceled PASSED [ 18%] tests/test_async_filelock_release_cancellation.py::test_release_waits_for_provisional_acquire PASSED [ 18%] tests/test_async_filelock_release_cancellation.py::test_release_returns_while_acquire_waits_for_external_holder PASSED [ 18%] tests/test_async_filelock_release_cancellation.py::test_release_cancellation_surfaces_backend_error[chain] PASSED [ 19%] tests/test_async_filelock_release_cancellation.py::test_release_cancellation_surfaces_backend_error[group] PASSED [ 19%] tests/test_async_filelock_release_cancellation.py::test_context_chain_does_not_duplicate_body_already_in_release_group PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_release_serialized_skips_when_peer_already_released PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_release_cancellation_surfaces_backend_error PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_acquire_cancellation_rollback_failure_surfaces_backend_error PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_registration_failure_rolls_back_and_surfaces_cleanup PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_acquire_failure_with_registration_failure_rolls_back[rollback-fails] PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_acquire_failure_with_registration_failure_rolls_back[rollback-succeeds] PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_context_group_reconciles_release_cancellation_with_backend_error PASSED [ 19%] tests/test_async_filelock_rollback_agnostic.py::test_sync_context_exit_is_unsupported PASSED [ 19%] tests/test_async_filelock_runner_shutdown.py::test_runner_shutdown_waits_for_executor_acquire_rollback PASSED [ 19%] tests/test_async_filelock_runner_shutdown.py::test_runner_shutdown_preserves_body_cancellation_and_release_errors[chain] PASSED [ 19%] tests/test_async_filelock_runner_shutdown.py::test_runner_shutdown_preserves_body_cancellation_and_release_errors[group] PASSED [ 20%] tests/test_async_filelock_transition_admission.py::test_queued_acquire_honors_own_admission_policy[nonblocking] PASSED [ 20%] tests/test_async_filelock_transition_admission.py::test_queued_acquire_honors_own_admission_policy[finite-deadline] PASSED [ 20%] tests/test_async_filelock_transition_admission.py::test_queued_acquire_honors_own_admission_policy[cancel-check] PASSED [ 20%] tests/test_async_filelock_transition_admission.py::test_queued_acquire_proceeds_after_prior_waiter_cancels PASSED [ 20%] tests/test_async_read_write.py::test_acquire_release[read] PASSED [ 20%] tests/test_async_read_write.py::test_acquire_release[write] PASSED [ 20%] tests/test_async_read_write.py::test_lock_context_manager[read] PASSED [ 20%] tests/test_async_read_write.py::test_lock_context_manager[write] PASSED [ 20%] tests/test_async_read_write.py::test_reentrant[read] PASSED [ 20%] tests/test_async_read_write.py::test_reentrant[write] PASSED [ 20%] tests/test_async_read_write.py::test_mode_change_prohibited[upgrade] PASSED [ 20%] tests/test_async_read_write.py::test_mode_change_prohibited[downgrade] PASSED [ 20%] tests/test_async_read_write.py::test_non_blocking_conflict[read] PASSED [ 21%] tests/test_async_read_write.py::test_non_blocking_conflict[write] PASSED [ 21%] tests/test_async_read_write.py::test_timeout_expires PASSED [ 21%] tests/test_async_read_write.py::test_release_unheld_raises PASSED [ 21%] tests/test_async_read_write.py::test_release_force PASSED [ 21%] tests/test_async_read_write.py::test_release_force_unheld_is_noop PASSED [ 21%] tests/test_async_read_write.py::test_close_rejects_later_acquisition[idle-owned-executor] PASSED [ 21%] tests/test_async_read_write.py::test_close_rejects_later_acquisition[held-owned-executor] PASSED [ 21%] tests/test_async_read_write.py::test_close_rejects_later_acquisition[idle-supplied-executor] PASSED [ 21%] tests/test_async_read_write.py::test_close_rejects_later_acquisition[held-supplied-executor] PASSED [ 21%] tests/test_async_read_write.py::test_properties PASSED [ 21%] tests/test_async_read_write.py::test_custom_executor PASSED [ 21%] tests/test_async_read_write.py::test_close_shuts_down_owned_executor PASSED [ 21%] tests/test_async_read_write.py::test_close_keeps_provided_executor_open PASSED [ 22%] tests/test_async_read_write.py::test_del_shuts_down_owned_executor PASSED [ 22%] tests/test_async_read_write.py::test_del_keeps_provided_executor_open PASSED [ 22%] tests/test_async_read_write.py::test_acquire_return_proxy_context_manager PASSED [ 22%] tests/test_async_read_write.py::test_nested_context_managers[read] PASSED [ 22%] tests/test_async_read_write.py::test_nested_context_managers[write] PASSED [ 22%] tests/test_async_read_write.py::test_context_manager_uses_instance_defaults PASSED [ 22%] tests/test_async_read_write.py::test_context_manager_overrides_defaults PASSED [ 22%] tests/test_async_read_write.py::test_sequential_mode_switch PASSED [ 22%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_before_executor_start_rolls_back[read] PASSED [ 22%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_before_executor_start_rolls_back[write] PASSED [ 22%] tests/test_async_read_write_cancellation.py::test_executor_cancels_queued_acquire_without_compensation[executor] PASSED [ 22%] tests/test_async_read_write_cancellation.py::test_executor_cancels_queued_acquire_without_compensation[caller-and-executor] PASSED [ 22%] tests/test_async_read_write_cancellation.py::test_caller_cancellation_preserves_cancelled_executor_acquire PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_surfaces_compensation_failure PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_while_sqlite_waits_rolls_back[read] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_while_sqlite_waits_rolls_back[write] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_surfaces_acquire_and_rollback_errors[read] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_acquire_cancellation_surfaces_acquire_and_rollback_errors[write] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_close_cancellation_shuts_down_only_an_owned_executor[owned] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_close_cancellation_shuts_down_only_an_owned_executor[supplied] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_cancellation_surfaces_rollback_error[release] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_cancellation_surfaces_rollback_error[close] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_context_cancellation_preserves_body_and_rollback_contexts[read] PASSED [ 23%] tests/test_async_read_write_cancellation.py::test_context_cancellation_preserves_body_and_rollback_contexts[write] PASSED [ 23%] tests/test_async_soft_contracts.py::test_async_strict_treats_a_foreign_marker_as_contention PASSED [ 23%] tests/test_async_soft_contracts.py::test_async_strict_publishes_a_held_claim PASSED [ 24%] tests/test_async_soft_contracts.py::test_async_lease_heartbeat_keeps_a_live_claim PASSED [ 24%] tests/test_async_soft_contracts.py::test_async_lease_reports_compromise_when_the_marker_vanishes PASSED [ 24%] tests/test_async_transition_gate.py::test_hold_waits_for_a_predecessor_before_entering PASSED [ 24%] tests/test_async_transition_gate.py::test_hold_canceled_while_waiting_lets_the_predecessor_free_the_ticket PASSED [ 24%] tests/test_async_transition_gate.py::test_wait_for_predecessor_returns_immediately_when_already_done PASSED [ 24%] tests/test_default_mode.py::test_mode_property[default-UnixFileLock] PASSED [ 24%] tests/test_default_mode.py::test_mode_property[default-SoftFileLock] PASSED [ 24%] tests/test_default_mode.py::test_mode_property[explicit-UnixFileLock] PASSED [ 24%] tests/test_default_mode.py::test_mode_property[explicit-SoftFileLock] PASSED [ 24%] tests/test_default_mode.py::test_has_explicit_mode[default-UnixFileLock] PASSED [ 24%] tests/test_default_mode.py::test_has_explicit_mode[default-SoftFileLock] PASSED [ 24%] tests/test_default_mode.py::test_has_explicit_mode[explicit-UnixFileLock] PASSED [ 24%] tests/test_default_mode.py::test_has_explicit_mode[explicit-SoftFileLock] PASSED [ 25%] tests/test_default_mode.py::test_open_mode[default-UnixFileLock] PASSED [ 25%] tests/test_default_mode.py::test_open_mode[default-SoftFileLock] PASSED [ 25%] tests/test_default_mode.py::test_open_mode[explicit-UnixFileLock] PASSED [ 25%] tests/test_default_mode.py::test_open_mode[explicit-SoftFileLock] PASSED [ 25%] tests/test_default_mode.py::test_default_mode_respects_umask[UnixFileLock] PASSED [ 25%] tests/test_default_mode.py::test_default_mode_respects_umask[SoftFileLock] PASSED [ 25%] tests/test_default_mode.py::test_default_mode_skips_fchmod PASSED [ 25%] tests/test_default_mode.py::test_explicit_mode_calls_fchmod PASSED [ 25%] tests/test_default_mode.py::test_explicit_mode_overrides_umask PASSED [ 25%] tests/test_default_mode.py::test_singleton_same_mode_matches[default] PASSED [ 25%] tests/test_default_mode.py::test_singleton_same_mode_matches[explicit] PASSED [ 25%] tests/test_default_mode.py::test_singleton_default_vs_explicit_mode_differ PASSED [ 25%] tests/test_default_mode.py::test_unset_file_mode_sentinel_value PASSED [ 26%] tests/test_error.py::test_timeout_attribute[str] PASSED [ 26%] tests/test_error.py::test_timeout_attribute[repr] PASSED [ 26%] tests/test_error.py::test_timeout_attribute[lock_file] PASSED [ 26%] tests/test_error.py::test_timeout_attribute[reduce] PASSED [ 26%] tests/test_error.py::test_timeout_pickle PASSED [ 26%] tests/test_filelock.py::test_simple[a-str-UnixFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[a-str-SoftFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[a-PurePath-UnixFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[a-PurePath-SoftFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[a-Path-UnixFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[a-Path-SoftFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[new/b-str-UnixFileLock] PASSED [ 26%] tests/test_filelock.py::test_simple[new/b-str-SoftFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new/b-PurePath-UnixFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new/b-PurePath-SoftFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new/b-Path-UnixFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new/b-Path-SoftFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new2/new3/c-str-UnixFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new2/new3/c-str-SoftFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new2/new3/c-PurePath-UnixFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new2/new3/c-PurePath-SoftFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new2/new3/c-Path-UnixFileLock] PASSED [ 27%] tests/test_filelock.py::test_simple[new2/new3/c-Path-SoftFileLock] PASSED [ 27%] tests/test_filelock.py::test_ro_folder[UnixFileLock] SKIPPED (Cannot...) [ 27%] tests/test_filelock.py::test_ro_folder[SoftFileLock] SKIPPED (Cannot...) [ 27%] tests/test_filelock.py::test_ro_file[UnixFileLock] SKIPPED (Cannot m...) [ 28%] tests/test_filelock.py::test_ro_file[SoftFileLock] SKIPPED (Cannot m...) [ 28%] tests/test_filelock.py::test_bad_lock_file[blank_filename-UnixFileLock] PASSED [ 28%] tests/test_filelock.py::test_bad_lock_file[blank_filename-SoftFileLock] PASSED [ 28%] tests/test_filelock.py::test_bad_lock_file[null_byte-UnixFileLock] PASSED [ 28%] tests/test_filelock.py::test_bad_lock_file[null_byte-SoftFileLock] PASSED [ 28%] tests/test_filelock.py::test_bad_lock_file[current_directory-UnixFileLock] PASSED [ 28%] tests/test_filelock.py::test_bad_lock_file[current_directory-SoftFileLock] PASSED [ 28%] tests/test_filelock.py::test_bad_lock_file[invalid_<-UnixFileLock] SKIPPED [ 28%] tests/test_filelock.py::test_bad_lock_file[invalid_<-SoftFileLock] SKIPPED [ 28%] tests/test_filelock.py::test_bad_lock_file[invalid_>-UnixFileLock] SKIPPED [ 28%] tests/test_filelock.py::test_bad_lock_file[invalid_>-SoftFileLock] SKIPPED [ 28%] tests/test_filelock.py::test_bad_lock_file[invalid_:-UnixFileLock] SKIPPED [ 28%] tests/test_filelock.py::test_bad_lock_file[invalid_:-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_"-UnixFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_"-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_|-UnixFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_|-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_?-UnixFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_?-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_*-UnixFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_*-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_\x07-UnixFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[invalid_\x07-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[permission_/-UnixFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[permission_/-SoftFileLock] SKIPPED [ 29%] tests/test_filelock.py::test_bad_lock_file[permission_\\-UnixFileLock] SKIPPED [ 30%] tests/test_filelock.py::test_bad_lock_file[permission_\\-SoftFileLock] SKIPPED [ 30%] tests/test_filelock.py::test_nested_context_manager[UnixFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_context_manager[SoftFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_acquire[UnixFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_acquire[SoftFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_forced_release[UnixFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_forced_release[SoftFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_contruct[UnixFileLock] PASSED [ 30%] tests/test_filelock.py::test_nested_contruct[SoftFileLock] PASSED [ 30%] tests/test_filelock.py::test_threaded_shared_lock_obj[UnixFileLock] PASSED [ 30%] tests/test_filelock.py::test_threaded_shared_lock_obj[SoftFileLock] PASSED [ 30%] tests/test_filelock.py::test_threaded_lock_different_lock_obj[UnixFileLock] PASSED [ 30%] tests/test_filelock.py::test_threaded_lock_different_lock_obj[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_timeout[UnixFileLock] PASSED [ 31%] tests/test_filelock.py::test_timeout[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_non_blocking[UnixFileLock] PASSED [ 31%] tests/test_filelock.py::test_non_blocking[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_default_timeout[UnixFileLock] PASSED [ 31%] tests/test_filelock.py::test_default_timeout[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_context_release_on_exc[UnixFileLock] PASSED [ 31%] tests/test_filelock.py::test_context_release_on_exc[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_acquire_release_on_exc[UnixFileLock] PASSED [ 31%] tests/test_filelock.py::test_acquire_release_on_exc[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_del[UnixFileLock] PASSED [ 31%] tests/test_filelock.py::test_del[SoftFileLock] PASSED [ 31%] tests/test_filelock.py::test_cleanup_soft_lock PASSED [ 32%] tests/test_filelock.py::test_poll_intervall_deprecated[UnixFileLock] PASSED [ 32%] tests/test_filelock.py::test_poll_intervall_deprecated[SoftFileLock] PASSED [ 32%] tests/test_filelock.py::test_default_poll_interval[UnixFileLock] PASSED [ 32%] tests/test_filelock.py::test_default_poll_interval[SoftFileLock] PASSED [ 32%] tests/test_filelock.py::test_poll_interval_used_by_context_manager[UnixFileLock] PASSED [ 32%] tests/test_filelock.py::test_poll_interval_used_by_context_manager[SoftFileLock] PASSED [ 32%] tests/test_filelock.py::test_poll_interval_acquire_override[UnixFileLock] PASSED [ 32%] tests/test_filelock.py::test_poll_interval_acquire_override[SoftFileLock] PASSED [ 32%] tests/test_filelock.py::test_context_decorator[UnixFileLock] PASSED [ 32%] tests/test_filelock.py::test_context_decorator[SoftFileLock] PASSED [ 32%] tests/test_filelock.py::test_lock_mode PASSED [ 32%] tests/test_filelock.py::test_lock_mode_soft PASSED [ 32%] tests/test_filelock.py::test_umask PASSED [ 33%] tests/test_filelock.py::test_umask_soft PASSED [ 33%] tests/test_filelock.py::test_wrong_platform PASSED [ 33%] tests/test_filelock.py::test_flock_not_implemented_unix PASSED [ 33%] tests/test_filelock.py::test_soft_errors PASSED [ 33%] tests/test_filelock.py::test_thrashing_with_thread_pool_passing_lock_to_threads[UnixFileLock] PASSED [ 33%] tests/test_filelock.py::test_thrashing_with_thread_pool_passing_lock_to_threads[SoftFileLock] PASSED [ 33%] tests/test_filelock.py::test_thrashing_with_thread_pool_global_lock[UnixFileLock] PASSED [ 33%] tests/test_filelock.py::test_thrashing_with_thread_pool_global_lock[SoftFileLock] PASSED [ 33%] tests/test_filelock.py::test_thrashing_with_thread_pool_lock_recreated_in_each_thread[UnixFileLock] PASSED [ 33%] tests/test_filelock.py::test_thrashing_with_thread_pool_lock_recreated_in_each_thread[SoftFileLock] PASSED [ 33%] tests/test_filelock.py::test_lock_can_be_non_thread_local[UnixFileLock] PASSED [ 33%] tests/test_filelock.py::test_lock_can_be_non_thread_local[SoftFileLock] PASSED [ 33%] tests/test_filelock.py::test_thread_local_setter_visibility[UnixFileLock] PASSED [ 33%] tests/test_filelock.py::test_thread_local_setter_visibility[SoftFileLock] PASSED [ 34%] tests/test_filelock.py::test_non_thread_local_setter_visibility[UnixFileLock] PASSED [ 34%] tests/test_filelock.py::test_non_thread_local_setter_visibility[SoftFileLock] PASSED [ 34%] tests/test_filelock.py::test_subclass_compatibility PASSED [ 34%] tests/test_filelock.py::test_singleton_and_non_singleton_locks_are_distinct[UnixFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_and_non_singleton_locks_are_distinct[SoftFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_are_the_same[UnixFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_are_the_same[SoftFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_survive_concurrent_first_construction PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_are_distinct_per_lock_file[UnixFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_are_distinct_per_lock_file[SoftFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_must_be_initialized_with_the_same_args[UnixFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_must_be_initialized_with_the_same_args[SoftFileLock] PASSED [ 34%] tests/test_filelock.py::test_singleton_locks_are_deleted_when_no_external_references_exist[UnixFileLock] PASSED [ 35%] tests/test_filelock.py::test_singleton_locks_are_deleted_when_no_external_references_exist[SoftFileLock] PASSED [ 35%] tests/test_filelock.py::test_singleton_instance_tracking_is_unique_per_subclass[UnixFileLock] PASSED [ 35%] tests/test_filelock.py::test_singleton_instance_tracking_is_unique_per_subclass[SoftFileLock] PASSED [ 35%] tests/test_filelock.py::test_singleton_locks_when_inheriting_init_is_called_once PASSED [ 35%] tests/test_filelock.py::test_file_lock_positional_argument PASSED [ 35%] tests/test_filelock.py::test_readonly_lock_file_with_mtime_zero_raises[SoftFileLock] SKIPPED [ 35%] tests/test_filelock.py::test_readonly_lock_file_with_mtime_zero_raises[UnixFileLock] SKIPPED [ 35%] tests/test_filelock.py::test_lock_file_removed_after_release[SoftFileLock] PASSED [ 35%] tests/test_filelock.py::test_concurrent_acquire_release_keeps_lock_file PASSED [ 35%] tests/test_filelock.py::test_lock_acquired_after_release_keeps_path PASSED [ 35%] tests/test_filelock.py::test_waiter_fd_cannot_split_lock_after_release PASSED [ 35%] tests/test_filelock.py::test_stale_inode_retry_on_unlinked_lock PASSED [ 35%] tests/test_filelock.py::test_permission_error_fallback_without_o_creat PASSED [ 36%] tests/test_filelock.py::test_permission_error_propagates_when_file_missing PASSED [ 36%] tests/test_filelock.py::test_sticky_bit_fallback_handles_concurrent_unlink PASSED [ 36%] tests/test_filelock.py::test_cancel_check_triggers[UnixFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_triggers[SoftFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_after_n_polls[UnixFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_after_n_polls[SoftFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_not_called_when_lock_available[UnixFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_not_called_when_lock_available[SoftFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_false_allows_acquisition[UnixFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_false_allows_acquisition[SoftFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_log_message[UnixFileLock] PASSED [ 36%] tests/test_filelock.py::test_cancel_check_log_message[SoftFileLock] PASSED [ 36%] tests/test_filelock.py::test_filenotfound_on_fuse_nfs_retries PASSED [ 37%] tests/test_filelock.py::test_same_thread_different_instances_raises[UnixFileLock] PASSED [ 37%] tests/test_filelock.py::test_same_thread_different_instances_raises[SoftFileLock] PASSED [ 37%] tests/test_filelock.py::test_finite_timeout_gives_timeout_not_deadlock[UnixFileLock] PASSED [ 37%] tests/test_filelock.py::test_finite_timeout_gives_timeout_not_deadlock[SoftFileLock] PASSED [ 37%] tests/test_filelock.py::test_non_blocking_gives_timeout_not_deadlock[UnixFileLock] PASSED [ 37%] tests/test_filelock.py::test_non_blocking_gives_timeout_not_deadlock[SoftFileLock] PASSED [ 37%] tests/test_filelock.py::test_failed_acquire_keeps_holder_registered[finite] PASSED [ 37%] tests/test_filelock.py::test_failed_acquire_keeps_holder_registered[nonblocking] PASSED [ 37%] tests/test_filelock.py::test_different_paths_no_conflict[UnixFileLock] PASSED [ 37%] tests/test_filelock.py::test_different_paths_no_conflict[SoftFileLock] PASSED [ 37%] tests/test_filelock.py::test_same_instance_reentrant_works[UnixFileLock] PASSED [ 37%] tests/test_filelock.py::test_same_instance_reentrant_works[SoftFileLock] PASSED [ 37%] tests/test_filelock.py::test_singleton_avoids_deadlock[UnixFileLock] PASSED [ 38%] tests/test_filelock.py::test_singleton_avoids_deadlock[SoftFileLock] PASSED [ 38%] tests/test_filelock.py::test_different_threads_no_false_positive[UnixFileLock] PASSED [ 38%] tests/test_filelock.py::test_different_threads_no_false_positive[SoftFileLock] PASSED [ 38%] tests/test_filelock.py::test_symlink_same_canonical_path[UnixFileLock] PASSED [ 38%] tests/test_filelock.py::test_symlink_same_canonical_path[SoftFileLock] PASSED [ 38%] tests/test_filelock.py::test_release_drops_acquisition_key_after_parent_retarget[direct] PASSED [ 38%] tests/test_filelock.py::test_release_drops_acquisition_key_after_parent_retarget[nested] PASSED [ 38%] tests/test_filelock.py::test_release_drops_acquisition_key_after_parent_retarget[forced] PASSED [ 38%] tests/test_filelock.py::test_release_keeps_retargeted_parent_holder_registered PASSED [ 38%] tests/test_filelock.py::test_deadlock_registry_cleanup_on_release[UnixFileLock] PASSED [ 38%] tests/test_filelock.py::test_deadlock_registry_cleanup_on_release[SoftFileLock] PASSED [ 38%] tests/test_filelock.py::test_force_release_cleans_registry[UnixFileLock] PASSED [ 38%] tests/test_filelock.py::test_force_release_cleans_registry[SoftFileLock] PASSED [ 39%] tests/test_filelock.py::test_winner_truncates_stale_content PASSED [ 39%] tests/test_filelock.py::test_contender_preserves_holder_contents PASSED [ 39%] tests/test_filelock.py::test_contender_preserves_holder_mode PASSED [ 39%] tests/test_filelock.py::test_contender_does_not_fchmod PASSED [ 39%] tests/test_filelock.py::test_post_lock_truncate_failure_closes_fd PASSED [ 39%] tests/test_filelock.py::test_windows_reparse_point_lock_file_rejected SKIPPED [ 39%] tests/test_filelock.py::test_release_keeps_lock_until_final_hold PASSED [ 39%] tests/test_filelock.py::test_forced_release_drops_all_holds PASSED [ 39%] tests/test_filelock.py::test_unix_release_keeps_lock_held_when_unlock_fails PASSED [ 39%] tests/test_filelock.py::test_unix_context_exit_propagates_unlock_failure PASSED [ 39%] tests/test_filelock.py::test_windows_release_keeps_lock_held_when_unlock_fails SKIPPED [ 39%] tests/test_filelock.py::test_windows_close_failure_still_commits_release SKIPPED [ 39%] tests/test_filelock.py::test_windows_delete_pending_is_treated_as_contention SKIPPED [ 40%] tests/test_filelock.py::test_windows_permanent_denial_raises_without_timeout SKIPPED [ 40%] tests/test_filelock.py::test_windows_delete_in_progress_is_contention_not_denial SKIPPED [ 40%] tests/test_filelock.py::test_context_group_detaches_release_context[direct] PASSED [ 40%] tests/test_filelock.py::test_context_group_detaches_release_context[proxy] PASSED [ 40%] tests/test_filelock.py::test_context_group_handles_deep_body_context PASSED [ 40%] tests/test_filelock.py::test_context_group_detaches_equivalent_shared_exception_dag PASSED [ 40%] tests/test_filelock.py::test_context_group_preserves_distinct_shared_exception_dag PASSED [ 40%] tests/test_filelock.py::test_context_group_renders_independent_leaves[direct] PASSED [ 40%] tests/test_filelock.py::test_context_group_renders_independent_leaves[proxy] PASSED [ 40%] tests/test_filelock.py::test_context_chain_keeps_release_error_with_body_in_context[direct] PASSED [ 40%] tests/test_filelock.py::test_context_chain_keeps_release_error_with_body_in_context[proxy] PASSED [ 40%] tests/test_filelock.py::test_context_body_only_failure_propagates_body[direct-chain] PASSED [ 40%] tests/test_filelock.py::test_context_body_only_failure_propagates_body[direct-group] PASSED [ 41%] tests/test_filelock.py::test_context_body_only_failure_propagates_body[proxy-chain] PASSED [ 41%] tests/test_filelock.py::test_context_body_only_failure_propagates_body[proxy-group] PASSED [ 41%] tests/test_filelock.py::test_context_release_only_failure_propagates_release[direct-chain] PASSED [ 41%] tests/test_filelock.py::test_context_release_only_failure_propagates_release[direct-group] PASSED [ 41%] tests/test_filelock.py::test_context_release_only_failure_propagates_release[proxy-chain] PASSED [ 41%] tests/test_filelock.py::test_context_release_only_failure_propagates_release[proxy-group] PASSED [ 41%] tests/test_filelock.py::test_context_group_base_exception_leaf_is_base_group PASSED [ 41%] tests/test_filelock.py::test_invalid_context_error_policy_rejected PASSED [ 41%] tests/test_filelock.py::test_singleton_rejects_different_context_policy PASSED [ 41%] tests/test_filelock.py::test_close_error_default_suppressed_on_unix PASSED [ 41%] tests/test_filelock.py::test_close_error_default_raises_on_windows SKIPPED [ 41%] tests/test_filelock.py::test_close_error_suppress PASSED [ 41%] tests/test_filelock.py::test_close_error_raise_is_exact_and_committed[4] PASSED [ 42%] tests/test_filelock.py::test_close_error_raise_is_exact_and_committed[5] PASSED [ 42%] tests/test_filelock.py::test_close_error_raise_is_exact_and_committed[28] PASSED [ 42%] tests/test_filelock.py::test_close_not_reached_when_unlock_fails PASSED [ 42%] tests/test_filelock.py::test_dual_body_and_close_failure_grouped PASSED [ 42%] tests/test_filelock.py::test_invalid_close_error_policy_rejected PASSED [ 42%] tests/test_filelock.py::test_singleton_rejects_different_close_policy PASSED [ 42%] tests/test_filelock.py::test_singleton_shares_across_equivalent_spellings PASSED [ 42%] tests/test_filelock.py::test_singleton_shares_through_symlinked_parent PASSED [ 42%] tests/test_filelock.py::test_final_symlink_stays_a_distinct_key PASSED [ 42%] tests/test_filelock.py::test_final_symlink_backend_refuses_to_lock PASSED [ 42%] tests/test_filelock.py::test_separate_lock_classes_keep_separate_registries PASSED [ 42%] tests/test_filelock.py::test_fallback_to_soft_disabled_raises_enosys PASSED [ 42%] tests/test_filelock.py::test_fallback_to_soft_default_switches_to_soft PASSED [ 43%] tests/test_filelock.py::test_fallback_disabled_recursive_reraises PASSED [ 43%] tests/test_filelock.py::test_singleton_rejects_different_fallback_to_soft PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_roundtrip PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_nonblocking_contention PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_invalid_fd_raises PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_rejects_invalid_blocking_poll_interval[zero] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_rejects_invalid_blocking_poll_interval[negative] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_rejects_invalid_blocking_poll_interval[nan] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_rejects_invalid_blocking_poll_interval[positive-infinity] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_rejects_invalid_blocking_poll_interval[negative-infinity] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_nonblocking_ignores_poll_interval[zero] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_nonblocking_ignores_poll_interval[negative] PASSED [ 43%] tests/test_filelock.py::test_lock_descriptor_nonblocking_ignores_poll_interval[nan] PASSED [ 44%] tests/test_filelock.py::test_lock_descriptor_nonblocking_ignores_poll_interval[positive-infinity] PASSED [ 44%] tests/test_filelock.py::test_lock_descriptor_nonblocking_ignores_poll_interval[negative-infinity] PASSED [ 44%] tests/test_filelock.py::test_filelock_and_descriptor_contend[filelock_first] PASSED [ 44%] tests/test_filelock.py::test_filelock_and_descriptor_contend[descriptor_first] PASSED [ 44%] tests/test_filelock.py::test_lock_descriptor_touches_no_paths PASSED [ 44%] tests/test_filelock.py::test_unlock_descriptor_failure_allows_retry PASSED [ 44%] tests/test_filelock.py::test_lock_descriptor_blocking_retries_until_free PASSED [ 44%] tests/test_filelock.py::test_lock_descriptor_blocking_wait_does_not_spin PASSED [ 44%] tests/test_filelock.py::test_preserve_lock_file_defaults_off PASSED [ 44%] tests/test_filelock.py::test_preserve_lock_file_property_reflects_argument PASSED [ 44%] tests/test_filelock.py::test_preserve_lock_file_rejected_by_soft_lock PASSED [ 44%] tests/test_filelock.py::test_singleton_rejects_different_preserve_lock_file PASSED [ 44%] tests/test_filelock.py::test_preserve_lock_file_unix_keeps_pathname PASSED [ 45%] tests/test_filelock.py::test_preserve_lock_file_fails_closed_on_enosys PASSED [ 45%] tests/test_filelock.py::test_preserve_lock_file_windows_default_removes_file SKIPPED [ 45%] tests/test_filelock.py::test_preserve_lock_file_windows_keeps_file SKIPPED [ 45%] tests/test_filelock.py::test_preserve_lock_file_windows_reacquires_same_identity SKIPPED [ 45%] tests/test_filelock.py::test_preserve_lock_file_windows_kept_after_forced_release SKIPPED [ 45%] tests/test_filelock.py::test_on_acquired_defaults_none PASSED [ 45%] tests/test_filelock.py::test_on_acquired_property_reflects_argument PASSED [ 45%] tests/test_filelock.py::test_on_acquired_noop_hook_allows_acquire PASSED [ 45%] tests/test_filelock.py::test_on_acquired_runs_before_acquire_returns PASSED [ 45%] tests/test_filelock.py::test_on_acquired_fires_once_per_physical_acquire PASSED [ 45%] tests/test_filelock.py::test_on_acquired_not_called_for_contender PASSED [ 45%] tests/test_filelock.py::test_on_acquired_runs_after_truncation_and_mode PASSED [ 45%] tests/test_filelock.py::test_on_acquired_writes_survive_contention PASSED [ 46%] tests/test_filelock.py::test_on_acquired_failure_releases_lock PASSED [ 46%] tests/test_filelock.py::test_on_acquired_and_release_failure_group PASSED [ 46%] tests/test_filelock.py::test_on_acquired_rollback_group_detaches_release_context PASSED [ 46%] tests/test_filelock.py::test_grouped_errors_keep_a_context_that_is_a_distinct_group PASSED [ 46%] tests/test_filelock.py::test_grouped_errors_detach_a_context_already_nested_in_a_sibling PASSED [ 46%] tests/test_filelock.py::test_rollback_failed_acquire_groups_registration_and_release_failures PASSED [ 46%] tests/test_filelock.py::test_on_acquired_fails_closed_on_enosys PASSED [ 46%] tests/test_filelock.py::test_on_acquired_rejected_by_soft_lock PASSED [ 46%] tests/test_filelock.py::test_singleton_shares_same_on_acquired PASSED [ 46%] tests/test_filelock.py::test_singleton_rejects_different_on_acquired PASSED [ 46%] tests/test_filelock.py::test_import_succeeds_without_os_link PASSED [ 46%] tests/test_filelock.py::test_strict_lock_reports_unsupported_without_os_link PASSED [ 46%] tests/test_filelock.py::test_soft_release_groups_close_and_cleanup_failures PASSED [ 47%] tests/test_filelock.py::test_soft_windows_unlink_stops_on_non_permission_error PASSED [ 47%] tests/test_filelock.py::test_append_exception_context_terminates_on_a_cycle PASSED [ 47%] tests/test_filelock.py::test_undo_acquire_keeps_registry_entry_while_still_held PASSED [ 47%] tests/test_filelock.py::test_soft_marker_omits_start_line_without_a_start_token PASSED [ 47%] tests/test_filelock.py::test_soft_is_lock_held_by_us_false_for_unparseable_marker PASSED [ 47%] tests/test_filelock.py::test_unix_acquire_without_o_nofollow PASSED [ 47%] tests/test_filelock.py::test_unix_soft_fallback_keeps_a_replaced_file PASSED [ 47%] tests/test_fork_backends.py::test_third_party_descriptor_is_closed_in_child PASSED [ 47%] tests/test_fork_backends.py::test_unlock_failure_keeps_descriptor_registered PASSED [ 47%] tests/test_fork_backends.py::test_acquisition_failure_keeps_descriptor_registered_until_rollback PASSED [ 47%] tests/test_fork_backends.py::test_acquisition_and_registration_errors_are_grouped[rollback-succeeds] PASSED [ 47%] tests/test_fork_backends.py::test_acquisition_and_registration_errors_are_grouped[rollback-fails] PASSED [ 47%] tests/test_fork_backends.py::test_registration_failure_tracks_descriptor_when_rollback_fails PASSED [ 48%] tests/test_fork_backends.py::test_unverified_descriptor_does_not_close_reused_child_fd PASSED [ 48%] tests/test_fork_backends.py::test_control_flow_registration_error_rolls_back_descriptor PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_registration_error_rolls_back_descriptor PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_acquisition_failure_before_descriptor_propagates PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_acquisition_failure_keeps_descriptor_registered_until_rollback PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_acquisition_and_registration_errors_are_grouped[rollback-succeeds] PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_acquisition_and_registration_errors_are_grouped[rollback-fails] PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_registration_failure_tracks_descriptor_when_rollback_fails PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_on_acquired_error_preserves_context PASSED [ 48%] tests/test_fork_backends.py::test_coroutine_on_acquired_and_rollback_errors_are_grouped PASSED [ 48%] tests/test_fork_coordination.py::test_callbacks_registered_before_filelock_can_use_locks PASSED [ 48%] tests/test_fork_coordination.py::test_concurrent_fork_after_first_snapshot_does_not_deadlock[audit-installed] PASSED [ 48%] tests/test_fork_coordination.py::test_concurrent_fork_after_first_snapshot_does_not_deadlock[audit-rejected] PASSED [ 49%] tests/test_fork_coordination.py::test_audit_rejects_process_creation_inside_descriptor_transition[fork] PASSED [ 49%] tests/test_fork_coordination.py::test_audit_rejects_process_creation_inside_descriptor_transition[forkpty] PASSED [ 49%] tests/test_fork_coordination.py::test_audit_rejects_process_creation_inside_descriptor_transition[fork-exec] PASSED [ 49%] tests/test_fork_coordination.py::test_fork_without_audit_guard_snapshots_current_transition[rejected-audit-hook] PASSED [ 49%] tests/test_fork_coordination.py::test_fork_without_audit_guard_snapshots_current_transition[fork1] SKIPPED [ 49%] tests/test_fork_coordination.py::test_native_descriptor_is_visible_during_flock_audit[rejected-audit-hook] PASSED [ 49%] tests/test_fork_coordination.py::test_native_descriptor_is_visible_during_flock_audit[fork1] SKIPPED [ 49%] tests/test_fork_coordination.py::test_child_unwinds_pre_fork_transition_before_new_acquire PASSED [ 49%] tests/test_fork_coordination.py::test_overlapping_coroutine_transitions_close_every_pending_descriptor PASSED [ 49%] tests/test_fork_coordination.py::test_pending_descriptor_with_unknown_identity_is_preserved_in_child PASSED [ 49%] tests/test_fork_coordination.py::test_child_replaces_parameter_model_mutex_held_during_construction PASSED [ 49%] tests/test_fork_coordination.py::test_registration_transition_completes_after_fork_closes_admission PASSED [ 49%] tests/test_fork_coordination.py::test_cancelled_async_acquire_unregisters_reused_descriptor PASSED [ 50%] tests/test_fork_coordination.py::test_parent_callback_rejects_reentrant_singleton_construction PASSED [ 50%] tests/test_fork_coordination.py::test_singleton_construction_crossing_fork_does_not_poison_child_cache PASSED [ 50%] tests/test_fork_coordination.py::test_soft_read_write_construction_crossing_fork_does_not_poison_child_cache PASSED [ 50%] tests/test_fork_coordination.py::test_fork_exec_from_another_thread_remains_available PASSED [ 50%] tests/test_fork_coordination.py::test_child_replaces_singleton_mutex_held_by_vanished_thread PASSED [ 50%] tests/test_fork_ownership.py::test_child_cleanup_preserves_parent_lock[native-release] PASSED [ 50%] tests/test_fork_ownership.py::test_child_cleanup_preserves_parent_lock[native-context] PASSED [ 50%] tests/test_fork_ownership.py::test_child_cleanup_preserves_parent_lock[native-collect] PASSED [ 50%] tests/test_fork_ownership.py::test_child_cleanup_preserves_parent_lock[soft-release] PASSED [ 50%] tests/test_fork_ownership.py::test_child_cleanup_preserves_parent_lock[soft-context] PASSED [ 50%] tests/test_fork_ownership.py::test_child_cleanup_preserves_parent_lock[soft-collect] PASSED [ 50%] tests/test_fork_ownership.py::test_async_child_release_preserves_parent_lock[native] PASSED [ 50%] tests/test_fork_ownership.py::test_async_child_release_preserves_parent_lock[soft] PASSED [ 51%] tests/test_fork_ownership.py::test_soft_read_write_resets_older_same_path_instance PASSED [ 51%] tests/test_fork_ownership.py::test_child_closes_descriptor_held_by_vanished_thread PASSED [ 51%] tests/test_fork_ownership.py::test_fork_waits_for_descriptor_registration PASSED [ 51%] tests/test_fork_ownership.py::test_unrelated_acquisitions_reach_filesystem_boundary_concurrently PASSED [ 51%] tests/test_fork_ownership.py::test_child_singleton_registry_drops_parent_instance[native] PASSED [ 51%] tests/test_fork_ownership.py::test_child_singleton_registry_drops_parent_instance[soft] PASSED [ 51%] tests/test_fork_ownership.py::test_inherited_idle_lock_rejects_acquire[native] PASSED [ 51%] tests/test_fork_ownership.py::test_inherited_idle_lock_rejects_acquire[soft] PASSED [ 51%] tests/test_fork_ownership.py::test_inherited_idle_async_lock_rejects_acquire[native] PASSED [ 51%] tests/test_fork_ownership.py::test_inherited_idle_async_lock_rejects_acquire[soft] PASSED [ 51%] tests/test_fork_ownership.py::test_fork_from_on_acquired_invalidates_child_acquire PASSED [ 51%] tests/test_fork_ownership.py::test_reader_directory_registration_failure_closes_descriptor PASSED [ 51%] tests/test_fork_ownership.py::test_reader_directory_registration_and_close_errors_are_grouped PASSED [ 52%] tests/test_fork_ownership.py::test_child_callback_registered_before_filelock_can_acquire PASSED [ 52%] tests/test_fork_ownership.py::test_child_interpreter_exit_preserves_parent_lock[native] PASSED [ 52%] tests/test_fork_ownership.py::test_child_interpreter_exit_preserves_parent_lock[soft] PASSED [ 52%] tests/test_fork_ownership.py::test_child_interpreter_exit_preserves_parent_lock[soft-read-write] PASSED [ 52%] tests/test_fork_registries.py::test_equal_unhashable_locks_reset_independently PASSED [ 52%] tests/test_fork_registries.py::test_equal_unhashable_soft_read_write_locks_survive_atexit_registry PASSED [ 52%] tests/test_fork_registries.py::test_dynamic_lock_class_can_be_collected PASSED [ 52%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-constructor-native-sync] PASSED [ 52%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-constructor-soft-sync] PASSED [ 52%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-constructor-native-async] PASSED [ 52%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-constructor-soft-async] PASSED [ 52%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-setter-native-sync] PASSED [ 52%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-setter-soft-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-setter-native-async] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-int-setter-soft-async] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-constructor-native-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-constructor-soft-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-constructor-native-async] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-constructor-soft-async] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-setter-native-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-setter-soft-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-setter-native-async] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-float-setter-soft-async] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-constructor-native-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-constructor-soft-sync] PASSED [ 53%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-constructor-native-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-constructor-soft-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-setter-native-sync] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-setter-soft-sync] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-setter-native-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[nan-setter-soft-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-constructor-native-sync] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-constructor-soft-sync] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-constructor-native-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-constructor-soft-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-setter-native-sync] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-setter-soft-sync] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-setter-native-async] PASSED [ 54%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[positive-infinity-setter-soft-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-constructor-native-sync] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-constructor-soft-sync] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-constructor-native-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-constructor-soft-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-setter-native-sync] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-setter-soft-sync] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-setter-native-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[negative-infinity-setter-soft-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-constructor-native-sync] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-constructor-soft-sync] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-constructor-native-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-constructor-soft-async] PASSED [ 55%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-setter-native-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-setter-soft-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-setter-native-async] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[true-setter-soft-async] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-constructor-native-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-constructor-soft-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-constructor-native-async] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-constructor-soft-async] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-setter-native-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-setter-soft-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-setter-native-async] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[false-setter-soft-async] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-constructor-native-sync] PASSED [ 56%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-constructor-soft-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-constructor-native-async] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-constructor-soft-async] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-setter-native-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-setter-soft-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-setter-native-async] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[string-setter-soft-async] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-constructor-native-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-constructor-soft-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-constructor-native-async] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-constructor-soft-async] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-setter-native-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-setter-soft-sync] PASSED [ 57%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-setter-native-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[bytes-setter-soft-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-constructor-native-sync] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-constructor-soft-sync] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-constructor-native-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-constructor-soft-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-setter-native-sync] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-setter-soft-sync] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-setter-native-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[list-setter-soft-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-constructor-native-sync] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-constructor-soft-sync] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-constructor-native-async] PASSED [ 58%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-constructor-soft-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-setter-native-sync] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-setter-soft-sync] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-setter-native-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[dict-setter-soft-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-constructor-native-sync] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-constructor-soft-sync] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-constructor-native-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-constructor-soft-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-setter-native-sync] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-setter-soft-sync] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-setter-native-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_rejects_invalid_value[complex-setter-soft-async] PASSED [ 59%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[none-constructor-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[none-constructor-async] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[none-setter-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[none-setter-async] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-int-constructor-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-int-constructor-async] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-int-setter-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-int-setter-async] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-float-constructor-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-float-constructor-async] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-float-setter-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[zero-float-setter-async] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[positive-float-constructor-sync] PASSED [ 60%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[positive-float-constructor-async] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[positive-float-setter-sync] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[positive-float-setter-async] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[large-int-constructor-sync] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[large-int-constructor-async] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[large-int-setter-sync] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_accepts_supported_value[large-int-setter-async] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_singleton_rejection_preserves_instance[negative] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_singleton_rejection_preserves_instance[nan] PASSED [ 61%] tests/test_lifetime_validation.py::test_lifetime_singleton_rejection_preserves_instance[infinity] PASSED [ 61%] tests/test_lock_expiry.py::test_expired_soft_lock_is_broken PASSED [ 61%] tests/test_lock_expiry.py::test_native_lifetime_warns_and_is_ignored[UnixFileLock] PASSED [ 61%] tests/test_lock_expiry.py::test_native_lifetime_warns_and_is_ignored[AsyncUnixFileLock] PASSED [ 61%] tests/test_lock_expiry.py::test_native_lifetime_setter_warns_and_is_ignored PASSED [ 62%] tests/test_lock_expiry.py::test_native_lifetime_does_not_break_live_holder PASSED [ 62%] tests/test_lock_expiry.py::test_soft_non_expired_lock_not_broken PASSED [ 62%] tests/test_lock_expiry.py::test_soft_lifetime_none_no_expiry PASSED [ 62%] tests/test_lock_expiry.py::test_expired_lock_race_rename_fails PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_property_getter_setter PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_default_none PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_negative_number[-1] PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_negative_number[-0.5] PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_negative_number[-1000000000.0] PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_non_numeric[5_0] PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_non_numeric[5_1] PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_non_numeric[bad_value2] PASSED [ 62%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_non_numeric[bad_value3] PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_non_numeric[(1+0j)] PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_bool[True] PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_setter_rejects_bool[False] PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_setter_accepts_zero[0] PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_setter_accepts_zero[0.0] PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_singleton_mismatch PASSED [ 63%] tests/test_lock_expiry.py::test_lifetime_singleton_match PASSED [ 63%] tests/test_lock_expiry.py::test_lock_file_missing_during_expiry_check PASSED [ 63%] tests/test_lock_expiry.py::test_expired_lock_becomes_acquirable PASSED [ 63%] tests/test_lock_expiry.py::test_async_expired_lock_is_broken PASSED [ 63%] tests/test_lock_expiry.py::test_async_soft_non_expired_lock_not_broken PASSED [ 63%] tests/test_lock_expiry.py::test_lock_mtime_updated_on_acquire PASSED [ 63%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[wrong-protocol] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[no-mode] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[no-host] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[empty-host] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[no-pid] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[pid-not-a-number] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[pid-below-range] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[pid-above-range] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[field-without-value] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[lease-without-token] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[lease-without-duration] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[lease-duration-zero] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[lease-duration-not-a-number] PASSED [ 64%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[lease-duration-nan] PASSED [ 65%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[lease-duration-inf] PASSED [ 65%] tests/test_marker_records.py::test_unreadable_record_names_no_owner[start-nan] PASSED [ 65%] tests/test_marker_records.py::test_encode_marker_omits_absent_lease_fields PASSED [ 65%] tests/test_marker_records.py::test_record_start_token_reads_back PASSED [ 65%] tests/test_marker_records.py::test_record_from_a_newer_filelock_still_names_its_owner PASSED [ 65%] tests/test_marker_records.py::test_record_with_an_unknown_mode_names_its_owner[strict] PASSED [ 65%] tests/test_marker_records.py::test_record_with_an_unknown_mode_names_its_owner[banana] PASSED [ 65%] tests/test_marker_records.py::test_held_lease_records_the_process_start_token PASSED [ 65%] tests/test_marker_records.py::test_marker_without_start_token_omits_it PASSED [ 65%] tests/test_marker_records.py::test_lease_treats_an_unreadable_record_as_contention PASSED [ 65%] tests/test_marker_records.py::test_lease_never_ages_out_an_unknown_contract PASSED [ 65%] tests/test_marker_records.py::test_lease_ages_out_a_malformed_record PASSED [ 65%] tests/test_marker_records.py::test_marker_pid_and_owner_are_none_without_marker PASSED [ 66%] tests/test_marker_records.py::test_marker_force_break_removes_the_marker PASSED [ 66%] tests/test_process_identity.py::test_host_name_matches_socket PASSED [ 66%] tests/test_process_identity.py::test_process_alive_true_for_self PASSED [ 66%] tests/test_process_identity.py::test_process_alive_false_for_dead PASSED [ 66%] tests/test_process_identity.py::test_process_alive_reads_permission_denied_as_alive PASSED [ 66%] tests/test_process_identity.py::test_process_alive_reraises_unexpected_errno PASSED [ 66%] tests/test_process_identity.py::test_process_start_token_is_int_for_self PASSED [ 66%] tests/test_process_identity.py::test_process_start_token_none_for_dead PASSED [ 66%] tests/test_process_identity.py::test_darwin_sysctl_probe_failure_reads_no_token SKIPPED [ 66%] tests/test_process_identity.py::test_owner_is_stale_foreign_host_never_reclaimed PASSED [ 66%] tests/test_process_identity.py::test_owner_is_stale_dead_process_reclaimed PASSED [ 66%] tests/test_process_identity.py::test_owner_is_stale_live_process_without_token_held PASSED [ 66%] tests/test_process_identity.py::test_owner_is_stale_live_process_matching_token_held PASSED [ 66%] tests/test_process_identity.py::test_owner_is_stale_live_process_mismatched_token_reclaimed PASSED [ 67%] tests/test_process_identity.py::test_owner_is_stale_live_process_unreadable_token_held PASSED [ 67%] tests/test_read_write.py::test_read_locks_are_shared PASSED [ 67%] tests/test_read_write.py::test_write_lock_excludes_other_write_locks PASSED [ 67%] tests/test_read_write.py::test_lock_excludes_opposite_mode[write-blocks-read] PASSED [ 67%] tests/test_read_write.py::test_lock_excludes_opposite_mode[read-blocks-write] PASSED [ 67%] tests/test_read_write.py::test_write_non_starvation PASSED [ 67%] tests/test_read_write.py::test_lock_mode_transition_prohibited[upgrade] PASSED [ 67%] tests/test_read_write.py::test_lock_mode_transition_prohibited[downgrade] PASSED [ 67%] tests/test_read_write.py::test_timeout_behavior PASSED [ 67%] tests/test_read_write.py::test_non_blocking_behavior PASSED [ 67%] tests/test_read_write.py::test_recursive_lock_acquisition[read] PASSED [ 67%] tests/test_read_write.py::test_recursive_lock_acquisition[write] PASSED [ 67%] tests/test_read_write.py::test_lock_release_on_process_termination[read] PASSED [ 68%] tests/test_read_write.py::test_lock_release_on_process_termination[write] PASSED [ 68%] tests/test_read_write.py::test_single_lock_reentrant[read] PASSED [ 68%] tests/test_read_write.py::test_single_lock_reentrant[write] PASSED [ 68%] tests/test_read_write.py::test_sequential_lock_modes[read-then-write] PASSED [ 68%] tests/test_read_write.py::test_sequential_lock_modes[write-then-read] PASSED [ 68%] tests/test_read_write.py::test_read_write_lock_keeps_constructed_database[relative-cwd] PASSED [ 68%] tests/test_read_write.py::test_read_write_lock_keeps_constructed_database[retargeted-symlink] PASSED [ 68%] tests/test_read_write.py::test_release_rollback_failure_reconciles_lock_state[transaction-open-read] PASSED [ 68%] tests/test_read_write.py::test_release_rollback_failure_reconciles_lock_state[transaction-open-write] PASSED [ 68%] tests/test_read_write.py::test_release_rollback_failure_reconciles_lock_state[transaction-ended-read] PASSED [ 68%] tests/test_read_write.py::test_release_rollback_failure_reconciles_lock_state[transaction-ended-write] PASSED [ 68%] tests/test_read_write.py::test_acquire_proxy_releases_the_read_write_lock_on_exit[read] PASSED [ 68%] tests/test_read_write.py::test_acquire_proxy_releases_the_read_write_lock_on_exit[write] PASSED [ 69%] tests/test_read_write.py::test_cleanup_reports_the_failure_that_escaped_before_a_start PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_closes_idle_connections PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_dropped_instances_leave_no_descriptors PASSED [ 69%] tests/test_read_write_fork.py::test_async_read_write_lock_allows_finalizer_reentry PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_subclass_has_independent_singletons PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_rejects_recursive_singleton_construction[sqlite-connect] PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_rejects_recursive_singleton_construction[ctypes-dlsym] SKIPPED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_escrow_ignores_shared_ctypes_signatures SKIPPED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_rejects_same_thread_operation_during_acquisition[acquire] PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_rejects_same_thread_operation_during_acquisition[release] PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_rejects_same_thread_operation_during_acquisition[close] PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_serializes_other_thread_operation_during_acquisition[release] PASSED [ 69%] tests/test_read_write_fork.py::test_read_write_lock_serializes_other_thread_operation_during_acquisition[close] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_survives_normal_fork_child_exit[read-fork] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_survives_normal_fork_child_exit[write-fork] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_survives_normal_fork_child_exit[write-fork-rejected-audit-hook] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_survives_normal_fork_child_exit[read-fork1] SKIPPED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_survives_normal_fork_child_exit[write-fork1] SKIPPED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_fork_waits_for_sqlite_operation PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_fork_at_sqlite_boundary_exits_child[execute] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_fork_at_sqlite_boundary_exits_child[rollback] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_fork_at_sqlite_boundary_exits_child[close] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_fork_at_sqlite_boundary_exits_child[connection-return] PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_idle_fork_handles_fresh_child_lock PASSED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_pypy_child_allows_without_known_sqlite_use SKIPPED [ 70%] tests/test_read_write_fork.py::test_read_write_lock_pypy_child_rejects_after_external_sqlite_use SKIPPED [ 71%] tests/test_read_write_fork.py::test_fork_script_terminates_timed_out_process_group PASSED [ 71%] tests/test_read_write_fork.py::test_read_write_lock_subclass_cache_resets_after_fork PASSED [ 71%] tests/test_read_write_fork.py::test_async_read_write_lock_fork_behavior[idle] PASSED [ 71%] tests/test_read_write_fork.py::test_async_read_write_lock_fork_behavior[held] PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_non_blocking PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_infinite_timeout PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_negative_timeout_raises PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_positive_timeout_subtracts_waited PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_waited_exceeds_timeout PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_zero_timeout PASSED [ 71%] tests/test_read_write_unit.py::test_timeout_for_sqlite_huge_timeout_clamped PASSED [ 71%] tests/test_read_write_unit.py::test_singleton_returns_same_instance PASSED [ 71%] tests/test_read_write_unit.py::test_singleton_different_files PASSED [ 72%] tests/test_read_write_unit.py::test_singleton_rejects_different_timeout PASSED [ 72%] tests/test_read_write_unit.py::test_singleton_rejects_different_blocking PASSED [ 72%] tests/test_read_write_unit.py::test_non_singleton_creates_new_instance PASSED [ 72%] tests/test_read_write_unit.py::test_init_sets_attributes PASSED [ 72%] tests/test_read_write_unit.py::test_acquire_release_read PASSED [ 72%] tests/test_read_write_unit.py::test_acquire_release_write PASSED [ 72%] tests/test_read_write_unit.py::test_reentrant_lock[read] PASSED [ 72%] tests/test_read_write_unit.py::test_reentrant_lock[write] PASSED [ 72%] tests/test_read_write_unit.py::test_upgrade_read_to_write_prohibited PASSED [ 72%] tests/test_read_write_unit.py::test_downgrade_write_to_read_prohibited PASSED [ 72%] tests/test_read_write_unit.py::test_release_unheld_lock_raises PASSED [ 72%] tests/test_read_write_unit.py::test_release_force_unheld_is_noop PASSED [ 72%] tests/test_read_write_unit.py::test_release_force_resets_level PASSED [ 73%] tests/test_read_write_unit.py::test_release_force_closes_lingering_connection_at_zero_level PASSED [ 73%] tests/test_read_write_unit.py::test_lock_context_manager[read] PASSED [ 73%] tests/test_read_write_unit.py::test_lock_context_manager[write] PASSED [ 73%] tests/test_read_write_unit.py::test_lock_uses_instance_defaults[read] PASSED [ 73%] tests/test_read_write_unit.py::test_lock_uses_instance_defaults[write] PASSED [ 73%] tests/test_read_write_unit.py::test_read_lock_custom_timeout PASSED [ 73%] tests/test_read_write_unit.py::test_write_lock_custom_blocking PASSED [ 73%] tests/test_read_write_unit.py::test_read_lock_context_manager_overrides_defaults PASSED [ 73%] tests/test_read_write_unit.py::test_close_releases_lock_and_closes_connection PASSED [ 73%] tests/test_read_write_unit.py::test_close_on_unheld_lock_closes_connection PASSED [ 73%] tests/test_read_write_unit.py::test_write_lock_reentrant_from_different_thread_prohibited PASSED [ 73%] tests/test_read_write_unit.py::test_sequential_mode_switch[read-then-write] PASSED [ 73%] tests/test_read_write_unit.py::test_sequential_mode_switch[write-then-read] PASSED [ 74%] tests/test_read_write_unit.py::test_non_blocking_read_fails_when_write_held PASSED [ 74%] tests/test_read_write_unit.py::test_non_blocking_write_fails_when_read_held PASSED [ 74%] tests/test_read_write_unit.py::test_timeout_read_expires PASSED [ 74%] tests/test_read_write_unit.py::test_nested_read_context_managers PASSED [ 74%] tests/test_read_write_unit.py::test_nested_write_context_managers PASSED [ 74%] tests/test_read_write_unit.py::test_non_blocking_transaction_lock_timeout[read] PASSED [ 74%] tests/test_read_write_unit.py::test_non_blocking_transaction_lock_timeout[write] PASSED [ 74%] tests/test_read_write_unit.py::test_non_blocking_with_timeout_no_value_error[read] PASSED [ 74%] tests/test_read_write_unit.py::test_non_blocking_with_timeout_no_value_error[write] PASSED [ 74%] tests/test_read_write_unit.py::test_finite_timeout_transaction_lock[read] PASSED [ 74%] tests/test_read_write_unit.py::test_finite_timeout_transaction_lock[write] PASSED [ 74%] tests/test_read_write_unit.py::test_double_check_read_reentrance PASSED [ 74%] tests/test_read_write_unit.py::test_double_check_write_reentrance PASSED [ 75%] tests/test_read_write_unit.py::test_double_check_wrong_mode_raises[read-blocked-by-write] PASSED [ 75%] tests/test_read_write_unit.py::test_double_check_wrong_mode_raises[write-blocked-by-read] PASSED [ 75%] tests/test_read_write_unit.py::test_write_lock_context_manager_overrides_defaults PASSED [ 75%] tests/test_read_write_unit.py::test_busy_timeout_recomputed_after_journal_mode[read] PASSED [ 75%] tests/test_read_write_unit.py::test_busy_timeout_recomputed_after_journal_mode[write] PASSED [ 75%] tests/test_read_write_unit.py::test_acquire_converts_connect_lock_error_to_timeout PASSED [ 75%] tests/test_read_write_unit.py::test_get_lock_returns_the_singleton PASSED [ 75%] tests/test_read_write_unit.py::test_note_sqlite_use_records_use_on_pypy PASSED [ 75%] tests/test_read_write_unit.py::test_poison_after_fork_records_path_and_identity[no-identity] PASSED [ 75%] tests/test_read_write_unit.py::test_poison_after_fork_records_path_and_identity[with-identity] PASSED [ 75%] tests/test_read_write_unit.py::test_track_sqlite_use_forwards_connect_event PASSED [ 75%] tests/test_read_write_unit.py::test_track_sqlite_use_ignores_other_events PASSED [ 75%] tests/test_read_write_unit.py::test_meta_resets_class_state_after_pid_change PASSED [ 76%] tests/test_read_write_unit.py::test_meta_raises_when_pid_changes_during_singleton_construction PASSED [ 76%] tests/test_read_write_unit.py::test_finish_connection_chains_rollback_then_close_error PASSED [ 76%] tests/test_read_write_unit.py::test_finish_connection_skips_rollback_when_already_released PASSED [ 76%] tests/test_read_write_unit.py::test_dropping_a_lock_closes_its_connection PASSED [ 76%] tests/test_read_write_unit.py::test_connection_close_from_another_process_leaves_it_open PASSED [ 76%] tests/test_soft_lease.py::test_lease_publishes_its_claim PASSED [ 76%] tests/test_soft_lease.py::test_lease_token_names_the_claim_only_while_held PASSED [ 76%] tests/test_soft_lease.py::test_lease_heartbeat_keeps_a_live_claim_past_its_duration PASSED [ 76%] tests/test_soft_lease.py::test_lease_peer_takes_an_expired_claim PASSED [ 76%] tests/test_soft_lease.py::test_lease_self_heals_a_malformed_marker PASSED [ 76%] tests/test_soft_lease.py::test_lease_reclaims_a_dead_same_host_holder PASSED [ 76%] tests/test_soft_lease.py::test_lease_reports_compromise_when_the_marker_vanishes PASSED [ 76%] tests/test_soft_lease.py::test_lease_reports_compromise_when_a_peer_takes_over PASSED [ 77%] tests/test_soft_lease.py::test_lease_reports_compromise_when_a_refresh_fails PASSED [ 77%] tests/test_soft_lease.py::test_lease_tolerates_a_transient_refresh_error[touch] PASSED [ 77%] tests/test_soft_lease.py::test_lease_tolerates_a_transient_refresh_error[lstat] PASSED [ 77%] tests/test_soft_lease.py::test_lease_reports_one_compromise_per_claim PASSED [ 77%] tests/test_soft_lease.py::test_lease_records_the_compromise_without_a_callback PASSED [ 77%] tests/test_soft_lease.py::test_lease_holds_an_uncompromised_claim PASSED [ 77%] tests/test_soft_lease.py::test_lease_can_be_released_from_the_compromise_callback PASSED [ 77%] tests/test_soft_lease.py::test_lease_release_from_the_callback_needs_a_shared_context PASSED [ 77%] tests/test_soft_lease.py::test_lease_records_a_compromise_without_a_callback_deterministically PASSED [ 77%] tests/test_soft_lease.py::test_lease_release_from_the_callback_does_not_join_itself PASSED [ 77%] tests/test_soft_lease.py::test_lease_keeps_its_claim_when_another_thread_fails_to_acquire PASSED [ 77%] tests/test_soft_lease.py::test_lease_hands_back_the_claim_when_the_heartbeat_cannot_start PASSED [ 77%] tests/test_soft_lease.py::test_lease_release_stops_a_heartbeat_recorded_before_its_thread_starts PASSED [ 78%] tests/test_soft_lease.py::test_lease_rejects_a_peer_configured_with_another_duration PASSED [ 78%] tests/test_soft_lease.py::test_lease_does_not_expire_a_strict_holder PASSED [ 78%] tests/test_soft_lease.py::test_lease_rejects_incoherent_settings[zero-duration] PASSED [ 78%] tests/test_soft_lease.py::test_lease_rejects_incoherent_settings[negative-duration] PASSED [ 78%] tests/test_soft_lease.py::test_lease_rejects_incoherent_settings[zero-heartbeat] PASSED [ 78%] tests/test_soft_lease.py::test_lease_rejects_incoherent_settings[heartbeat-equals-duration] PASSED [ 78%] tests/test_soft_lease.py::test_lease_rejects_incoherent_settings[heartbeat-over-duration] PASSED [ 78%] tests/test_soft_lease.py::test_lease_defaults_the_heartbeat_below_the_duration PASSED [ 78%] tests/test_soft_lease.py::test_lease_drops_lifetime_with_a_warning PASSED [ 78%] tests/test_soft_lease.py::test_lease_supersedes_a_live_holder_once_its_claim_ages_out PASSED [ 78%] tests/test_soft_lease.py::test_lease_reports_marker_missing_when_a_refresh_cannot_stat_it PASSED [ 78%] tests/test_soft_lease.py::test_lease_reports_owner_changed_when_the_marker_identity_shifts PASSED [ 78%] tests/test_soft_lease.py::test_native_lock_rejects_a_lease_duration PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_warning_identifies_caller[constructor-sync] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_warning_identifies_caller[constructor-async] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_warning_identifies_caller[setter-sync] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_warning_identifies_caller[setter-async] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_none_does_not_warn[constructor-sync] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_none_does_not_warn[constructor-async] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_none_does_not_warn[setter-sync] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_none_does_not_warn[setter-async] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_invalid_soft_lifetime_does_not_warn[constructor-sync] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_invalid_soft_lifetime_does_not_warn[constructor-async] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_invalid_soft_lifetime_does_not_warn[setter-sync] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_invalid_soft_lifetime_does_not_warn[setter-async] PASSED [ 79%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[constructor-sync0] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[constructor-async0] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[constructor-sync1] SKIPPED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[constructor-async1] SKIPPED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[setter-sync0] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[setter-async0] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[setter-sync1] SKIPPED [ 80%] tests/test_soft_lifetime_warning.py::test_native_lifetime_warning_identifies_caller[setter-async1] SKIPPED [ 80%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_singleton_match_warns_for_each_configuration[sync] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_singleton_match_warns_for_each_configuration[async] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_singleton_mismatch_warns_before_rejection[sync] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_singleton_mismatch_warns_before_rejection[async] PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_soft_lifetime_polling_does_not_repeat_warning PASSED [ 80%] tests/test_soft_lifetime_warning.py::test_async_soft_lifetime_polling_does_not_repeat_warning PASSED [ 81%] tests/test_soft_stale.py::test_lock_writes_pid_and_hostname PASSED [ 81%] tests/test_soft_stale.py::test_stale_lock_broken_when_process_dead[two_line] PASSED [ 81%] tests/test_soft_stale.py::test_stale_lock_broken_when_process_dead[three_line] PASSED [ 81%] tests/test_soft_stale.py::test_stale_lock_not_broken_when_process_alive PASSED [ 81%] tests/test_soft_stale.py::test_stale_lock_not_broken_different_hostname PASSED [ 81%] tests/test_soft_stale.py::test_recycled_pid_marker_self_heals PASSED [ 81%] tests/test_soft_stale.py::test_live_process_with_matching_start_token_retained PASSED [ 81%] tests/test_soft_stale.py::test_live_process_without_start_token_falls_back_to_pid PASSED [ 81%] tests/test_soft_stale.py::test_stale_lock_not_broken_on_kill_error[eperm] PASSED [ 81%] tests/test_soft_stale.py::test_stale_lock_not_broken_on_kill_error[unexpected_device] PASSED [ 81%] tests/test_soft_stale.py::test_unparseable_lock_evicted_when_old[malformed] PASSED [ 81%] tests/test_soft_stale.py::test_unparseable_lock_evicted_when_old[empty] PASSED [ 81%] tests/test_soft_stale.py::test_unparseable_lock_evicted_when_old[oversized] PASSED [ 82%] tests/test_soft_stale.py::test_unparseable_lock_evicted_when_old[two_line_bad_pid] PASSED [ 82%] tests/test_soft_stale.py::test_unparseable_lock_evicted_when_old[three_line_bad_start_token] PASSED [ 82%] tests/test_soft_stale.py::test_unparseable_lock_not_evicted_when_fresh[malformed] PASSED [ 82%] tests/test_soft_stale.py::test_unparseable_lock_not_evicted_when_fresh[empty] PASSED [ 82%] tests/test_soft_stale.py::test_unparseable_lock_not_evicted_when_fresh[two_line_bad_pid] PASSED [ 82%] tests/test_soft_stale.py::test_out_of_range_pid_self_heals_when_old[zero] PASSED [ 82%] tests/test_soft_stale.py::test_out_of_range_pid_self_heals_when_old[negative] PASSED [ 82%] tests/test_soft_stale.py::test_out_of_range_pid_self_heals_when_old[oversized] PASSED [ 82%] tests/test_soft_stale.py::test_out_of_range_pid_not_evicted_when_fresh PASSED [ 82%] tests/test_soft_stale.py::test_stale_lock_rename_race PASSED [ 82%] tests/test_soft_stale.py::test_symlinked_lock_file_is_not_followed PASSED [ 82%] tests/test_soft_stale.py::test_fifo_lock_file_does_not_block PASSED [ 82%] tests/test_soft_stale.py::test_fifo_lock_file_with_attached_writer_self_heals PASSED [ 83%] tests/test_soft_stale.py::test_socket_lock_file_self_heals PASSED [ 83%] tests/test_soft_stale.py::test_stale_detection_errors_suppressed PASSED [ 83%] tests/test_soft_stale.py::test_windows_stale_lock_uses_captured_process_error[dead] SKIPPED [ 83%] tests/test_soft_stale.py::test_windows_stale_lock_uses_captured_process_error[access-denied] SKIPPED [ 83%] tests/test_soft_stale.py::test_windows_stale_lock_broken_when_pid_recycled SKIPPED [ 83%] tests/test_soft_stale.py::test_windows_live_process_marker_retained SKIPPED [ 83%] tests/test_soft_stale.py::test_windows_live_process_marker_without_start_token_retained SKIPPED [ 83%] tests/test_soft_stale.py::test_windows_process_probe_closes_handles SKIPPED [ 83%] tests/test_soft_stale.py::test_pid[no_file] PASSED [ 83%] tests/test_soft_stale.py::test_pid[malformed] PASSED [ 83%] tests/test_soft_stale.py::test_pid[non_utf8] PASSED [ 83%] tests/test_soft_stale.py::test_pid[oversized] PASSED [ 83%] tests/test_soft_stale.py::test_pid[single_line] PASSED [ 84%] tests/test_soft_stale.py::test_pid[out_of_range_pid] PASSED [ 84%] tests/test_soft_stale.py::test_pid[valid] PASSED [ 84%] tests/test_soft_stale.py::test_pid_while_locked PASSED [ 84%] tests/test_soft_stale.py::test_is_lock_held_by_us[no_file] PASSED [ 84%] tests/test_soft_stale.py::test_is_lock_held_by_us[different_pid] PASSED [ 84%] tests/test_soft_stale.py::test_is_lock_held_by_us[same_pid] PASSED [ 84%] tests/test_soft_stale.py::test_is_lock_held_by_us[same_pid_different_host] PASSED [ 84%] tests/test_soft_stale.py::test_break_lock[exists] PASSED [ 84%] tests/test_soft_stale.py::test_break_lock[missing] PASSED [ 84%] tests/test_soft_stale.py::test_write_failure_rolls_back_acquire PASSED [ 84%] tests/test_soft_stale.py::test_short_writes_still_write_the_whole_record PASSED [ 84%] tests/test_soft_stale.py::test_zero_write_rolls_back_acquire PASSED [ 84%] tests/test_soft_stale.py::test_failed_acquire_cleanup_spares_a_replacement PASSED [ 85%] tests/test_soft_stale.py::test_release_without_identity_skips_unlink PASSED [ 85%] tests/test_soft_stale.py::test_normal_release_removes_own_marker PASSED [ 85%] tests/test_soft_stale.py::test_del_suppresses_a_release_error PASSED [ 85%] tests/test_soft_stale.py::test_stale_release_spares_a_successor PASSED [ 85%] tests/test_soft_stale.py::test_windows_release_spares_a_replacement SKIPPED [ 85%] tests/test_soft_stale.py::test_close_error_policy_cleans_marker[default] PASSED [ 85%] tests/test_soft_stale.py::test_close_error_policy_cleans_marker[raise] PASSED [ 85%] tests/test_soft_stale.py::test_close_error_policy_cleans_marker[suppress] PASSED [ 85%] tests/test_soft_stale.py::test_close_error_suppression_releases_once[nested] PASSED [ 85%] tests/test_soft_stale.py::test_close_error_suppression_releases_once[forced] PASSED [ 85%] tests/test_soft_stale.py::test_context_surfaces_close_error_after_cleanup[direct] PASSED [ 85%] tests/test_soft_stale.py::test_context_surfaces_close_error_after_cleanup[proxy] PASSED [ 85%] tests/test_soft_stale.py::test_second_release_does_not_close_reused_descriptor PASSED [ 86%] tests/test_soft_stale.py::test_close_error_spares_successor_marker PASSED [ 86%] tests/test_soft_stale.py::test_close_and_marker_cleanup_failures_are_grouped PASSED [ 86%] tests/test_soft_stale.py::test_close_after_commit_ignores_closes_from_other_threads PASSED [ 86%] tests/test_soft_stale.py::test_soft_windows_unlink_gives_up_after_every_attempt_is_denied PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_acquire_publishes_owner_claim PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_is_reentrant PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_contender_times_out PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_waits_for_legacy_holder PASSED [ 86%] tests/test_strict_soft.py::test_legacy_client_cannot_cross_permanent_sentinel PASSED [ 86%] tests/test_strict_soft.py::test_legacy_client_never_reclaims_permanent_sentinel PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_rejects_mutable_descriptor_hook PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_preserves_sentinel_when_requested PASSED [ 86%] tests/test_strict_soft.py::test_strict_soft_constructor_rejects_lifetime[sync] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_constructor_rejects_lifetime[async] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_setter_rejects_lifetime[sync] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_setter_rejects_lifetime[async] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_rejects_non_basename[empty] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_rejects_non_basename[private] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_rejects_non_basename[parent] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_rejects_non_basename[slash] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_rejects_non_basename[backslash] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_rejects_non_basename[null] PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_names_guarantee_loss PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_requires_exact_case PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_force_break_accepts_newer_version_claim PASSED [ 87%] tests/test_strict_soft.py::test_strict_soft_invalid_claim_fails_closed[old-version] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_invalid_claim_fails_closed[unknown-name] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_invalid_claim_fails_closed[invalid-token] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_invalid_claim_fails_closed[malformed-record] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_orphan_claim_blocks_without_reclamation[intent] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_orphan_claim_blocks_without_reclamation[held] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_rejects_non_directory_coordination_path PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_symlink_claim_fails_closed PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_hard_link_failure_names_filesystem_contract[filesystem] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_hard_link_failure_names_filesystem_contract[kernel] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_hard_link_failure_names_filesystem_contract[runtime] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_hard_link_unsupported_errnos[enotsup] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_hard_link_unsupported_errnos[eopnotsupp] PASSED [ 88%] tests/test_strict_soft.py::test_strict_soft_hard_link_unsupported_errnos[neither] PASSED [ 89%] tests/test_strict_soft.py::test_strict_soft_write_failure_leaves_no_public_claim PASSED [ 89%] tests/test_strict_soft.py::test_strict_soft_sentinel_inspection_failure_closes_descriptor PASSED [ 89%] tests/test_strict_soft.py::test_strict_soft_publication_and_close_failures_preserve_both_errors PASSED [ 89%] tests/test_strict_soft.py::test_async_strict_soft_matches_claim_protocol PASSED [ 89%] tests/test_strict_soft.py::test_strict_soft_release_allows_reacquire SKIPPED [ 89%] tests/test_strict_soft.py::test_strict_soft_reclaims_an_aged_sentinel_private_record PASSED [ 89%] tests/test_strict_soft_compat.py::test_old_soft_holder_blocks_strict_client SKIPPED [ 89%] tests/test_strict_soft_compat.py::test_strict_activation_rejects_old_soft_client SKIPPED [ 89%] tests/test_strict_soft_failures.py::test_strict_soft_protocol_error_pickles PASSED [ 89%] tests/test_strict_soft_failures.py::test_strict_soft_claims_empty_before_first_acquire PASSED [ 89%] tests/test_strict_soft_failures.py::test_strict_soft_intent_token_collision_does_not_claim_lock PASSED [ 89%] tests/test_strict_soft_failures.py::test_strict_soft_held_publication_failure_rolls_back_intent PASSED [ 89%] tests/test_strict_soft_failures.py::test_strict_soft_held_collision_does_not_delete_foreign_claim PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_force_break_during_doorway_backs_off[intent] PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_force_break_during_doorway_backs_off[held] PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_force_break_held_during_doorway_backs_off PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_reaper_removes_private_before_publication PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_reaper_removes_private_after_publication PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_reaper_replacement_only_aborts_publisher PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_private_close_failure_leaves_public_claim PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_link_and_directory_close_failures_preserve_both PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_held_directory_close_failure_leaves_both_claims PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_reaper_leaves_non_regular_private_node[directory] PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_reaper_leaves_non_regular_private_node[symlink] PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_reaper_does_not_retry_sharing_error PASSED [ 90%] tests/test_strict_soft_failures.py::test_strict_soft_release_error_keeps_remaining_claim PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_release_commits_before_directory_close_error PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_release_preserves_unlink_and_directory_close_errors PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_doorway_preserves_every_claim_cleanup_error PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_sentinel_publication_race[strict-winner] PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_sentinel_publication_race[legacy-winner] PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_sentinel_uses_unique_private_names PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_existing_non_regular_sentinel_blocks PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_sentinel_race_with_non_regular_winner_blocks PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_sentinel_remains_after_private_cleanup_failure PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_claim_directory_read_error_fails_closed PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_structurally_invalid_record_fails_closed[zero-pid] PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_structurally_invalid_record_fails_closed[wrong-token] PASSED [ 91%] tests/test_strict_soft_failures.py::test_strict_soft_structurally_invalid_record_fails_closed[non-integer-start] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_structurally_invalid_record_fails_closed[negative-start] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_structurally_invalid_record_fails_closed[noncanonical-start] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_accepts_maximum_pid PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_rejects_noncanonical_owner_record[leading-zero-pid] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_rejects_noncanonical_owner_record[pid-above-signed-int] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_rejects_noncanonical_owner_record[uppercase-hostname-hex] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_rejects_noncanonical_owner_record[spaced-hostname] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_rejects_noncanonical_owner_record[null-hostname] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_rejects_noncanonical_owner_record[escape-hostname] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_invalid_record_node_fails_closed[non-regular] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_invalid_record_node_fails_closed[oversized] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_claim_replaced_while_opening_fails_closed[different-file] PASSED [ 92%] tests/test_strict_soft_failures.py::test_strict_soft_claim_replaced_while_opening_fails_closed[directory] PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_stale_claim_read_is_skipped PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_stale_claim_read_revalidates_to_gone PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_io_error_claim_read_fails_closed PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_directory_inspection_error_fails_closed PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_link_follow_probe_reports_unhonored[oserror] PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_link_follow_probe_reports_unhonored[notimplemented] PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_link_follow_probe_reports_unhonored[valueerror] PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_sentinel_inspection_and_close_failure_group PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_publication_directory_close_failure[sentinel] PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_publication_directory_close_failure[intent] PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_force_break_directory_close_failure PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_release_sentinel_close_failure PASSED [ 93%] tests/test_strict_soft_failures.py::test_strict_soft_discard_sentinel_close_failure PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_publication_record_replaced_aborts[sentinel] PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_publication_record_replaced_aborts[intent] PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_publication_record_reclaimed_aborts PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_private_inspection_failure_unlinks_vanished_record PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_record_finalization_close_and_unlink_failures_group PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_release_claim_unlink_failures_group PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_doorway_claim_unlink_failure_commits_owned PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_permission_denied_claim_read_fails_closed PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_ignores_malformed_private_record_name PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_record_read_and_close_failure_group PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_acquires_without_dir_fd PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_held_link_and_directory_close_failure PASSED [ 94%] tests/test_strict_soft_failures.py::test_strict_soft_opened_record_non_regular_fails_closed PASSED [ 95%] tests/test_strict_soft_paths.py::test_strict_soft_relative_release_uses_acquisition_directory PASSED [ 95%] tests/test_strict_soft_paths.py::test_async_strict_soft_relative_release_uses_acquisition_directory PASSED [ 95%] tests/test_strict_soft_paths.py::test_strict_soft_waiter_keeps_acquisition_directory PASSED [ 95%] tests/test_strict_soft_paths.py::test_async_strict_soft_waiter_keeps_acquisition_directory PASSED [ 95%] tests/test_strict_soft_paths.py::test_strict_soft_release_uses_original_symlink_parent PASSED [ 95%] tests/test_strict_soft_paths.py::test_strict_soft_final_symlink_fails_closed_without_touching_target PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_lower_intent_delayed_until_higher_selects PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_lower_intent_delayed_until_higher_enters PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_private_partial_record_is_not_a_claim PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_shared_instance_waits_for_failed_doorway PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_shared_instance_transition_respects_admission[zero-timeout] PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_shared_instance_transition_respects_admission[nonblocking] PASSED [ 95%] tests/test_strict_soft_races.py::test_strict_soft_shared_instance_transition_respects_admission[cancel-check] PASSED [ 96%] tests/test_strict_soft_recovery.py::test_strict_soft_recovers_every_claim_for_crashed_token PASSED [ 96%] tests/test_strict_soft_recovery.py::test_strict_soft_reclaims_crash_before_private_publication PASSED [ 96%] tests/test_strict_soft_recovery.py::test_strict_soft_reclaims_crash_after_private_publication PASSED [ 96%] tests/test_strict_soft_stress.py::test_strict_soft_eight_process_contention_has_no_overlap PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[timeout] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[mode] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[thread-local] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[blocking] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[singleton] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[poll-interval] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[lifetime] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[context-error-policy] PASSED [ 96%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[close-error-policy] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[fallback-to-soft] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[preserve-lock-file] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_non_default_option[on-acquired] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_sync_subclass_rejects_unknown_option PASSED [ 97%] tests/test_subclass_options.py::test_narrow_async_subclass_rejects_non_default_option[thread-local] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_async_subclass_rejects_non_default_option[loop] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_async_subclass_rejects_non_default_option[run-in-executor] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_async_subclass_rejects_non_default_option[executor] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_subclass_accepts_explicit_base_defaults[sync] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_subclass_accepts_explicit_base_defaults[async] PASSED [ 97%] tests/test_subclass_options.py::test_narrow_subclass_accepts_named_option PASSED [ 97%] tests/test_subclass_options.py::test_sync_subclass_forwards_kwargs PASSED [ 97%] tests/test_subclass_options.py::test_async_subclass_forwards_kwargs PASSED [ 98%] tests/test_subclass_options.py::test_forwarding_subclass_singleton_rejects_changed_option[hook] PASSED [ 98%] tests/test_subclass_options.py::test_forwarding_subclass_singleton_rejects_changed_option[policy] PASSED [ 98%] tests/test_subclass_options.py::test_constructor_model_does_not_retain_dynamic_subclass PASSED [ 98%] tests/test_unix_fallback.py::test_import_without_fcntl_uses_soft_aliases_and_descriptor_errors PASSED [ 98%] tests/test_unix_fallback.py::test_fallback_emits_warning PASSED [ 98%] tests/test_unix_fallback.py::test_fallback_swaps_to_soft PASSED [ 98%] tests/test_unix_fallback.py::test_fallback_writes_pid_and_hostname PASSED [ 98%] tests/test_unix_fallback.py::test_fallback_release_unlinks_file PASSED [ 98%] tests/test_unix_fallback.py::test_fallback_subsequent_acquire_skips_flock PASSED [ 98%] tests/test_unix_fallback.py::test_fallback_reentrant_locking PASSED [ 98%] tests/test_unix_fallback.py::test_release_suppresses_eio_on_close PASSED [ 98%] tests/test_unix_fallback.py::test_acquire_flock_error_clears_pending_descriptor PASSED [ 98%] tests/test_util.py::test_break_lock_file_unlinks_unchanged_file PASSED [ 99%] tests/test_util.py::test_break_lock_file_preserves_file_when_mtime_advanced PASSED [ 99%] tests/test_util.py::test_break_lock_file_preserves_file_when_inode_changed PASSED [ 99%] tests/test_util.py::test_break_lock_file_aborts_if_break_path_vanishes PASSED [ 99%] tests/test_util.py::test_break_lock_file_missing_source_raises PASSED [ 99%] tests/test_util.py::test_break_lock_file_break_path_not_targetable_by_a_peer PASSED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_does_not_follow_symlink_to_dir PASSED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_does_not_follow_symlink_to_readonly SKIPPED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_still_rejects_real_directory PASSED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_still_rejects_readonly_file SKIPPED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_rejects_readonly_file_any_mtime[mtime-zero] PASSED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_rejects_readonly_file_any_mtime[mtime-future] PASSED [ 99%] tests/test_util.py::test_raise_on_not_writable_file_rejects_directory_with_mtime_zero PASSED [ 99%] tests/test_virtualenv.py::test_virtualenv PASSED [100%] ========== 1241 passed, 62 skipped, 1 deselected in 132.29s (0:02:12) ========== + [[ -n true ]] + unset PYTHONPATH [Warning] ypkg-build should be run via fakeroot, not as real root user [Info] Building python-filelock-3.32.2 [Build] Building native package [Source] Extracting source [Build] Running step: build [Build] build successful (0:00:00.363681) [Build] Running step: install [Build] install successful (0:00:00.182542) [Build] Running step: check [Build] check successful (0:02:12.793597) [Examine] Examining packages [Package] Creating /home/build/work/python-filelock-3.32.2-21-1-x86_64.eopkg ... [Package] python-filelock-3.32.2-21-1-x86_64.eopkg took 0:00:00.279990 to emit [Package] Building complete time=2026-08-08T06:24:03.662+02:00 level=DEBUG msg="Collecting files" len=3 time=2026-08-08T06:24:03.662+02:00 level=DEBUG msg="Collecting build artifact" path=python-filelock-3.32.2-21-1-x86_64.eopkg time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Setting file ownership for current user" uid=1001 gid=1001 path=python-filelock-3.32.2-21-1-x86_64.eopkg time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Collecting build artifact" path=python-filelock-3.32.2-21.tram time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Setting file ownership for current user" uid=1001 gid=1001 path=python-filelock-3.32.2-21.tram time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Collecting build artifact" path=pspec_x86_64.xml time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Setting file ownership for current user" uid=1001 gid=1001 path=pspec_x86_64.xml time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Acquiring global lock" time=2026-08-08T06:24:03.663+02:00 level=DEBUG msg="Cleaning up" time=2026-08-08T06:24:03.668+02:00 level=DEBUG msg="Killing child process in chroot" pid=3485148 time=2026-08-08T06:24:03.757+02:00 level=DEBUG msg="Requesting unmount of all remaining mountpoints" time=2026-08-08T06:24:03.807+02:00 level=INFO msg="Building succeeded"