Mock Version: 5.5 Mock Version: 5.5 Mock Version: 5.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/f39-build-50386679-6029802/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'dc4812a093d2420f843fdc3e97e3ee13', '-D', '/var/lib/mock/f39-build-50386679-6029802/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1689811200 Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc39.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/f39-build-50386679-6029802/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '4b7496d4648c4cefa88a4ebc64c6359b', '-D', '/var/lib/mock/f39-build-50386679-6029802/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1689811200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.cQbAgw + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf mu-1.2.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/mu-1.2.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd mu-1.2.0 + rm -rf /builddir/build/BUILD/mu-1.2.0-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/mu-1.2.0-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/system-site-packages.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/2281.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/2448.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + sed -i -e 's/PyQt5==5.13.2"/PyQt5>=5.13.2",/' -e 's/QScintilla==2.11.3"/QScintilla>=2.11.3",/' -e 's/PyQtChart==5.13.1"/PyQtChart >= 5.13.1, < 6",/' -e /platform_machine/d -e 's/jupyter-client>=4.1,<6.2/jupyter-client>=4.1/' -e 's/ipykernel>=4.1,<6/ipykernel>=4.1/' -e 's/qtconsole==4.7.7/qtconsole >= 4.7.7, < 6/' -e 's/pyserial~=3.5/pyserial>=3.4/' -e 's/click<=8.0.4/click/' -e 's/black>=19.10b0,<22.1.0/black>=19.10b0/' -e 's/platformdirs>=2.0.0,<3.0.0/platformdirs>=2.0.0,<4.0.0/' -e 's/python_requires=">=3.5,<3.9"/python_requires=">=3.5"/' setup.py + sed -i 's/from mu.contrib import /import /' mu/modes/microbit.py tests/modes/test_microbit.py mu/modes/base.py + sed -i s/mu.contrib.esptool/esptool/ mu/interface/dialogs.py + rm -rf mu/contrib + sed -i '/"mu.contrib",/d' setup.py + sed -i s/mu.contrib.// tests/modes/test_microbit.py + sed -i /random-order/d pytest.ini + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.9hlk3E + umask 022 + cd /builddir/build/BUILD + cd mu-1.2.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir --output /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires -r Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement not satisfied: wheel Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc39.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/f39-build-50386679-6029802/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'cfbb6ab4ca834b6ca7bb0360c23f27dd', '-D', '/var/lib/mock/f39-build-50386679-6029802/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1689811200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.VAh2YB + umask 022 + cd /builddir/build/BUILD + cd mu-1.2.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir --output /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires -r Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.40.0) running egg_info creating mu_editor.egg-info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt writing manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.40.0) running dist_info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/mu-1.2.0/mu_editor-1.2.0.dist-info' Handling PyQt5 (>=5.13.2) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: PyQt5 (>=5.13.2) (installed: PyQt5 5.15.10) Handling QScintilla (>=2.11.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: QScintilla (>=2.11.3) (installed: QScintilla 2.13.4) Handling PyQtChart (<6,>=5.13.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: PyQtChart (<6,>=5.13.1) Handling jupyter-client (>=4.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: jupyter-client (>=4.1) Handling ipykernel (>=4.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: ipykernel (>=4.1) Handling ipython-genutils (>=0.2.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: ipython-genutils (>=0.2.0) Handling qtconsole (<6,>=4.7.7) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: qtconsole (<6,>=4.7.7) Handling adafruit-board-toolkit (~=1.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: adafruit-board-toolkit (~=1.1) Handling pyserial (>=3.4) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: pyserial (>=3.4) (installed: pyserial 3.5) Handling nudatus (>=0.0.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: nudatus (>=0.0.3) Handling flake8 (>=3.8.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: flake8 (>=3.8.3) Handling click from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: click Handling platformdirs (<4.0.0,>=2.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: platformdirs (<4.0.0,>=2.0.0) Handling semver (>=2.8.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: semver (>=2.8.0) Handling virtualenv (>=20.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: virtualenv (>=20.0.0) Handling wheel from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: wheel (installed: wheel 0.40.0) Handling requests (>=2.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: requests (>=2.0.0) Handling pgzero (>=1.2.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: pgzero (>=1.2.1) Handling flask (==2.*) from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: flask (==2.*) Handling black (>=19.10b0) ; python_version > "3.5" from hook generated metadata: Requires-Dist (mu-editor) Requirement not satisfied: black (>=19.10b0) ; python_version > "3.5" Handling pywin32 ; sys_platform == "win32" from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pywin32 ; sys_platform == "win32" Handling pytest-timeout ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'all' Handling beautifulsoup4 ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: beautifulsoup4 ; extra == 'all' Handling sphinx ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'all' Handling pytest-cov ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'all' Handling pytest (>=4.6) ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'all' Handling pytest-random-order (>=1.0.0) ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'all' Handling requests ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: requests ; extra == 'all' Handling twine ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'all' Handling coverage ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'all' Handling wheel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'all' Handling scrapy ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: scrapy ; extra == 'all' Handling pytest-faulthandler ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'all' Handling babel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'all' Handling pytest (>=4.6) ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'dev' Handling pytest-cov ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'dev' Handling pytest-random-order (>=1.0.0) ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'dev' Handling pytest-faulthandler ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'dev' Handling pytest-timeout ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'dev' Handling coverage ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'dev' Handling sphinx ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'dev' Handling wheel ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'dev' Handling twine ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'dev' Handling babel ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'dev' Handling sphinx ; extra == 'docs' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'docs' Handling babel ; extra == 'i18n' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'i18n' Handling wheel ; extra == 'package' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'package' Handling twine ; extra == 'package' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'package' Handling pytest (>=4.6) ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'tests' Handling pytest-cov ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'tests' Handling pytest-random-order (>=1.0.0) ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'tests' Handling pytest-faulthandler ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'tests' Handling pytest-timeout ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'tests' Handling coverage ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'tests' Handling scrapy ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: scrapy ; extra == 'utils' Handling beautifulsoup4 ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: beautifulsoup4 ; extra == 'utils' Handling requests ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: requests ; extra == 'utils' + cat /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires + rm -rfv mu_editor-1.2.0.dist-info/ removed 'mu_editor-1.2.0.dist-info/entry_points.txt' removed 'mu_editor-1.2.0.dist-info/top_level.txt' removed 'mu_editor-1.2.0.dist-info/METADATA' removed 'mu_editor-1.2.0.dist-info/LICENSE' removed 'mu_editor-1.2.0.dist-info/AUTHORS.rst' removed directory 'mu_editor-1.2.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc39.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/f39-build-50386679-6029802/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '26edffcc00fe425080bec17c41268c96', '-D', '/var/lib/mock/f39-build-50386679-6029802/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/mu.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1689811200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.TRip3q + umask 022 + cd /builddir/build/BUILD + cd mu-1.2.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir --output /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires -r Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.40.0) running egg_info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.40.0) running dist_info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/mu-1.2.0/mu_editor-1.2.0.dist-info' Handling PyQt5 (>=5.13.2) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: PyQt5 (>=5.13.2) (installed: PyQt5 5.15.10) Handling QScintilla (>=2.11.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: QScintilla (>=2.11.3) (installed: QScintilla 2.13.4) Handling PyQtChart (<6,>=5.13.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: PyQtChart (<6,>=5.13.1) (installed: PyQtChart 5.15.5) Handling jupyter-client (>=4.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: jupyter-client (>=4.1) (installed: jupyter-client 7.4.9) Handling ipykernel (>=4.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: ipykernel (>=4.1) (installed: ipykernel 6.25.1) Handling ipython-genutils (>=0.2.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: ipython-genutils (>=0.2.0) (installed: ipython-genutils 0.2.0) Handling qtconsole (<6,>=4.7.7) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: qtconsole (<6,>=4.7.7) (installed: qtconsole 5.5.1) Handling adafruit-board-toolkit (~=1.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: adafruit-board-toolkit (~=1.1) (installed: adafruit-board-toolkit 1.1.1) Handling pyserial (>=3.4) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: pyserial (>=3.4) (installed: pyserial 3.5) Handling nudatus (>=0.0.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: nudatus (>=0.0.3) (installed: nudatus 0.0.5) Handling flake8 (>=3.8.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: flake8 (>=3.8.3) (installed: flake8 6.0.0) Handling click from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: click (installed: click 8.1.3) Handling platformdirs (<4.0.0,>=2.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: platformdirs (<4.0.0,>=2.0.0) (installed: platformdirs 3.9.1) Handling semver (>=2.8.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: semver (>=2.8.0) (installed: semver 3.0.1) Handling virtualenv (>=20.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: virtualenv (>=20.0.0) (installed: virtualenv 20.21.1) Handling wheel from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: wheel (installed: wheel 0.40.0) Handling requests (>=2.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: requests (>=2.0.0) (installed: requests 2.28.2) Handling pgzero (>=1.2.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: pgzero (>=1.2.1) (installed: pgzero 1.2.1) Handling flask (==2.*) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: flask (==2.*) (installed: flask 2.2.5) Handling black (>=19.10b0) ; python_version > "3.5" from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: black (>=19.10b0) ; python_version > "3.5" (installed: black 24.1.1) Handling pywin32 ; sys_platform == "win32" from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pywin32 ; sys_platform == "win32" Handling sphinx ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'all' Handling beautifulsoup4 ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: beautifulsoup4 ; extra == 'all' Handling requests ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: requests ; extra == 'all' Handling pytest (>=4.6) ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'all' Handling pytest-cov ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'all' Handling pytest-random-order (>=1.0.0) ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'all' Handling babel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'all' Handling scrapy ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: scrapy ; extra == 'all' Handling coverage ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'all' Handling wheel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'all' Handling twine ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'all' Handling pytest-faulthandler ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'all' Handling pytest-timeout ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'all' Handling pytest (>=4.6) ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'dev' Handling pytest-cov ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'dev' Handling pytest-random-order (>=1.0.0) ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'dev' Handling pytest-faulthandler ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'dev' Handling pytest-timeout ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'dev' Handling coverage ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'dev' Handling sphinx ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'dev' Handling wheel ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'dev' Handling twine ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'dev' Handling babel ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'dev' Handling sphinx ; extra == 'docs' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'docs' Handling babel ; extra == 'i18n' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'i18n' Handling wheel ; extra == 'package' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'package' Handling twine ; extra == 'package' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'package' Handling pytest (>=4.6) ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'tests' Handling pytest-cov ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'tests' Handling pytest-random-order (>=1.0.0) ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'tests' Handling pytest-faulthandler ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'tests' Handling pytest-timeout ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'tests' Handling coverage ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'tests' Handling scrapy ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: scrapy ; extra == 'utils' Handling beautifulsoup4 ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: beautifulsoup4 ; extra == 'utils' Handling requests ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: requests ; extra == 'utils' + cat /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires + rm -rfv mu_editor-1.2.0.dist-info/ removed 'mu_editor-1.2.0.dist-info/entry_points.txt' removed 'mu_editor-1.2.0.dist-info/top_level.txt' removed 'mu_editor-1.2.0.dist-info/METADATA' removed 'mu_editor-1.2.0.dist-info/LICENSE' removed 'mu_editor-1.2.0.dist-info/AUTHORS.rst' removed directory 'mu_editor-1.2.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc39.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/f39-build-50386679-6029802/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'aeb31756381d4df5a59f56b7a31af518', '-D', '/var/lib/mock/f39-build-50386679-6029802/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9960g_8n:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/mu.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1689811200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.TcvjZX + umask 022 + cd /builddir/build/BUILD + cd mu-1.2.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir --output /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires -r Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.40.0) running egg_info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.40.0) running dist_info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/mu-1.2.0/mu_editor-1.2.0.dist-info' Handling PyQt5 (>=5.13.2) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: PyQt5 (>=5.13.2) (installed: PyQt5 5.15.10) Handling QScintilla (>=2.11.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: QScintilla (>=2.11.3) (installed: QScintilla 2.13.4) Handling PyQtChart (<6,>=5.13.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: PyQtChart (<6,>=5.13.1) (installed: PyQtChart 5.15.5) Handling jupyter-client (>=4.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: jupyter-client (>=4.1) (installed: jupyter-client 7.4.9) Handling ipykernel (>=4.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: ipykernel (>=4.1) (installed: ipykernel 6.25.1) Handling ipython-genutils (>=0.2.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: ipython-genutils (>=0.2.0) (installed: ipython-genutils 0.2.0) Handling qtconsole (<6,>=4.7.7) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: qtconsole (<6,>=4.7.7) (installed: qtconsole 5.5.1) Handling adafruit-board-toolkit (~=1.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: adafruit-board-toolkit (~=1.1) (installed: adafruit-board-toolkit 1.1.1) Handling pyserial (>=3.4) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: pyserial (>=3.4) (installed: pyserial 3.5) Handling nudatus (>=0.0.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: nudatus (>=0.0.3) (installed: nudatus 0.0.5) Handling flake8 (>=3.8.3) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: flake8 (>=3.8.3) (installed: flake8 6.0.0) Handling click from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: click (installed: click 8.1.3) Handling platformdirs (<4.0.0,>=2.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: platformdirs (<4.0.0,>=2.0.0) (installed: platformdirs 3.9.1) Handling semver (>=2.8.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: semver (>=2.8.0) (installed: semver 3.0.1) Handling virtualenv (>=20.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: virtualenv (>=20.0.0) (installed: virtualenv 20.21.1) Handling wheel from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: wheel (installed: wheel 0.40.0) Handling requests (>=2.0.0) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: requests (>=2.0.0) (installed: requests 2.28.2) Handling pgzero (>=1.2.1) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: pgzero (>=1.2.1) (installed: pgzero 1.2.1) Handling flask (==2.*) from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: flask (==2.*) (installed: flask 2.2.5) Handling black (>=19.10b0) ; python_version > "3.5" from hook generated metadata: Requires-Dist (mu-editor) Requirement satisfied: black (>=19.10b0) ; python_version > "3.5" (installed: black 24.1.1) Handling pywin32 ; sys_platform == "win32" from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pywin32 ; sys_platform == "win32" Handling coverage ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'all' Handling pytest-cov ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'all' Handling sphinx ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'all' Handling scrapy ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: scrapy ; extra == 'all' Handling pytest-timeout ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'all' Handling twine ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'all' Handling beautifulsoup4 ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: beautifulsoup4 ; extra == 'all' Handling pytest-faulthandler ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'all' Handling wheel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'all' Handling requests ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: requests ; extra == 'all' Handling babel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'all' Handling pytest-random-order (>=1.0.0) ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'all' Handling pytest (>=4.6) ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'all' Handling pytest (>=4.6) ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'dev' Handling pytest-cov ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'dev' Handling pytest-random-order (>=1.0.0) ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'dev' Handling pytest-faulthandler ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'dev' Handling pytest-timeout ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'dev' Handling coverage ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'dev' Handling sphinx ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'dev' Handling wheel ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'dev' Handling twine ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'dev' Handling babel ; extra == 'dev' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'dev' Handling sphinx ; extra == 'docs' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: sphinx ; extra == 'docs' Handling babel ; extra == 'i18n' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: babel ; extra == 'i18n' Handling wheel ; extra == 'package' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: wheel ; extra == 'package' Handling twine ; extra == 'package' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: twine ; extra == 'package' Handling pytest (>=4.6) ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest (>=4.6) ; extra == 'tests' Handling pytest-cov ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-cov ; extra == 'tests' Handling pytest-random-order (>=1.0.0) ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-random-order (>=1.0.0) ; extra == 'tests' Handling pytest-faulthandler ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-faulthandler ; extra == 'tests' Handling pytest-timeout ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: pytest-timeout ; extra == 'tests' Handling coverage ; extra == 'tests' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: coverage ; extra == 'tests' Handling scrapy ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: scrapy ; extra == 'utils' Handling beautifulsoup4 ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: beautifulsoup4 ; extra == 'utils' Handling requests ; extra == 'utils' from hook generated metadata: Requires-Dist (mu-editor) Ignoring alien requirement: requests ; extra == 'utils' + cat /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-buildrequires + rm -rfv mu_editor-1.2.0.dist-info/ removed 'mu_editor-1.2.0.dist-info/entry_points.txt' removed 'mu_editor-1.2.0.dist-info/top_level.txt' removed 'mu_editor-1.2.0.dist-info/METADATA' removed 'mu_editor-1.2.0.dist-info/LICENSE' removed 'mu_editor-1.2.0.dist-info/AUTHORS.rst' removed directory 'mu_editor-1.2.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.sgp6mm + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd mu-1.2.0 + cd mu/locale + for FILE in * + rm de_DE/LC_MESSAGES/mu.mo + msgfmt de_DE/LC_MESSAGES/mu.po -o de_DE/LC_MESSAGES/mu.mo + rm de_DE/LC_MESSAGES/mu.po + for FILE in * + rm es/LC_MESSAGES/mu.mo + msgfmt es/LC_MESSAGES/mu.po -o es/LC_MESSAGES/mu.mo + rm es/LC_MESSAGES/mu.po + for FILE in * + rm fr/LC_MESSAGES/mu.mo + msgfmt fr/LC_MESSAGES/mu.po -o fr/LC_MESSAGES/mu.mo + rm fr/LC_MESSAGES/mu.po + for FILE in * + rm ja/LC_MESSAGES/mu.mo + msgfmt ja/LC_MESSAGES/mu.po -o ja/LC_MESSAGES/mu.mo + rm ja/LC_MESSAGES/mu.po + for FILE in * + rm pl/LC_MESSAGES/mu.mo + msgfmt pl/LC_MESSAGES/mu.po -o pl/LC_MESSAGES/mu.mo + rm pl/LC_MESSAGES/mu.po + for FILE in * + rm pt_BR/LC_MESSAGES/mu.mo + msgfmt pt_BR/LC_MESSAGES/mu.po -o pt_BR/LC_MESSAGES/mu.mo + rm pt_BR/LC_MESSAGES/mu.po + for FILE in * + rm pt_PT/LC_MESSAGES/mu.mo + msgfmt pt_PT/LC_MESSAGES/mu.po -o pt_PT/LC_MESSAGES/mu.mo + rm pt_PT/LC_MESSAGES/mu.po + for FILE in * + rm ru_RU/LC_MESSAGES/mu.mo + msgfmt ru_RU/LC_MESSAGES/mu.po -o ru_RU/LC_MESSAGES/mu.mo + rm ru_RU/LC_MESSAGES/mu.po + for FILE in * + rm sk_SK/LC_MESSAGES/mu.mo + msgfmt sk_SK/LC_MESSAGES/mu.po -o sk_SK/LC_MESSAGES/mu.mo + rm sk_SK/LC_MESSAGES/mu.po + for FILE in * + rm sv/LC_MESSAGES/mu.mo + msgfmt sv/LC_MESSAGES/mu.po -o sv/LC_MESSAGES/mu.mo + rm sv/LC_MESSAGES/mu.po + for FILE in * + rm vi/LC_MESSAGES/mu.mo + msgfmt vi/LC_MESSAGES/mu.po -o vi/LC_MESSAGES/mu.mo + rm vi/LC_MESSAGES/mu.po + for FILE in * + rm zh_CN/LC_MESSAGES/mu.mo + msgfmt zh_CN/LC_MESSAGES/mu.po -o zh_CN/LC_MESSAGES/mu.mo + rm zh_CN/LC_MESSAGES/mu.po + cd - /builddir/build/BUILD/mu-1.2.0 + mkdir -p /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir Processing /builddir/build/BUILD/mu-1.2.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) running dist_info creating /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info writing /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-82762n3t/mu_editor-1.2.0.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: mu-editor Building wheel for mu-editor (pyproject.toml): started Running command Building wheel for mu-editor (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/mu copying mu/__init__.py -> build/lib/mu copying mu/__main__.py -> build/lib/mu copying mu/config.py -> build/lib/mu copying mu/i18n.py -> build/lib/mu copying mu/logic.py -> build/lib/mu copying mu/mu_debug.py -> build/lib/mu copying mu/settings.py -> build/lib/mu copying mu/virtual_environment.py -> build/lib/mu copying mu/app.py -> build/lib/mu creating build/lib/mu/resources copying mu/resources/__init__.py -> build/lib/mu/resources creating build/lib/mu/modes copying mu/modes/__init__.py -> build/lib/mu/modes copying mu/modes/circuitpython.py -> build/lib/mu/modes copying mu/modes/debugger.py -> build/lib/mu/modes copying mu/modes/esp.py -> build/lib/mu/modes copying mu/modes/lego.py -> build/lib/mu/modes copying mu/modes/pico.py -> build/lib/mu/modes copying mu/modes/pyboard.py -> build/lib/mu/modes copying mu/modes/pygamezero.py -> build/lib/mu/modes copying mu/modes/python3.py -> build/lib/mu/modes copying mu/modes/snek.py -> build/lib/mu/modes copying mu/modes/web.py -> build/lib/mu/modes copying mu/modes/microbit.py -> build/lib/mu/modes copying mu/modes/base.py -> build/lib/mu/modes creating build/lib/mu/debugger copying mu/debugger/client.py -> build/lib/mu/debugger copying mu/debugger/config.py -> build/lib/mu/debugger copying mu/debugger/runner.py -> build/lib/mu/debugger copying mu/debugger/utils.py -> build/lib/mu/debugger creating build/lib/mu/interface copying mu/interface/__init__.py -> build/lib/mu/interface copying mu/interface/editor.py -> build/lib/mu/interface copying mu/interface/main.py -> build/lib/mu/interface copying mu/interface/panes.py -> build/lib/mu/interface copying mu/interface/themes.py -> build/lib/mu/interface copying mu/interface/widgets.py -> build/lib/mu/interface copying mu/interface/workers.py -> build/lib/mu/interface copying mu/interface/dialogs.py -> build/lib/mu/interface creating build/lib/mu/modes/api copying mu/modes/api/__init__.py -> build/lib/mu/modes/api copying mu/modes/api/adafruit.py -> build/lib/mu/modes/api copying mu/modes/api/esp.py -> build/lib/mu/modes/api copying mu/modes/api/flask.py -> build/lib/mu/modes/api copying mu/modes/api/lego.py -> build/lib/mu/modes/api copying mu/modes/api/microbit.py -> build/lib/mu/modes/api copying mu/modes/api/pi.py -> build/lib/mu/modes/api copying mu/modes/api/pyboard.py -> build/lib/mu/modes/api copying mu/modes/api/pygamezero.py -> build/lib/mu/modes/api copying mu/modes/api/python3.py -> build/lib/mu/modes/api copying mu/modes/api/shared.py -> build/lib/mu/modes/api copying mu/modes/api/snek.py -> build/lib/mu/modes/api creating build/lib/mu/wheels copying mu/wheels/__main__.py -> build/lib/mu/wheels copying mu/wheels/__init__.py -> build/lib/mu/wheels running egg_info writing mu_editor.egg-info/PKG-INFO writing dependency_links to mu_editor.egg-info/dependency_links.txt writing entry points to mu_editor.egg-info/entry_points.txt writing requirements to mu_editor.egg-info/requires.txt writing top-level names to mu_editor.egg-info/top_level.txt reading manifest file 'mu_editor.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'mu_editor.egg-info/SOURCES.txt' /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.de_DE.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.de_DE.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.de_DE.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.de_DE.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.de_DE.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.es.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.es.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.es.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.es.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.es.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.fr.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.fr.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.fr.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.fr.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.fr.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.ja.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.ja.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.ja.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.ja.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.ja.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.pl.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.pl.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.pl.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.pl.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.pl.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.pt_BR.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.pt_BR.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.pt_BR.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.pt_BR.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.pt_BR.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.pt_PT.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.pt_PT.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.pt_PT.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.pt_PT.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.pt_PT.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.ru_RU.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.ru_RU.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.ru_RU.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.ru_RU.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.ru_RU.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.sk_SK.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.sk_SK.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.sk_SK.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.sk_SK.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.sk_SK.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.sv.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.sv.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.sv.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.sv.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.sv.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.vi.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.vi.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.vi.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.vi.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.vi.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.locale.zh_CN.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.locale.zh_CN.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.locale.zh_CN.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.locale.zh_CN.LC_MESSAGES' to be distributed and are already explicitly excluding 'mu.locale.zh_CN.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.css' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.css' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.css' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.css' to be distributed and are already explicitly excluding 'mu.resources.css' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.fonts' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.fonts' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.fonts' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.fonts' to be distributed and are already explicitly excluding 'mu.resources.fonts' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.images' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.images' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.images' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.images' to be distributed and are already explicitly excluding 'mu.resources.images' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.pygamezero' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.pygamezero' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.pygamezero' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.pygamezero' to be distributed and are already explicitly excluding 'mu.resources.pygamezero' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.web.static.css' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.web.static.css' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.web.static.css' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.web.static.css' to be distributed and are already explicitly excluding 'mu.resources.web.static.css' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.web.static.img' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.web.static.img' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.web.static.img' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.web.static.img' to be distributed and are already explicitly excluding 'mu.resources.web.static.img' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.12/site-packages/setuptools/command/build_py.py:201: _Warning: Package 'mu.resources.web.templates' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'mu.resources.web.templates' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'mu.resources.web.templates' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'mu.resources.web.templates' to be distributed and are already explicitly excluding 'mu.resources.web.templates' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) creating build/lib/mu/locale creating build/lib/mu/locale/de_DE creating build/lib/mu/locale/de_DE/LC_MESSAGES copying mu/locale/de_DE/LC_MESSAGES/mu.mo -> build/lib/mu/locale/de_DE/LC_MESSAGES creating build/lib/mu/locale/es creating build/lib/mu/locale/es/LC_MESSAGES copying mu/locale/es/LC_MESSAGES/mu.mo -> build/lib/mu/locale/es/LC_MESSAGES creating build/lib/mu/locale/fr creating build/lib/mu/locale/fr/LC_MESSAGES copying mu/locale/fr/LC_MESSAGES/mu.mo -> build/lib/mu/locale/fr/LC_MESSAGES creating build/lib/mu/locale/ja creating build/lib/mu/locale/ja/LC_MESSAGES copying mu/locale/ja/LC_MESSAGES/mu.mo -> build/lib/mu/locale/ja/LC_MESSAGES creating build/lib/mu/locale/pl creating build/lib/mu/locale/pl/LC_MESSAGES copying mu/locale/pl/LC_MESSAGES/mu.mo -> build/lib/mu/locale/pl/LC_MESSAGES creating build/lib/mu/locale/pt_BR creating build/lib/mu/locale/pt_BR/LC_MESSAGES copying mu/locale/pt_BR/LC_MESSAGES/mu.mo -> build/lib/mu/locale/pt_BR/LC_MESSAGES creating build/lib/mu/locale/pt_PT creating build/lib/mu/locale/pt_PT/LC_MESSAGES copying mu/locale/pt_PT/LC_MESSAGES/mu.mo -> build/lib/mu/locale/pt_PT/LC_MESSAGES creating build/lib/mu/locale/ru_RU creating build/lib/mu/locale/ru_RU/LC_MESSAGES copying mu/locale/ru_RU/LC_MESSAGES/mu.mo -> build/lib/mu/locale/ru_RU/LC_MESSAGES creating build/lib/mu/locale/sk_SK creating build/lib/mu/locale/sk_SK/LC_MESSAGES copying mu/locale/sk_SK/LC_MESSAGES/mu.mo -> build/lib/mu/locale/sk_SK/LC_MESSAGES creating build/lib/mu/locale/sv creating build/lib/mu/locale/sv/LC_MESSAGES copying mu/locale/sv/LC_MESSAGES/mu.mo -> build/lib/mu/locale/sv/LC_MESSAGES creating build/lib/mu/locale/vi creating build/lib/mu/locale/vi/LC_MESSAGES copying mu/locale/vi/LC_MESSAGES/mu.mo -> build/lib/mu/locale/vi/LC_MESSAGES creating build/lib/mu/locale/zh_CN creating build/lib/mu/locale/zh_CN/LC_MESSAGES copying mu/locale/zh_CN/LC_MESSAGES/mu.mo -> build/lib/mu/locale/zh_CN/LC_MESSAGES creating build/lib/mu/resources/css copying mu/resources/css/contrast.css -> build/lib/mu/resources/css copying mu/resources/css/day.css -> build/lib/mu/resources/css copying mu/resources/css/night.css -> build/lib/mu/resources/css creating build/lib/mu/resources/fonts copying mu/resources/fonts/LICENSE.txt -> build/lib/mu/resources/fonts copying mu/resources/fonts/SourceCodePro-Bold.otf -> build/lib/mu/resources/fonts copying mu/resources/fonts/SourceCodePro-BoldIt.otf -> build/lib/mu/resources/fonts copying mu/resources/fonts/SourceCodePro-It.otf -> build/lib/mu/resources/fonts copying mu/resources/fonts/SourceCodePro-Regular.otf -> build/lib/mu/resources/fonts copying mu/resources/fonts/SourceCodePro-Semibold.otf -> build/lib/mu/resources/fonts copying mu/resources/fonts/SourceCodePro-SemiboldIt.otf -> build/lib/mu/resources/fonts creating build/lib/mu/resources/images copying mu/resources/images/PA-logo-snake-only.svg -> build/lib/mu/resources/images copying mu/resources/images/browse.png -> build/lib/mu/resources/images copying mu/resources/images/browse.svg -> build/lib/mu/resources/images copying mu/resources/images/button.png -> build/lib/mu/resources/images copying mu/resources/images/button.svg -> build/lib/mu/resources/images copying mu/resources/images/check-bad.png -> build/lib/mu/resources/images copying mu/resources/images/check-bad.svg -> build/lib/mu/resources/images copying mu/resources/images/check-good.png -> build/lib/mu/resources/images copying mu/resources/images/check-good.svg -> build/lib/mu/resources/images copying mu/resources/images/check.png -> build/lib/mu/resources/images copying mu/resources/images/check.svg -> build/lib/mu/resources/images copying mu/resources/images/checked.png -> build/lib/mu/resources/images copying mu/resources/images/checked.svg -> build/lib/mu/resources/images copying mu/resources/images/chip-connected.svg -> build/lib/mu/resources/images copying mu/resources/images/chip-disconnected.svg -> build/lib/mu/resources/images copying mu/resources/images/circuitpython.png -> build/lib/mu/resources/images copying mu/resources/images/circuitpython.svg -> build/lib/mu/resources/images copying mu/resources/images/close-tab.svg -> build/lib/mu/resources/images copying mu/resources/images/css.png -> build/lib/mu/resources/images copying mu/resources/images/css.svg -> build/lib/mu/resources/images copying mu/resources/images/debug.png -> build/lib/mu/resources/images copying mu/resources/images/debug.svg -> build/lib/mu/resources/images copying mu/resources/images/deploy.png -> build/lib/mu/resources/images copying mu/resources/images/deploy.svg -> build/lib/mu/resources/images copying mu/resources/images/document-dirty.svg -> build/lib/mu/resources/images copying mu/resources/images/document.svg -> build/lib/mu/resources/images copying mu/resources/images/dropdown-arrow-contrast.png -> build/lib/mu/resources/images copying mu/resources/images/dropdown-arrow-contrast.svg -> build/lib/mu/resources/images copying mu/resources/images/dropdown-arrow-night.png -> build/lib/mu/resources/images copying mu/resources/images/dropdown-arrow-night.svg -> build/lib/mu/resources/images copying mu/resources/images/dropdown-arrow.png -> build/lib/mu/resources/images copying mu/resources/images/dropdown-arrow.svg -> build/lib/mu/resources/images copying mu/resources/images/esp.png -> build/lib/mu/resources/images copying mu/resources/images/files.png -> build/lib/mu/resources/images copying mu/resources/images/files.svg -> build/lib/mu/resources/images copying mu/resources/images/flash.png -> build/lib/mu/resources/images copying mu/resources/images/flash.svg -> build/lib/mu/resources/images copying mu/resources/images/fonts.png -> build/lib/mu/resources/images copying mu/resources/images/fonts.svg -> build/lib/mu/resources/images copying mu/resources/images/getflash.svg -> build/lib/mu/resources/images copying mu/resources/images/help.png -> build/lib/mu/resources/images copying mu/resources/images/help.svg -> build/lib/mu/resources/images copying mu/resources/images/icon.png -> build/lib/mu/resources/images copying mu/resources/images/icon.svg -> build/lib/mu/resources/images copying mu/resources/images/images.png -> build/lib/mu/resources/images copying mu/resources/images/images.svg -> build/lib/mu/resources/images copying mu/resources/images/language.svg -> build/lib/mu/resources/images copying mu/resources/images/lego.png -> build/lib/mu/resources/images copying mu/resources/images/load.png -> build/lib/mu/resources/images copying mu/resources/images/load.svg -> build/lib/mu/resources/images copying mu/resources/images/logs.png -> build/lib/mu/resources/images copying mu/resources/images/logs.svg -> build/lib/mu/resources/images copying mu/resources/images/microbit.png -> build/lib/mu/resources/images copying mu/resources/images/modes.png -> build/lib/mu/resources/images copying mu/resources/images/modes.svg -> build/lib/mu/resources/images copying mu/resources/images/music.png -> build/lib/mu/resources/images copying mu/resources/images/music.svg -> build/lib/mu/resources/images copying mu/resources/images/new.png -> build/lib/mu/resources/images copying mu/resources/images/new.svg -> build/lib/mu/resources/images copying mu/resources/images/pico.png -> build/lib/mu/resources/images copying mu/resources/images/play.png -> build/lib/mu/resources/images copying mu/resources/images/play.svg -> build/lib/mu/resources/images copying mu/resources/images/plotter.png -> build/lib/mu/resources/images copying mu/resources/images/plotter.svg -> build/lib/mu/resources/images copying mu/resources/images/pyboard.png -> build/lib/mu/resources/images copying mu/resources/images/pygamezero.png -> build/lib/mu/resources/images copying mu/resources/images/python.png -> build/lib/mu/resources/images copying mu/resources/images/python.svg -> build/lib/mu/resources/images copying mu/resources/images/quit.png -> build/lib/mu/resources/images copying mu/resources/images/quit.svg -> build/lib/mu/resources/images copying mu/resources/images/repl.png -> build/lib/mu/resources/images copying mu/resources/images/repl.svg -> build/lib/mu/resources/images copying mu/resources/images/run.png -> build/lib/mu/resources/images copying mu/resources/images/run.svg -> build/lib/mu/resources/images copying mu/resources/images/save.png -> build/lib/mu/resources/images copying mu/resources/images/save.svg -> build/lib/mu/resources/images copying mu/resources/images/scroll-down.png -> build/lib/mu/resources/images copying mu/resources/images/scroll-down.svg -> build/lib/mu/resources/images copying mu/resources/images/scroll-left.png -> build/lib/mu/resources/images copying mu/resources/images/scroll-left.svg -> build/lib/mu/resources/images copying mu/resources/images/scroll-right.png -> build/lib/mu/resources/images copying mu/resources/images/scroll-right.svg -> build/lib/mu/resources/images copying mu/resources/images/scroll-up.png -> build/lib/mu/resources/images copying mu/resources/images/scroll-up.svg -> build/lib/mu/resources/images copying mu/resources/images/serial.png -> build/lib/mu/resources/images copying mu/resources/images/serial.svg -> build/lib/mu/resources/images copying mu/resources/images/snek.svg -> build/lib/mu/resources/images copying mu/resources/images/snippets.png -> build/lib/mu/resources/images copying mu/resources/images/snippets.svg -> build/lib/mu/resources/images copying mu/resources/images/sounds.png -> build/lib/mu/resources/images copying mu/resources/images/sounds.svg -> build/lib/mu/resources/images copying mu/resources/images/splash-screen.png -> build/lib/mu/resources/images copying mu/resources/images/splash_fail.png -> build/lib/mu/resources/images copying mu/resources/images/splash_screen.gif -> build/lib/mu/resources/images copying mu/resources/images/splash_screen.xcf -> build/lib/mu/resources/images copying mu/resources/images/splash_screen_base_image.png -> build/lib/mu/resources/images copying mu/resources/images/static.png -> build/lib/mu/resources/images copying mu/resources/images/static.svg -> build/lib/mu/resources/images copying mu/resources/images/step-in.png -> build/lib/mu/resources/images copying mu/resources/images/step-in.svg -> build/lib/mu/resources/images copying mu/resources/images/step-out.png -> build/lib/mu/resources/images copying mu/resources/images/step-out.svg -> build/lib/mu/resources/images copying mu/resources/images/step-over.png -> build/lib/mu/resources/images copying mu/resources/images/step-over.svg -> build/lib/mu/resources/images copying mu/resources/images/stop.png -> build/lib/mu/resources/images copying mu/resources/images/stop.svg -> build/lib/mu/resources/images copying mu/resources/images/templates.png -> build/lib/mu/resources/images copying mu/resources/images/templates.svg -> build/lib/mu/resources/images copying mu/resources/images/theme.png -> build/lib/mu/resources/images copying mu/resources/images/theme.svg -> build/lib/mu/resources/images copying mu/resources/images/theme_contrast.png -> build/lib/mu/resources/images copying mu/resources/images/theme_contrast.svg -> build/lib/mu/resources/images copying mu/resources/images/theme_day.png -> build/lib/mu/resources/images copying mu/resources/images/theme_day.svg -> build/lib/mu/resources/images copying mu/resources/images/tidy.png -> build/lib/mu/resources/images copying mu/resources/images/tidy.svg -> build/lib/mu/resources/images copying mu/resources/images/web.png -> build/lib/mu/resources/images copying mu/resources/images/zoom-in.png -> build/lib/mu/resources/images copying mu/resources/images/zoom-in.svg -> build/lib/mu/resources/images copying mu/resources/images/zoom-out.png -> build/lib/mu/resources/images copying mu/resources/images/zoom-out.svg -> build/lib/mu/resources/images creating build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/alien.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/alien_hurt.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/cat1.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/cat2.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/cat3.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/cat4.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/eep.wav -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/meow1.wav -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/meow2.wav -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/meow3.wav -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/meow4.wav -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/splat.png -> build/lib/mu/resources/pygamezero copying mu/resources/pygamezero/splat.wav -> build/lib/mu/resources/pygamezero creating build/lib/mu/resources/web creating build/lib/mu/resources/web/static creating build/lib/mu/resources/web/static/css copying mu/resources/web/static/css/normalize.css -> build/lib/mu/resources/web/static/css copying mu/resources/web/static/css/skeleton.css -> build/lib/mu/resources/web/static/css creating build/lib/mu/resources/web/static/img copying mu/resources/web/static/img/logo.png -> build/lib/mu/resources/web/static/img creating build/lib/mu/resources/web/templates copying mu/resources/web/templates/age.html -> build/lib/mu/resources/web/templates copying mu/resources/web/templates/base.html -> build/lib/mu/resources/web/templates copying mu/resources/web/templates/greeting.html -> build/lib/mu/resources/web/templates copying mu/resources/web/templates/index.html -> build/lib/mu/resources/web/templates installing to build/bdist.linux-aarch64/wheel running install running install_lib creating build/bdist.linux-aarch64 creating build/bdist.linux-aarch64/wheel creating build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/__init__.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/__main__.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/config.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/i18n.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/logic.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/mu_debug.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/settings.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/virtual_environment.py -> build/bdist.linux-aarch64/wheel/mu copying build/lib/mu/app.py -> build/bdist.linux-aarch64/wheel/mu creating build/bdist.linux-aarch64/wheel/mu/resources copying build/lib/mu/resources/__init__.py -> build/bdist.linux-aarch64/wheel/mu/resources creating build/bdist.linux-aarch64/wheel/mu/resources/css copying build/lib/mu/resources/css/contrast.css -> build/bdist.linux-aarch64/wheel/mu/resources/css copying build/lib/mu/resources/css/day.css -> build/bdist.linux-aarch64/wheel/mu/resources/css copying build/lib/mu/resources/css/night.css -> build/bdist.linux-aarch64/wheel/mu/resources/css creating build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/LICENSE.txt -> build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/SourceCodePro-Bold.otf -> build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/SourceCodePro-BoldIt.otf -> build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/SourceCodePro-It.otf -> build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/SourceCodePro-Regular.otf -> build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/SourceCodePro-Semibold.otf -> build/bdist.linux-aarch64/wheel/mu/resources/fonts copying build/lib/mu/resources/fonts/SourceCodePro-SemiboldIt.otf -> build/bdist.linux-aarch64/wheel/mu/resources/fonts creating build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/PA-logo-snake-only.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/browse.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/browse.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/button.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/button.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/check-bad.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/check-bad.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/check-good.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/check-good.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/check.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/check.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/checked.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/checked.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/chip-connected.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/chip-disconnected.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/circuitpython.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/circuitpython.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/close-tab.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/css.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/css.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/debug.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/debug.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/deploy.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/deploy.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/document-dirty.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/document.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/dropdown-arrow-contrast.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/dropdown-arrow-contrast.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/dropdown-arrow-night.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/dropdown-arrow-night.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/dropdown-arrow.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/dropdown-arrow.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/esp.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/files.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/files.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/flash.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/flash.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/fonts.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/fonts.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/getflash.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/help.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/help.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/icon.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/icon.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/images.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/images.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/language.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/lego.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/load.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/load.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/logs.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/logs.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/microbit.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/modes.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/modes.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/music.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/music.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/new.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/new.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/pico.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/play.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/play.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/plotter.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/plotter.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/pyboard.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/pygamezero.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/python.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/python.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/quit.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/quit.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/repl.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/repl.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/run.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/run.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/save.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/save.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-down.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-down.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-left.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-left.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-right.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-right.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-up.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/scroll-up.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/serial.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/serial.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/snek.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/snippets.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/snippets.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/sounds.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/sounds.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/splash-screen.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/splash_fail.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/splash_screen.gif -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/splash_screen.xcf -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/splash_screen_base_image.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/static.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/static.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/step-in.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/step-in.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/step-out.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/step-out.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/step-over.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/step-over.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/stop.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/stop.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/templates.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/templates.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/theme.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/theme.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/theme_contrast.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/theme_contrast.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/theme_day.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/theme_day.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/tidy.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/tidy.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/web.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/zoom-in.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/zoom-in.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/zoom-out.png -> build/bdist.linux-aarch64/wheel/mu/resources/images copying build/lib/mu/resources/images/zoom-out.svg -> build/bdist.linux-aarch64/wheel/mu/resources/images creating build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/alien.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/alien_hurt.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/cat1.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/cat2.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/cat3.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/cat4.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/eep.wav -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/meow1.wav -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/meow2.wav -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/meow3.wav -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/meow4.wav -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/splat.png -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero copying build/lib/mu/resources/pygamezero/splat.wav -> build/bdist.linux-aarch64/wheel/mu/resources/pygamezero creating build/bdist.linux-aarch64/wheel/mu/resources/web creating build/bdist.linux-aarch64/wheel/mu/resources/web/static creating build/bdist.linux-aarch64/wheel/mu/resources/web/static/css copying build/lib/mu/resources/web/static/css/normalize.css -> build/bdist.linux-aarch64/wheel/mu/resources/web/static/css copying build/lib/mu/resources/web/static/css/skeleton.css -> build/bdist.linux-aarch64/wheel/mu/resources/web/static/css creating build/bdist.linux-aarch64/wheel/mu/resources/web/static/img copying build/lib/mu/resources/web/static/img/logo.png -> build/bdist.linux-aarch64/wheel/mu/resources/web/static/img creating build/bdist.linux-aarch64/wheel/mu/resources/web/templates copying build/lib/mu/resources/web/templates/age.html -> build/bdist.linux-aarch64/wheel/mu/resources/web/templates copying build/lib/mu/resources/web/templates/base.html -> build/bdist.linux-aarch64/wheel/mu/resources/web/templates copying build/lib/mu/resources/web/templates/greeting.html -> build/bdist.linux-aarch64/wheel/mu/resources/web/templates copying build/lib/mu/resources/web/templates/index.html -> build/bdist.linux-aarch64/wheel/mu/resources/web/templates creating build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/__init__.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/circuitpython.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/debugger.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/esp.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/lego.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/pico.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/pyboard.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/pygamezero.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/python3.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/snek.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/web.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/microbit.py -> build/bdist.linux-aarch64/wheel/mu/modes copying build/lib/mu/modes/base.py -> build/bdist.linux-aarch64/wheel/mu/modes creating build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/__init__.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/adafruit.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/esp.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/flask.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/lego.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/microbit.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/pi.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/pyboard.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/pygamezero.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/python3.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/shared.py -> build/bdist.linux-aarch64/wheel/mu/modes/api copying build/lib/mu/modes/api/snek.py -> build/bdist.linux-aarch64/wheel/mu/modes/api creating build/bdist.linux-aarch64/wheel/mu/debugger copying build/lib/mu/debugger/client.py -> build/bdist.linux-aarch64/wheel/mu/debugger copying build/lib/mu/debugger/config.py -> build/bdist.linux-aarch64/wheel/mu/debugger copying build/lib/mu/debugger/runner.py -> build/bdist.linux-aarch64/wheel/mu/debugger copying build/lib/mu/debugger/utils.py -> build/bdist.linux-aarch64/wheel/mu/debugger creating build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/__init__.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/editor.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/main.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/panes.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/themes.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/widgets.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/workers.py -> build/bdist.linux-aarch64/wheel/mu/interface copying build/lib/mu/interface/dialogs.py -> build/bdist.linux-aarch64/wheel/mu/interface creating build/bdist.linux-aarch64/wheel/mu/wheels copying build/lib/mu/wheels/__main__.py -> build/bdist.linux-aarch64/wheel/mu/wheels copying build/lib/mu/wheels/__init__.py -> build/bdist.linux-aarch64/wheel/mu/wheels creating build/bdist.linux-aarch64/wheel/mu/locale creating build/bdist.linux-aarch64/wheel/mu/locale/de_DE creating build/bdist.linux-aarch64/wheel/mu/locale/de_DE/LC_MESSAGES copying build/lib/mu/locale/de_DE/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/de_DE/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/es creating build/bdist.linux-aarch64/wheel/mu/locale/es/LC_MESSAGES copying build/lib/mu/locale/es/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/es/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/fr creating build/bdist.linux-aarch64/wheel/mu/locale/fr/LC_MESSAGES copying build/lib/mu/locale/fr/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/fr/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/ja creating build/bdist.linux-aarch64/wheel/mu/locale/ja/LC_MESSAGES copying build/lib/mu/locale/ja/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/ja/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/pl creating build/bdist.linux-aarch64/wheel/mu/locale/pl/LC_MESSAGES copying build/lib/mu/locale/pl/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/pl/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/pt_BR creating build/bdist.linux-aarch64/wheel/mu/locale/pt_BR/LC_MESSAGES copying build/lib/mu/locale/pt_BR/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/pt_BR/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/pt_PT creating build/bdist.linux-aarch64/wheel/mu/locale/pt_PT/LC_MESSAGES copying build/lib/mu/locale/pt_PT/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/pt_PT/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/ru_RU creating build/bdist.linux-aarch64/wheel/mu/locale/ru_RU/LC_MESSAGES copying build/lib/mu/locale/ru_RU/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/ru_RU/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/sk_SK creating build/bdist.linux-aarch64/wheel/mu/locale/sk_SK/LC_MESSAGES copying build/lib/mu/locale/sk_SK/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/sk_SK/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/sv creating build/bdist.linux-aarch64/wheel/mu/locale/sv/LC_MESSAGES copying build/lib/mu/locale/sv/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/sv/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/vi creating build/bdist.linux-aarch64/wheel/mu/locale/vi/LC_MESSAGES copying build/lib/mu/locale/vi/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/vi/LC_MESSAGES creating build/bdist.linux-aarch64/wheel/mu/locale/zh_CN creating build/bdist.linux-aarch64/wheel/mu/locale/zh_CN/LC_MESSAGES copying build/lib/mu/locale/zh_CN/LC_MESSAGES/mu.mo -> build/bdist.linux-aarch64/wheel/mu/locale/zh_CN/LC_MESSAGES running install_egg_info Copying mu_editor.egg-info to build/bdist.linux-aarch64/wheel/mu_editor-1.2.0-py3.12.egg-info running install_scripts creating build/bdist.linux-aarch64/wheel/mu_editor-1.2.0.dist-info/WHEEL creating '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-wheel-rjf22v6i/.tmp-7a0wwjty/mu_editor-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/wheel' to it adding 'mu/__init__.py' adding 'mu/__main__.py' adding 'mu/app.py' adding 'mu/config.py' adding 'mu/i18n.py' adding 'mu/logic.py' adding 'mu/mu_debug.py' adding 'mu/settings.py' adding 'mu/virtual_environment.py' adding 'mu/debugger/client.py' adding 'mu/debugger/config.py' adding 'mu/debugger/runner.py' adding 'mu/debugger/utils.py' adding 'mu/interface/__init__.py' adding 'mu/interface/dialogs.py' adding 'mu/interface/editor.py' adding 'mu/interface/main.py' adding 'mu/interface/panes.py' adding 'mu/interface/themes.py' adding 'mu/interface/widgets.py' adding 'mu/interface/workers.py' adding 'mu/locale/de_DE/LC_MESSAGES/mu.mo' adding 'mu/locale/es/LC_MESSAGES/mu.mo' adding 'mu/locale/fr/LC_MESSAGES/mu.mo' adding 'mu/locale/ja/LC_MESSAGES/mu.mo' adding 'mu/locale/pl/LC_MESSAGES/mu.mo' adding 'mu/locale/pt_BR/LC_MESSAGES/mu.mo' adding 'mu/locale/pt_PT/LC_MESSAGES/mu.mo' adding 'mu/locale/ru_RU/LC_MESSAGES/mu.mo' adding 'mu/locale/sk_SK/LC_MESSAGES/mu.mo' adding 'mu/locale/sv/LC_MESSAGES/mu.mo' adding 'mu/locale/vi/LC_MESSAGES/mu.mo' adding 'mu/locale/zh_CN/LC_MESSAGES/mu.mo' adding 'mu/modes/__init__.py' adding 'mu/modes/base.py' adding 'mu/modes/circuitpython.py' adding 'mu/modes/debugger.py' adding 'mu/modes/esp.py' adding 'mu/modes/lego.py' adding 'mu/modes/microbit.py' adding 'mu/modes/pico.py' adding 'mu/modes/pyboard.py' adding 'mu/modes/pygamezero.py' adding 'mu/modes/python3.py' adding 'mu/modes/snek.py' adding 'mu/modes/web.py' adding 'mu/modes/api/__init__.py' adding 'mu/modes/api/adafruit.py' adding 'mu/modes/api/esp.py' adding 'mu/modes/api/flask.py' adding 'mu/modes/api/lego.py' adding 'mu/modes/api/microbit.py' adding 'mu/modes/api/pi.py' adding 'mu/modes/api/pyboard.py' adding 'mu/modes/api/pygamezero.py' adding 'mu/modes/api/python3.py' adding 'mu/modes/api/shared.py' adding 'mu/modes/api/snek.py' adding 'mu/resources/__init__.py' adding 'mu/resources/css/contrast.css' adding 'mu/resources/css/day.css' adding 'mu/resources/css/night.css' adding 'mu/resources/fonts/LICENSE.txt' adding 'mu/resources/fonts/SourceCodePro-Bold.otf' adding 'mu/resources/fonts/SourceCodePro-BoldIt.otf' adding 'mu/resources/fonts/SourceCodePro-It.otf' adding 'mu/resources/fonts/SourceCodePro-Regular.otf' adding 'mu/resources/fonts/SourceCodePro-Semibold.otf' adding 'mu/resources/fonts/SourceCodePro-SemiboldIt.otf' adding 'mu/resources/images/PA-logo-snake-only.svg' adding 'mu/resources/images/browse.png' adding 'mu/resources/images/browse.svg' adding 'mu/resources/images/button.png' adding 'mu/resources/images/button.svg' adding 'mu/resources/images/check-bad.png' adding 'mu/resources/images/check-bad.svg' adding 'mu/resources/images/check-good.png' adding 'mu/resources/images/check-good.svg' adding 'mu/resources/images/check.png' adding 'mu/resources/images/check.svg' adding 'mu/resources/images/checked.png' adding 'mu/resources/images/checked.svg' adding 'mu/resources/images/chip-connected.svg' adding 'mu/resources/images/chip-disconnected.svg' adding 'mu/resources/images/circuitpython.png' adding 'mu/resources/images/circuitpython.svg' adding 'mu/resources/images/close-tab.svg' adding 'mu/resources/images/css.png' adding 'mu/resources/images/css.svg' adding 'mu/resources/images/debug.png' adding 'mu/resources/images/debug.svg' adding 'mu/resources/images/deploy.png' adding 'mu/resources/images/deploy.svg' adding 'mu/resources/images/document-dirty.svg' adding 'mu/resources/images/document.svg' adding 'mu/resources/images/dropdown-arrow-contrast.png' adding 'mu/resources/images/dropdown-arrow-contrast.svg' adding 'mu/resources/images/dropdown-arrow-night.png' adding 'mu/resources/images/dropdown-arrow-night.svg' adding 'mu/resources/images/dropdown-arrow.png' adding 'mu/resources/images/dropdown-arrow.svg' adding 'mu/resources/images/esp.png' adding 'mu/resources/images/files.png' adding 'mu/resources/images/files.svg' adding 'mu/resources/images/flash.png' adding 'mu/resources/images/flash.svg' adding 'mu/resources/images/fonts.png' adding 'mu/resources/images/fonts.svg' adding 'mu/resources/images/getflash.svg' adding 'mu/resources/images/help.png' adding 'mu/resources/images/help.svg' adding 'mu/resources/images/icon.png' adding 'mu/resources/images/icon.svg' adding 'mu/resources/images/images.png' adding 'mu/resources/images/images.svg' adding 'mu/resources/images/language.svg' adding 'mu/resources/images/lego.png' adding 'mu/resources/images/load.png' adding 'mu/resources/images/load.svg' adding 'mu/resources/images/logs.png' adding 'mu/resources/images/logs.svg' adding 'mu/resources/images/microbit.png' adding 'mu/resources/images/modes.png' adding 'mu/resources/images/modes.svg' adding 'mu/resources/images/music.png' adding 'mu/resources/images/music.svg' adding 'mu/resources/images/new.png' adding 'mu/resources/images/new.svg' adding 'mu/resources/images/pico.png' adding 'mu/resources/images/play.png' adding 'mu/resources/images/play.svg' adding 'mu/resources/images/plotter.png' adding 'mu/resources/images/plotter.svg' adding 'mu/resources/images/pyboard.png' adding 'mu/resources/images/pygamezero.png' adding 'mu/resources/images/python.png' adding 'mu/resources/images/python.svg' adding 'mu/resources/images/quit.png' adding 'mu/resources/images/quit.svg' adding 'mu/resources/images/repl.png' adding 'mu/resources/images/repl.svg' adding 'mu/resources/images/run.png' adding 'mu/resources/images/run.svg' adding 'mu/resources/images/save.png' adding 'mu/resources/images/save.svg' adding 'mu/resources/images/scroll-down.png' adding 'mu/resources/images/scroll-down.svg' adding 'mu/resources/images/scroll-left.png' adding 'mu/resources/images/scroll-left.svg' adding 'mu/resources/images/scroll-right.png' adding 'mu/resources/images/scroll-right.svg' adding 'mu/resources/images/scroll-up.png' adding 'mu/resources/images/scroll-up.svg' adding 'mu/resources/images/serial.png' adding 'mu/resources/images/serial.svg' adding 'mu/resources/images/snek.svg' adding 'mu/resources/images/snippets.png' adding 'mu/resources/images/snippets.svg' adding 'mu/resources/images/sounds.png' adding 'mu/resources/images/sounds.svg' adding 'mu/resources/images/splash-screen.png' adding 'mu/resources/images/splash_fail.png' adding 'mu/resources/images/splash_screen.gif' adding 'mu/resources/images/splash_screen.xcf' adding 'mu/resources/images/splash_screen_base_image.png' adding 'mu/resources/images/static.png' adding 'mu/resources/images/static.svg' adding 'mu/resources/images/step-in.png' adding 'mu/resources/images/step-in.svg' adding 'mu/resources/images/step-out.png' adding 'mu/resources/images/step-out.svg' adding 'mu/resources/images/step-over.png' adding 'mu/resources/images/step-over.svg' adding 'mu/resources/images/stop.png' adding 'mu/resources/images/stop.svg' adding 'mu/resources/images/templates.png' adding 'mu/resources/images/templates.svg' adding 'mu/resources/images/theme.png' adding 'mu/resources/images/theme.svg' adding 'mu/resources/images/theme_contrast.png' adding 'mu/resources/images/theme_contrast.svg' adding 'mu/resources/images/theme_day.png' adding 'mu/resources/images/theme_day.svg' adding 'mu/resources/images/tidy.png' adding 'mu/resources/images/tidy.svg' adding 'mu/resources/images/web.png' adding 'mu/resources/images/zoom-in.png' adding 'mu/resources/images/zoom-in.svg' adding 'mu/resources/images/zoom-out.png' adding 'mu/resources/images/zoom-out.svg' adding 'mu/resources/pygamezero/alien.png' adding 'mu/resources/pygamezero/alien_hurt.png' adding 'mu/resources/pygamezero/cat1.png' adding 'mu/resources/pygamezero/cat2.png' adding 'mu/resources/pygamezero/cat3.png' adding 'mu/resources/pygamezero/cat4.png' adding 'mu/resources/pygamezero/eep.wav' adding 'mu/resources/pygamezero/meow1.wav' adding 'mu/resources/pygamezero/meow2.wav' adding 'mu/resources/pygamezero/meow3.wav' adding 'mu/resources/pygamezero/meow4.wav' adding 'mu/resources/pygamezero/splat.png' adding 'mu/resources/pygamezero/splat.wav' adding 'mu/resources/web/static/css/normalize.css' adding 'mu/resources/web/static/css/skeleton.css' adding 'mu/resources/web/static/img/logo.png' adding 'mu/resources/web/templates/age.html' adding 'mu/resources/web/templates/base.html' adding 'mu/resources/web/templates/greeting.html' adding 'mu/resources/web/templates/index.html' adding 'mu/wheels/__init__.py' adding 'mu/wheels/__main__.py' adding 'mu_editor-1.2.0.dist-info/AUTHORS.rst' adding 'mu_editor-1.2.0.dist-info/LICENSE' adding 'mu_editor-1.2.0.dist-info/METADATA' adding 'mu_editor-1.2.0.dist-info/WHEEL' adding 'mu_editor-1.2.0.dist-info/entry_points.txt' adding 'mu_editor-1.2.0.dist-info/top_level.txt' adding 'mu_editor-1.2.0.dist-info/RECORD' removing build/bdist.linux-aarch64/wheel Building wheel for mu-editor (pyproject.toml): finished with status 'done' Created wheel for mu-editor: filename=mu_editor-1.2.0-py3-none-any.whl size=3746486 sha256=12ba8a6627ca8f3cb19686364e93f5905eb1a05821cea3050ece36446b61d793 Stored in directory: /builddir/.cache/pip/wheels/a5/1e/e1/3e9648dbbfdda41bf3670730e8f4d0eedd7f63ceca1bb1ba5a Successfully built mu-editor + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.NcqNF6 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch ++ dirname /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd mu-1.2.0 ++ ls /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir/mu_editor-1.2.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=mu_editor==1.2.0 + '[' -z mu_editor==1.2.0 ']' + TMPDIR=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir mu_editor==1.2.0 Using pip 23.2.1 from /usr/lib/python3.12/site-packages/pip (python 3.12) Looking in links: /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir Processing ./pyproject-wheeldir/mu_editor-1.2.0-py3-none-any.whl Installing collected packages: mu_editor Creating /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin changing mode of /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin/mu-editor to 755 Successfully installed mu_editor-1.2.0 + '[' -d /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin/mu-editor /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin/mu-editor: updating + rm -rfv /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages ']' + site_dirs+=("/usr/lib/python3.12/site-packages") + '[' /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib64/python3.12/site-packages '!=' /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages ']' + '[' -d /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib64/python3.12/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch --record /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/RECORD --output /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-record + rm -fv /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/RECORD removed '/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_PERCENTAGES_COUNT=2 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-files --output-modules /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-modules --buildroot /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch --sitelib /usr/lib/python3.12/site-packages --sitearch /usr/lib64/python3.12/site-packages --python-version 3.12 --pyproject-record /builddir/build/BUILD/mu-1.2.0-3.fc39.noarch-pyproject-record --prefix /usr mu + mkdir -p /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/applications /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/icons/hicolor/256x256/apps/ /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/udev/rules.d /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/metainfo + desktop-file-install --dir=/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/applications conf/mu.codewith.editor.desktop /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/applications/mu.codewith.editor.desktop: warning: value "A Python editor for beginner programmers" for key "Comment" in group "Desktop Entry" looks the same as that of key "GenericName" /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/applications/mu.codewith.editor.desktop: warning: value "text/x-python3;text/x-python3;" for key "MimeType" in group "Desktop Entry" contains "text/x-python3" more than once + cp -p conf/mu.codewith.editor.png /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/icons/hicolor/256x256/apps/ + cp -p conf/90-usb-microbit.rules /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/udev/rules.d/ + cp -p conf/mu.appdata.xml /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/metainfo/ + /usr/bin/find-debuginfo -j12 --strict-build-id -m -i --build-id-seed 1.2.0-3.fc39 --unique-debug-suffix -1.2.0-3.fc39.noarch --unique-debug-src-base mu-1.2.0-3.fc39.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/mu-1.2.0 find-debuginfo: starting Extracting debug info from 0 files Creating .debug symlinks for symlinks to ELF files find: ‘debug’: No such file or directory find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j12 Bytecompiling .py files below /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12 using python3.12 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.D58ixR + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd mu-1.2.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + PATH=/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib64/python3.12/site-packages:/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/lib/python3.12/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=12 + xvfb-run /usr/bin/pytest -vv -k 'not test_Window_connect_zoom' ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-7.3.2, pluggy-1.2.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/mu-1.2.0 configfile: pytest.ini collecting ... collected 1135 items / 1 deselected / 1134 selected tests/test_app.py::test_animated_splash_init PASSED [ 0%] tests/test_app.py::test_animated_splash_set_frame PASSED [ 0%] tests/test_app.py::test_animated_splash_draw_log PASSED [ 0%] tests/test_app.py::test_animated_splash_failed PASSED [ 0%] tests/test_app.py::test_worker_run PASSED [ 0%] tests/test_app.py::test_worker_fail PASSED [ 0%] tests/test_app.py::test_setup_logging_without_envvar PASSED [ 0%] tests/test_app.py::test_setup_logging_with_envvar PASSED [ 0%] tests/test_app.py::test_run PASSED [ 0%] tests/test_app.py::test_close_splash_screen SKIPPED (Possibly hanging...) [ 0%] tests/test_app.py::test_excepthook PASSED [ 0%] tests/test_app.py::test_excepthook_alamo PASSED [ 1%] tests/test_app.py::test_debug PASSED [ 1%] tests/test_app.py::test_debug_no_args PASSED [ 1%] tests/test_logic.py::test_CONSTANTS PASSED [ 1%] tests/test_logic.py::test_write_and_flush PASSED [ 1%] tests/test_logic.py::test_save_and_encode PASSED [ 1%] tests/test_logic.py::test_sniff_encoding_from_BOM PASSED [ 1%] tests/test_logic.py::test_sniff_encoding_from_cookie PASSED [ 1%] tests/test_logic.py::test_sniff_encoding_from_bad_cookie_encoding PASSED [ 1%] tests/test_logic.py::test_sniff_encoding_from_bad_cookie_name PASSED [ 1%] tests/test_logic.py::test_sniff_encoding_fallback_to_locale PASSED [ 1%] tests/test_logic.py::test_sniff_newline_convention PASSED [ 2%] tests/test_logic.py::test_sniff_newline_convention_local PASSED [ 2%] tests/test_logic.py::test_get_session_path SKIPPED (No longer needed post PR #1200) [ 2%] tests/test_logic.py::test_get_settings_path SKIPPED (No longer needed post PR #1200) [ 2%] tests/test_logic.py::test_extract_envars PASSED [ 2%] tests/test_logic.py::test_check_flake PASSED [ 2%] tests/test_logic.py::test_check_flake_needing_expansion PASSED [ 2%] tests/test_logic.py::test_check_flake_with_builtins PASSED [ 2%] tests/test_logic.py::test_check_real_flake_output_with_builtins PASSED [ 2%] tests/test_logic.py::test_check_pycodestyle_E121 PASSED [ 2%] tests/test_logic.py::test_check_pycodestyle_custom_override PASSED [ 2%] tests/test_logic.py::test_check_pycodestyle PASSED [ 2%] tests/test_logic.py::test_check_pycodestyle_with_non_ascii PASSED [ 3%] tests/test_logic.py::test_MuFlakeCodeReporter_init PASSED [ 3%] tests/test_logic.py::test_MuFlakeCodeReporter_unexpected_error PASSED [ 3%] tests/test_logic.py::test_MuFlakeCodeReporter_syntax_error PASSED [ 3%] tests/test_logic.py::test_MuFlakeCodeReporter_flake_matched PASSED [ 3%] tests/test_logic.py::test_MuFlakeCodeReporter_flake_real_output PASSED [ 3%] tests/test_logic.py::test_MuFlakeCodeReporter_flake_un_matched PASSED [ 3%] tests/test_logic.py::test_device__init PASSED [ 3%] tests/test_logic.py::test_device_name PASSED [ 3%] tests/test_logic.py::test_device_equality PASSED [ 3%] tests/test_logic.py::test_device_inequality PASSED [ 3%] tests/test_logic.py::test_device_ordering_lt PASSED [ 4%] tests/test_logic.py::test_device_ordering_gt PASSED [ 4%] tests/test_logic.py::test_device_ordering_le PASSED [ 4%] tests/test_logic.py::test_device_ordering_ge PASSED [ 4%] tests/test_logic.py::test_device_to_string PASSED [ 4%] tests/test_logic.py::test_device_hash PASSED [ 4%] tests/test_logic.py::test_devicelist_index PASSED [ 4%] tests/test_logic.py::test_devicelist_length PASSED [ 4%] tests/test_logic.py::test_devicelist_rowCount PASSED [ 4%] tests/test_logic.py::test_devicelist_data PASSED [ 4%] tests/test_logic.py::test_devicelist_add_device_in_sorted_order PASSED [ 4%] tests/test_logic.py::test_devicelist_remove_device PASSED [ 5%] tests/test_logic.py::test_editor_init PASSED [ 5%] tests/test_logic.py::test_editor_setup PASSED [ 5%] tests/test_logic.py::test_editor_connect_to_status_bar PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_existing_runtime PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_missing_runtime PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_missing_files PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_invalid_mode PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_no_session_file PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_invalid_file PASSED [ 5%] tests/test_logic.py::test_restore_session_open_tabs_in_the_same_order PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_list_envars PASSED [ 5%] tests/test_logic.py::test_editor_restore_session_duplicated_list_envars PASSED [ 6%] tests/test_logic.py::test_editor_restore_saved_window_geometry PASSED [ 6%] tests/test_logic.py::test_editor_restore_default_window_geometry PASSED [ 6%] tests/test_logic.py::test_editor_open_focus_passed_file PASSED [ 6%] tests/test_logic.py::test_editor_session_and_open_focus_passed_file PASSED [ 6%] tests/test_logic.py::test_toggle_theme_to_night PASSED [ 6%] tests/test_logic.py::test_toggle_theme_to_day PASSED [ 6%] tests/test_logic.py::test_toggle_theme_to_contrast PASSED [ 6%] tests/test_logic.py::test_new PASSED [ 6%] tests/test_logic.py::test_load_checks_file_exists PASSED [ 6%] tests/test_logic.py::test_load_python_file PASSED [ 6%] tests/test_logic.py::test_load_python_file_case_insensitive_file_type PASSED [ 7%] tests/test_logic.py::test_load_python_unicode_error PASSED [ 7%] tests/test_logic.py::test_no_duplicate_load_python_file PASSED [ 7%] tests/test_logic.py::test_no_duplicate_load_python_file_widget_file_no_longer_exists PASSED [ 7%] tests/test_logic.py::test_load_other_file PASSED [ 7%] tests/test_logic.py::test_load_other_file_change_mode PASSED [ 7%] tests/test_logic.py::test_load_other_file_with_exception PASSED [ 7%] tests/test_logic.py::test_load_not_python_or_hex PASSED [ 7%] tests/test_logic.py::test_load_recovers_from_oserror PASSED [ 7%] tests/test_logic.py::test_load_stores_newline PASSED [ 7%] tests/test_logic.py::test_save_restores_newline PASSED [ 7%] tests/test_logic.py::test_save_strips_trailing_spaces PASSED [ 8%] tests/test_logic.py::test_load_error PASSED [ 8%] tests/test_logic.py::test_load_sets_current_path PASSED [ 8%] tests/test_logic.py::test_load_no_current_path PASSED [ 8%] tests/test_logic.py::test_load_no_current_path_no_current_tab PASSED [ 8%] tests/test_logic.py::test_load_has_current_path_does_not_exist PASSED [ 8%] tests/test_logic.py::test_load_has_current_path PASSED [ 8%] tests/test_logic.py::test_load_has_default_path PASSED [ 8%] tests/test_logic.py::test_check_for_shadow_module_with_match PASSED [ 8%] tests/test_logic.py::test_save_no_tab PASSED [ 8%] tests/test_logic.py::test_save_no_path PASSED [ 8%] tests/test_logic.py::test_save_no_path_no_path_given PASSED [ 8%] tests/test_logic.py::test_save_path_shadows_module PASSED [ 9%] tests/test_logic.py::test_save_file_with_exception PASSED [ 9%] tests/test_logic.py::test_save_file_with_encoding_error PASSED [ 9%] tests/test_logic.py::test_save_python_file PASSED [ 9%] tests/test_logic.py::test_save_with_non_py_file_extension PASSED [ 9%] tests/test_logic.py::test_get_tab_existing_tab PASSED [ 9%] tests/test_logic.py::test_get_tab_new_tab PASSED [ 9%] tests/test_logic.py::test_get_tab_no_path PASSED [ 9%] tests/test_logic.py::test_zoom_in PASSED [ 9%] tests/test_logic.py::test_zoom_out PASSED [ 9%] tests/test_logic.py::test_check_code_on PASSED [ 9%] tests/test_logic.py::test_check_code_no_problems PASSED [ 10%] tests/test_logic.py::test_check_code_off PASSED [ 10%] tests/test_logic.py::test_check_code_no_tab PASSED [ 10%] tests/test_logic.py::test_check_code_not_python PASSED [ 10%] tests/test_logic.py::test_show_help PASSED [ 10%] tests/test_logic.py::test_quit_modified_cancelled_from_button PASSED [ 10%] tests/test_logic.py::test_quit_modified_cancelled_from_event PASSED [ 10%] tests/test_logic.py::test_quit_modified_ok PASSED [ 10%] tests/test_logic.py::test_quit_save_tabs_with_paths PASSED [ 10%] tests/test_logic.py::test_quit_save_theme PASSED [ 10%] tests/test_logic.py::test_quit_save_envars PASSED [ 10%] tests/test_logic.py::test_quit_save_zoom_level PASSED [ 11%] tests/test_logic.py::test_quit_save_window_geometry PASSED [ 11%] tests/test_logic.py::test_quit_calls_mode_stop PASSED [ 11%] tests/test_logic.py::test_quit_calls_sys_exit PASSED [ 11%] tests/test_logic.py::test_show_admin PASSED [ 11%] tests/test_logic.py::test_show_admin_no_change PASSED [ 11%] tests/test_logic.py::test_show_admin_missing_microbit_runtime PASSED [ 11%] tests/test_logic.py::test_sync_package_state PASSED [ 11%] tests/test_logic.py::test_select_mode PASSED [ 11%] tests/test_logic.py::test_select_mode_debug_mode PASSED [ 11%] tests/test_logic.py::test_change_mode PASSED [ 11%] tests/test_logic.py::test_change_mode_no_timer PASSED [ 11%] tests/test_logic.py::test_change_mode_reset_breakpoints PASSED [ 12%] tests/test_logic.py::test_change_mode_workspace_dir_exception PASSED [ 12%] tests/test_logic.py::test_autosave PASSED [ 12%] tests/test_logic.py::test_check_usb PASSED [ 12%] tests/test_logic.py::test_check_usb_remove_disconnected_devices PASSED [ 12%] tests/test_logic.py::test_ask_to_change_mode_confirm PASSED [ 12%] tests/test_logic.py::test_ask_to_change_mode_cancel PASSED [ 12%] tests/test_logic.py::test_ask_to_change_mode_already_in_mode PASSED [ 12%] tests/test_logic.py::test_ask_to_change_mode_currently_running_code PASSED [ 12%] tests/test_logic.py::test_ask_to_change_mode_when_selecting_mode_is_silent PASSED [ 12%] tests/test_logic.py::test_device_changed PASSED [ 12%] tests/test_logic.py::test_show_status_message PASSED [ 13%] tests/test_logic.py::test_debug_toggle_breakpoint_as_debugger PASSED [ 13%] tests/test_logic.py::test_debug_toggle_breakpoint_on PASSED [ 13%] tests/test_logic.py::test_debug_toggle_breakpoint_off PASSED [ 13%] tests/test_logic.py::test_debug_toggle_breakpoint_on_invalid_breakpoint_line PASSED [ 13%] tests/test_logic.py::test_debug_toggle_breakpoint_off_invalid_breakpoint_line PASSED [ 13%] tests/test_logic.py::test_rename_tab_no_tab_id PASSED [ 13%] tests/test_logic.py::test_rename_tab PASSED [ 13%] tests/test_logic.py::test_rename_tab_with_shadow_module PASSED [ 13%] tests/test_logic.py::test_rename_tab_avoid_duplicating_other_tab_name PASSED [ 13%] tests/test_logic.py::test_logic_independent_import_logic PASSED [ 13%] tests/test_logic.py::test_logic_independent_import_app PASSED [ 14%] tests/test_logic.py::test_read_newline_no_text PASSED [ 14%] tests/test_logic.py::test_read_newline_all_unix PASSED [ 14%] tests/test_logic.py::test_read_newline_all_windows PASSED [ 14%] tests/test_logic.py::test_read_newline_most_unix PASSED [ 14%] tests/test_logic.py::test_read_newline_most_windows PASSED [ 14%] tests/test_logic.py::test_read_newline_equal_match PASSED [ 14%] tests/test_logic.py::test_write_newline_to_unix PASSED [ 14%] tests/test_logic.py::test_write_newline_to_windows PASSED [ 14%] tests/test_logic.py::test_read_utf8bom PASSED [ 14%] tests/test_logic.py::test_read_utf16bebom PASSED [ 14%] tests/test_logic.py::test_read_utf16lebom PASSED [ 14%] tests/test_logic.py::test_read_encoding_cookie PASSED [ 15%] tests/test_logic.py::test_read_encoding_mu_default PASSED [ 15%] tests/test_logic.py::test_read_encoding_default PASSED [ 15%] tests/test_logic.py::test_read_encoding_unsuccessful PASSED [ 15%] tests/test_logic.py::test_write_encoding_cookie_no_cookie PASSED [ 15%] tests/test_logic.py::test_write_encoding_cookie_existing_cookie PASSED [ 15%] tests/test_logic.py::test_write_invalid_codec PASSED [ 15%] tests/test_logic.py::test_handle_open_file PASSED [ 15%] tests/test_logic.py::test_load_cli PASSED [ 15%] tests/test_logic.py::test_abspath PASSED [ 15%] tests/test_logic.py::test_abspath_fail PASSED [ 15%] tests/test_logic.py::test_find_replace_cancelled PASSED [ 16%] tests/test_logic.py::test_find_replace_no_find PASSED [ 16%] tests/test_logic.py::test_find_again_no_find PASSED [ 16%] tests/test_logic.py::test_find_replace_find_matched PASSED [ 16%] tests/test_logic.py::test_find_again_find_matched PASSED [ 16%] tests/test_logic.py::test_find_replace_find_unmatched PASSED [ 16%] tests/test_logic.py::test_find_again_find_unmatched PASSED [ 16%] tests/test_logic.py::test_find_replace_replace_no_match PASSED [ 16%] tests/test_logic.py::test_find_replace_replace_single_match PASSED [ 16%] tests/test_logic.py::test_find_replace_replace_multi_match PASSED [ 16%] tests/test_logic.py::test_toggle_comments PASSED [ 16%] tests/test_logic.py::test_tidy_code_no_tab PASSED [ 17%] tests/test_logic.py::test_tidy_code_not_python PASSED [ 17%] tests/test_logic.py::test_tidy_code_valid_python PASSED [ 17%] tests/test_logic.py::test_tidy_code_invalid_python PASSED [ 17%] tests/test_logic.py::test_check_tidy_check_line_too_long PASSED [ 17%] tests/test_logic.py::test_check_tidy_check_short_line PASSED [ 17%] tests/test_logic.py::test_device_init PASSED [ 17%] tests/test_logic.py::test_device_with_no_board_name_is_mode_name PASSED [ 17%] tests/test_logic.py::test_com1_equality PASSED [ 17%] tests/test_logic.py::test_com1_not_equal_on_different_ports PASSED [ 17%] tests/test_logic.py::test_com1_hash_equality PASSED [ 17%] tests/test_logic.py::test_com1_hash_not_equal_on_different_ports PASSED [ 17%] tests/test_resources.py::test_path PASSED [ 18%] tests/test_resources.py::test_load_icon PASSED [ 18%] tests/test_resources.py::test_load_pixmap PASSED [ 18%] tests/test_resources.py::test_load_movie PASSED [ 18%] tests/test_resources.py::test_stylesheet PASSED [ 18%] tests/test_resources.py::test_load_font_data PASSED [ 18%] tests/test_settings.py::test_creation PASSED [ 18%] tests/test_settings.py::test_creation_with_keywords PASSED [ 18%] tests/test_settings.py::test_keywords_are_changed PASSED [ 18%] tests/test_settings.py::test_getitem PASSED [ 18%] tests/test_settings.py::test_setitem PASSED [ 18%] tests/test_settings.py::test_setitem_is_changed PASSED [ 19%] tests/test_settings.py::test_delitem PASSED [ 19%] tests/test_settings.py::test_delitem_is_not_changed PASSED [ 19%] tests/test_settings.py::test_update PASSED [ 19%] tests/test_settings.py::test_update_is_changed PASSED [ 19%] tests/test_settings.py::test_get_item_exists PASSED [ 19%] tests/test_settings.py::test_get_return_default PASSED [ 19%] tests/test_settings.py::test_get_return_none PASSED [ 19%] tests/test_settings.py::test_reset_has_defaults PASSED [ 19%] tests/test_settings.py::test_reset_nothing_changed PASSED [ 19%] tests/test_settings.py::test_repr PASSED [ 19%] tests/test_settings.py::test_as_string PASSED [ 20%] tests/test_settings.py::test_as_string_unable_to_encode PASSED [ 20%] tests/test_settings.py::test_as_string_changed_only PASSED [ 20%] tests/test_settings.py::test_save_readonly PASSED [ 20%] tests/test_settings.py::test_save_no_filepath PASSED [ 20%] tests/test_settings.py::test_save_only_changed PASSED [ 20%] tests/test_settings.py::test_save_unable_to_write PASSED [ 20%] tests/test_settings.py::test_save_unable_to_encode PASSED [ 20%] tests/test_settings.py::test_load_file_not_found PASSED [ 20%] tests/test_settings.py::test_load_file_unable_to_read PASSED [ 20%] tests/test_settings.py::test_expandvars_string PASSED [ 20%] tests/test_settings.py::test_expandvars_none PASSED [ 20%] tests/test_settings.py::test_expandvars_nonexistent_envvar PASSED [ 21%] tests/test_settings.py::test_default_file_location_not_frozen PASSED [ 21%] tests/test_settings.py::test_default_file_location_frozen PASSED [ 21%] tests/test_settings.py::test_default_file_location_frozen_osx PASSED [ 21%] tests/test_settings.py::test_default_file_location_with_data_path PASSED [ 21%] tests/test_settings.py::test_default_file_location_no_files SKIPPED (No longer relevant post PR#1200) [ 21%] tests/test_settings.py::test_default_file_location_no_files_cannot_create SKIPPED (No longer relevant post PR#1200) [ 21%] tests/debugger/test_client.py::test_Breakpoint_init PASSED [ 21%] tests/debugger/test_client.py::test_Breakpoint_str PASSED [ 21%] tests/debugger/test_client.py::test_CommandBufferHandler_init PASSED [ 21%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_with_connection_refused_error PASSED [ 21%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_with_address_error PASSED [ 22%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_break_loop PASSED [ 22%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_exception_breaks_loop PASSED [ 22%] tests/debugger/test_client.py::test_command_buffer_message PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_init PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_start PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_on_command PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_on_fail PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_stop PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_output PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_output_client_error PASSED [ 22%] tests/debugger/test_client.py::test_Debugger_output_no_client_connection PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_breakpoint_as_tuple PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_breakpoint_as_breakpoint_number PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_breakpoint_unknown PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_breakpoints PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_create_breakpoint PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_enable_breakpoint PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_disable_breakpoint PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_ignore_breakpoint PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_clear_breakpoint PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_do_run PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_do_step PASSED [ 23%] tests/debugger/test_client.py::test_Debugger_do_next PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_do_return PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_bootstrap PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_create PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_create_disabled PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_enable PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_disable PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_ignore PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_clear PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_stack PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_restart PASSED [ 24%] tests/debugger/test_client.py::test_Debugger_on_call PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_return PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_line PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_exception PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_postmortem PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_info PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_warning PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_error PASSED [ 25%] tests/debugger/test_client.py::test_Debugger_on_finished PASSED [ 25%] tests/debugger/test_runner.py::test_command_buffer_break_loop PASSED [ 25%] tests/debugger/test_runner.py::test_command_buffer_message PASSED [ 25%] tests/debugger/test_runner.py::test_Debugger_init PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_output PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_output_client_error PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_output_no_client_connection PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_output_stack_normal PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_output_stack_exception PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_reset PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_setup PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_interact_good_case PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_interact_unknown_command PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_interact_client_close PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_interact_restart PASSED [ 26%] tests/debugger/test_runner.py::test_Debugger_interact_exception_encountered PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_call_starting PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_call_started PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_line_starting_no_line PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_line_starting_valid_line PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_return_starting PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_return PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_exception_starting PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_exception_string_exc_type PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_user_exception_other_exc_type PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_do_break_non_executable_line PASSED [ 27%] tests/debugger/test_runner.py::test_Debugger_do_break_causes_error PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_break PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_enable_no_such_breakpoint PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_enable PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_disable_no_such_breakpoint PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_disable PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_ignore_bad_count PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_ignore_no_breakpoint PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_ignore PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_clear_no_breakpoint PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_clear_error_encountered PASSED [ 28%] tests/debugger/test_runner.py::test_Debugger_do_clear PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_step PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_next PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_restart PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_return PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_continue_with_breakpoints PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_continue_no_breakpoints PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_continue_no_breakpoints_continue_flag_set PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_quit PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_do_close PASSED [ 29%] tests/debugger/test_runner.py::test_Debugger_runscript PASSED [ 29%] tests/debugger/test_runner.py::test_run_with_user_requested_quit PASSED [ 29%] tests/debugger/test_runner.py::test_run_with_restart_exception PASSED [ 30%] tests/debugger/test_runner.py::test_run_with_expected_exception PASSED [ 30%] tests/debugger/test_runner.py::test_run_with_unexpected_exception PASSED [ 30%] tests/debugger/test_utils.py::test_is_breakpoint_line_valid_code PASSED [ 30%] tests/debugger/test_utils.py::test_is_breakpoint_line_valid_code_with_whitespace PASSED [ 30%] tests/debugger/test_utils.py::test_is_breakpoint_line_valid_blank_line PASSED [ 30%] tests/debugger/test_utils.py::test_is_breakpoint_line_comment PASSED [ 30%] tests/debugger/test_utils.py::test_is_breakpoint_line_opening_collection PASSED [ 30%] tests/debugger/test_utils.py::test_is_breakpoint_line_closing_collection PASSED [ 30%] tests/interface/test_dialogs.py::test_ModeItem_init PASSED [ 30%] tests/interface/test_dialogs.py::test_ModeSelector_setup PASSED [ 30%] tests/interface/test_dialogs.py::test_ModeSelector_select_and_accept PASSED [ 31%] tests/interface/test_dialogs.py::test_ModeSelector_get_mode PASSED [ 31%] tests/interface/test_dialogs.py::test_LogWidget_setup PASSED [ 31%] tests/interface/test_dialogs.py::test_EnvironmentVariablesWidget_setup PASSED [ 31%] tests/interface/test_dialogs.py::test_MicrobitSettingsWidget_setup PASSED [ 31%] tests/interface/test_dialogs.py::test_PackagesWidget_setup PASSED [ 31%] tests/interface/test_dialogs.py::test_PythonAnywhereWidget_setup PASSED [ 31%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_setup PASSED [ 31%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_show_folder_dialog PASSED [ 31%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_update_firmware PASSED [ 31%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_update_firmware_no_device PASSED [ 31%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_esptool_error PASSED [ 32%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_esptool_finished PASSED [ 32%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_read_process PASSED [ 32%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_firmware_path_changed PASSED [ 32%] tests/interface/test_dialogs.py::test_AdminDialog_setup_python_mode PASSED [ 32%] tests/interface/test_dialogs.py::test_AdminDialog_setup_microbit_mode PASSED [ 32%] tests/interface/test_dialogs.py::test_AdminDialog_setup_web_mode PASSED [ 32%] tests/interface/test_dialogs.py::test_AdminDialog_setup PASSED [ 32%] tests/interface/test_dialogs.py::test_FindReplaceDialog_setup PASSED [ 32%] tests/interface/test_dialogs.py::test_FindReplaceDialog_setup_with_args PASSED [ 32%] tests/interface/test_dialogs.py::test_PackageDialog_setup PASSED [ 32%] tests/interface/test_dialogs.py::test_PackageDialog_remove_packages SKIPPED (Superseded probably by ntoll's previous work on venv) [ 32%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_dist_info SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_dist_info_cannot_delete SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_egg_info SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_egg_info_cannot_delete SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_egg_info_cannot_open_record SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_end_state SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_end_state SKIPPED (Superseded probably by ntoll's previous work on venv) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_run_pip SKIPPED (Superseded probably by virtual environment work) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_finished_with_more_to_remove SKIPPED (Superseded probably by virtual environment work) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_finished_to_end_state SKIPPED (Superseded probably by virtual environment work) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_read_process SKIPPED (Superseded probably by virtual environment work) [ 33%] tests/interface/test_dialogs.py::test_PackageDialog_append_data SKIPPED (Superseded probably by virtual environment work) [ 34%] tests/interface/test_editor.py::test_pythonlexer_keywords PASSED [ 34%] tests/interface/test_editor.py::test_csslexer_description_comments PASSED [ 34%] tests/interface/test_editor.py::test_csslexer_description_other PASSED [ 34%] tests/interface/test_editor.py::test_EditorPane_init_python PASSED [ 34%] tests/interface/test_editor.py::test_EditorPane_init_html PASSED [ 34%] tests/interface/test_editor.py::test_EditorPane_init_css PASSED [ 34%] tests/interface/test_editor.py::test_EditorPane_configure PASSED [ 34%] tests/interface/test_editor.py::test_Editor_connect_margin PASSED [ 34%] tests/interface/test_editor.py::test_Editor_connect_margin_ignores_margin_4 PASSED [ 34%] tests/interface/test_editor.py::test_Editor_connect_margin_1_works PASSED [ 34%] tests/interface/test_editor.py::test_EditorPane_set_theme PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_set_zoom PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_label PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_reset_annotations PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_reset_check_indicators PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_reset_search_indicators PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_annotate_code PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_debugger_at_line PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_debugger_at_line_windows_line_endings PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_reset_debugger_highlight PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_show_annotations PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_find_next_match PASSED [ 35%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_no_selection PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_spans_two_or_more_lines PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_multi_word PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_with_match[foo bar foo baz foo-foo] PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_with_match[r\xe9sum\xe9 foo bar foo baz foo-foo] PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_with_match[r\xe9sum\xe9 bar r\xe9sum\xe9 baz r\xe9sum\xe9-r\xe9sum\xe9] PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_incomplete_word PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_cursor_remains PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_selection_change_listener PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_drop_event PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_drop_event_not_file PASSED [ 36%] tests/interface/test_editor.py::test_EditorPane_toggle_line_starts_with_hash PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_line_starts_with_hash_space PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_line_preserves_embedded_comment PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_line_normal_line PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_line_whitespace_line PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_line_preserves_multi_comment PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_no_selection PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_normal_lines PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_hash_comment_lines PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_hash_space_comment_lines PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_spaces_before_comment_mark PASSED [ 37%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_spaces_after_comment_mark PASSED [ 38%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selection_follows_len_change PASSED [ 38%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_handle_crlf_newline PASSED [ 38%] tests/interface/test_editor.py::test_EditorPane_wheelEvent PASSED [ 38%] tests/interface/test_editor.py::test_EditorPane_wheelEvent_with_modifier_ignored PASSED [ 38%] tests/interface/test_editor.py::test_EditorPane_contextMenuEvent PASSED [ 38%] tests/interface/test_main.py::test_ButtonBar_init PASSED [ 38%] tests/interface/test_main.py::test_ButtonBar_reset PASSED [ 38%] tests/interface/test_main.py::test_ButtonBar_change_mode PASSED [ 38%] tests/interface/test_main.py::test_ButtonBar_set_responsive_mode PASSED [ 38%] tests/interface/test_main.py::test_ButtonBar_add_action PASSED [ 38%] tests/interface/test_main.py::test_ButtonBar_connect PASSED [ 38%] tests/interface/test_main.py::test_FileTabs_init PASSED [ 39%] tests/interface/test_main.py::test_FileTabs_removeTab_cancel PASSED [ 39%] tests/interface/test_main.py::test_FileTabs_removeTab_ok PASSED [ 39%] tests/interface/test_main.py::test_FileTabs_change_tab PASSED [ 39%] tests/interface/test_main.py::test_FileTabs_change_tab_no_tabs PASSED [ 39%] tests/interface/test_main.py::test_FileTabs_addTab PASSED [ 39%] tests/interface/test_main.py::test_Window_attributes PASSED [ 39%] tests/interface/test_main.py::test_Window_wheelEvent_zoom_in PASSED [ 39%] tests/interface/test_main.py::test_Window_wheelEvent_zoom_out PASSED [ 39%] tests/interface/test_main.py::test_Window_resizeEvent PASSED [ 39%] tests/interface/test_main.py::test_Window_select_mode_selected PASSED [ 39%] tests/interface/test_main.py::test_Window_select_mode_cancelled PASSED [ 40%] tests/interface/test_main.py::test_Window_change_mode PASSED [ 40%] tests/interface/test_main.py::test_Window_set_zoom PASSED [ 40%] tests/interface/test_main.py::test_Window_zoom_in PASSED [ 40%] tests/interface/test_main.py::test_Window_zoom_out PASSED [ 40%] tests/interface/test_main.py::test_Window_current_tab PASSED [ 40%] tests/interface/test_main.py::test_Window_set_read_only PASSED [ 40%] tests/interface/test_main.py::test_Window_get_load_path_no_previous PASSED [ 40%] tests/interface/test_main.py::test_Window_get_load_path_with_previous PASSED [ 40%] tests/interface/test_main.py::test_Window_get_load_path_force_path PASSED [ 40%] tests/interface/test_main.py::test_Window_get_save_path PASSED [ 40%] tests/interface/test_main.py::test_Window_get_save_path_missing_extension PASSED [ 41%] tests/interface/test_main.py::test_Window_get_save_path_empty_path PASSED [ 41%] tests/interface/test_main.py::test_Window_get_save_path_for_dot_file PASSED [ 41%] tests/interface/test_main.py::test_Window_get_microbit_path PASSED [ 41%] tests/interface/test_main.py::test_Window_add_tab PASSED [ 41%] tests/interface/test_main.py::test_Window_focus_tab PASSED [ 41%] tests/interface/test_main.py::test_Window_tab_count PASSED [ 41%] tests/interface/test_main.py::test_Window_widgets PASSED [ 41%] tests/interface/test_main.py::test_Window_modified PASSED [ 41%] tests/interface/test_main.py::test_Window_on_context_menu_nothing_selected PASSED [ 41%] tests/interface/test_main.py::test_Window_on_context_menu_has_selection_but_no_repl PASSED [ 41%] tests/interface/test_main.py::test_Window_on_context_menu_has_selection_but_no_interactive_process PASSED [ 41%] tests/interface/test_main.py::test_Window_on_context_menu_with_repl PASSED [ 42%] tests/interface/test_main.py::test_Window_on_context_menu_with_process_runner PASSED [ 42%] tests/interface/test_main.py::test_Window_copy_to_repl_fragment PASSED [ 42%] tests/interface/test_main.py::test_Window_copy_to_repl_with_python_runner PASSED [ 42%] tests/interface/test_main.py::test_Window_copy_to_repl_multi_line PASSED [ 42%] tests/interface/test_main.py::test_Window_on_stdout_write PASSED [ 42%] tests/interface/test_main.py::test_Window_add_filesystem PASSED [ 42%] tests/interface/test_main.py::test_Window_add_filesystem_open_signal PASSED [ 42%] tests/interface/test_main.py::test_Window_add_micropython_repl PASSED [ 42%] tests/interface/test_main.py::test_Window_add_micropython_plotter PASSED [ 42%] tests/interface/test_main.py::test_Window_add_snek_repl PASSED [ 42%] tests/interface/test_main.py::test_Window_add_snek_repl_no_interrupt PASSED [ 43%] tests/interface/test_main.py::test_Window_add_python3_plotter PASSED [ 43%] tests/interface/test_main.py::test_Window_add_jupyter_repl PASSED [ 43%] tests/interface/test_main.py::test_Window_add_repl PASSED [ 43%] tests/interface/test_main.py::test_Window_add_plotter PASSED [ 43%] tests/interface/test_main.py::test_Window_remember_plotter_position PASSED [ 43%] tests/interface/test_main.py::test_Window_add_python3_runner PASSED [ 43%] tests/interface/test_main.py::test_Window_add_debug_inspector PASSED [ 43%] tests/interface/test_main.py::test_Window_update_debug_inspector PASSED [ 43%] tests/interface/test_main.py::test_Window_update_debug_inspector_with_exception PASSED [ 43%] tests/interface/test_main.py::test_Window_remove_filesystem PASSED [ 43%] tests/interface/test_main.py::test_Window_remove_repl PASSED [ 44%] tests/interface/test_main.py::test_Window_remove_plotter PASSED [ 44%] tests/interface/test_main.py::test_Window_remove_python_runner PASSED [ 44%] tests/interface/test_main.py::test_Window_remove_debug_inspector PASSED [ 44%] tests/interface/test_main.py::test_Window_set_theme PASSED [ 44%] tests/interface/test_main.py::test_Window_set_checker_icon PASSED [ 44%] tests/interface/test_main.py::test_Window_show_admin PASSED [ 44%] tests/interface/test_main.py::test_Window_show_admin_cancelled PASSED [ 44%] tests/interface/test_main.py::test_Window_sync_packages PASSED [ 44%] tests/interface/test_main.py::test_Window_show_message PASSED [ 44%] tests/interface/test_main.py::test_Window_show_message_default PASSED [ 44%] tests/interface/test_main.py::test_Window_show_confirmation PASSED [ 44%] tests/interface/test_main.py::test_Window_show_confirmation_default PASSED [ 45%] tests/interface/test_main.py::test_Window_update_title PASSED [ 45%] tests/interface/test_main.py::test_Window_autosize_window PASSED [ 45%] tests/interface/test_main.py::test_Window_autosize_window_off_screen PASSED [ 45%] tests/interface/test_main.py::test_Window_reset_annotations PASSED [ 45%] tests/interface/test_main.py::test_Window_annotate_code PASSED [ 45%] tests/interface/test_main.py::test_Window_show_annotations PASSED [ 45%] tests/interface/test_main.py::test_Window_setup PASSED [ 45%] tests/interface/test_main.py::test_Window_set_usb_checker PASSED [ 45%] tests/interface/test_main.py::test_Window_set_timer PASSED [ 45%] tests/interface/test_main.py::test_Window_stop_timer PASSED [ 45%] tests/interface/test_main.py::test_Window_connect_tab_rename PASSED [ 46%] tests/interface/test_main.py::test_Window_open_directory_from_os_windows PASSED [ 46%] tests/interface/test_main.py::test_Window_open_directory_from_os_darwin PASSED [ 46%] tests/interface/test_main.py::test_Window_open_directory_from_os_freedesktop PASSED [ 46%] tests/interface/test_main.py::test_Window_open_file_event PASSED [ 46%] tests/interface/test_main.py::test_Window_connect_find_replace PASSED [ 46%] tests/interface/test_main.py::test_Window_connect_find_again PASSED [ 46%] tests/interface/test_main.py::test_Window_show_find_replace PASSED [ 46%] tests/interface/test_main.py::test_Window_replace_text_not_current_tab PASSED [ 46%] tests/interface/test_main.py::test_Window_replace_text_not_global_found PASSED [ 46%] tests/interface/test_main.py::test_Window_replace_text_not_global_missing PASSED [ 46%] tests/interface/test_main.py::test_Window_replace_text_global_found PASSED [ 47%] tests/interface/test_main.py::test_Window_replace_text_global_missing PASSED [ 47%] tests/interface/test_main.py::test_Window_replace_text_highlight_text_correct_selection PASSED [ 47%] tests/interface/test_main.py::test_Window_highlight_text PASSED [ 47%] tests/interface/test_main.py::test_Window_highlight_text_backward PASSED [ 47%] tests/interface/test_main.py::test_Window_highlight_text_no_tab PASSED [ 47%] tests/interface/test_main.py::test_Window_connect_toggle_comments PASSED [ 47%] tests/interface/test_main.py::test_Window_toggle_comments PASSED [ 47%] tests/interface/test_main.py::test_Window_show_hide_device_selector PASSED [ 47%] tests/interface/test_main.py::test_Window_upload_to_python_anywhere PASSED [ 47%] tests/interface/test_main.py::test_Window_handle_python_anywhere_complete PASSED [ 47%] tests/interface/test_main.py::test_Window_handle_python_anywhere_error PASSED [ 47%] tests/interface/test_main.py::test_StatusBar_init PASSED [ 48%] tests/interface/test_main.py::test_StatusBar_connect_logs PASSED [ 48%] tests/interface/test_main.py::test_StatusBar_connect_mode PASSED [ 48%] tests/interface/test_main.py::test_StatusBar_set_message PASSED [ 48%] tests/interface/test_main.py::test_StatusBar_set_mode PASSED [ 48%] tests/interface/test_main.py::test_StatusBar_device_connected_microbit PASSED [ 48%] tests/interface/test_main.py::test_StatusBar_device_connected_adafruit_feather PASSED [ 48%] tests/interface/test_panes.py::test_PANE_ZOOM_SIZES PASSED [ 48%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_fragment PASSED [ 48%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_multiline PASSED [ 48%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_handle_unix_newlines PASSED [ 48%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_handle_windows_newlines PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_only_works_if_something_to_paste PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_context_menu PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_context_menu_darwin PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_backspace PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_return PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_delete PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_up PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_down PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_right PASSED [ 49%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_left PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_shift_right PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_shift_left PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_right_with_selection PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_left_with_selection PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_home PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_end PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_CTRL_C_Darwin PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_CTRL_V_Darwin PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_ctrl_passthrough_darwin PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_ctrl_passthrough_windows PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_qtcursor_to_devicecursor PASSED [ 50%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_devicecursor_to_qtcursor PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_move_cursor_to_right PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_move_cursor_to_left PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_delete_selection PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_delete_selection_w_no_selection PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_mouseReleasedEvent_no_selection PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_mouseReleasedEvent_with_selection PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_multibyte_sequence PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_handle_malformed_unicode PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_VT100 PASSED [ 51%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_backspace PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_carriage_return PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_newline PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_printed_chars PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_vt100_cursor_left PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_vt100_cursor_right PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_partial_reception PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_partial_reception2 PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_unsupported_vt100_command PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_partial_osc_reception PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_osc_title_command PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_unsupported_osc_command PASSED [ 52%] tests/interface/test_panes.py::test_MicroPythonREPLPane_clear PASSED [ 53%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_font_size PASSED [ 53%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_zoom PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_paste PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_paste_handle_mac_newlines PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_paste_handle_windows_newlines PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_paste_only_works_if_there_is_something_to_paste PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_context_menu PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_context_menu_darwin PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_backspace PASSED [ 53%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_return PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_delete PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_shift_right PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_shift_left PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_right_with_selection PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_left_with_selection PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_CTRL_C_Darwin PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_CTRL_V_Darwin PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_ctrl_passthrough_darwin PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_keyPressEvent_ctrl_passthrough_windows PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_set_devicecursor_to_qtcursor PASSED [ 54%] tests/interface/test_panes.py::test_SnekREPLPane_process_bytes PASSED [ 55%] tests/interface/test_panes.py::test_SnekREPLPane_process_bytes_gettext PASSED [ 55%] tests/interface/test_panes.py::test_SnekREPLPane_clear PASSED [ 55%] tests/interface/test_panes.py::test_SnekREPLPane_set_font_size PASSED [ 55%] tests/interface/test_panes.py::test_SnekREPLPane_set_zoom PASSED [ 55%] tests/interface/test_panes.py::test_SnekREPLPane_send_commands PASSED [ 55%] tests/interface/test_panes.py::test_SnekREPLPane_execute PASSED [ 55%] tests/interface/test_panes.py::test_MuFileList_show_confirm_overwrite_dialog PASSED [ 55%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_init PASSED [ 55%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_dropEvent PASSED [ 55%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_dropEvent_wrong_source PASSED [ 55%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_on_put PASSED [ 55%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_contextMenuEvent PASSED [ 56%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_contextMenuEvent_empty_list PASSED [ 56%] tests/interface/test_panes.py::test_MicroPythonFileList_on_delete PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_init PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_dropEvent PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_dropEvent_wrong_source PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_on_get PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent_hex PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent_external PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent_write_to_mainpy PASSED [ 56%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent_empty_list PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_init PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_disable PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_enable PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_set_theme PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_show_message PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_show_warning PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_on_ls PASSED [ 57%] tests/interface/test_panes.py::test_FileSystemPane_on_ls_fail PASSED [ 57%] tests/interface/test_panes.py::test_FileSystem_Pane_on_put_fail PASSED [ 57%] tests/interface/test_panes.py::test_FileSystem_Pane_on_delete_fail PASSED [ 57%] tests/interface/test_panes.py::test_FileSystem_Pane_on_get_fail PASSED [ 58%] tests/interface/test_panes.py::test_FileSystemPane_set_font_size PASSED [ 58%] tests/interface/test_panes.py::test_FileSystemPane_open_file PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_init PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_append_plain_text PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_set_font_size PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_set_zoom PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_set_theme_day PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_set_theme_night PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_set_theme_contrast PASSED [ 58%] tests/interface/test_panes.py::test_JupyterREPLPane_setFocus PASSED [ 58%] tests/interface/test_panes.py::test_PythonProcessPane_init PASSED [ 58%] tests/interface/test_panes.py::test_PythonProcessPane_start_process PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_command_args PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_debugger PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_not_interactive PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_user_environment_variables PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_custom_runner SKIPPED (Only used by debugger; now refactored) [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_custom_python_args PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_stop_process PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_stop_process_with_error PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_finished PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_context_menu PASSED [ 59%] tests/interface/test_panes.py::test_PythonProcessPane_context_menu_darwin PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_paste PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_paste_normalize_windows_newlines PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste_non_ascii PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste_newline PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste_final_character PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_keyPressEvent_a PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_on_process_halt PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_on_process_halt_badly_formed_bytes PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_a PASSED [ 60%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_non_ascii PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_c PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_d PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_c_after_process_finished PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_d_after_process_finished PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_up_arrow PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_down_arrow PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_right_arrow PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_left_arrow PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_left_arrow_at_start_of_line PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_home PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_end PASSED [ 61%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_paste PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_copy PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_backspace PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_delete PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_newline PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_newline_ignore_empty_input_in_history PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_newline_with_cursor_midline PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_set_start_of_current_line PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_history_back PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_history_back_at_first_item PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_history_forward PASSED [ 62%] tests/interface/test_panes.py::test_PythonProcessPane_history_forward_at_last_item PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_try_read_from_stdout_not_started PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_try_read_from_stdout_has_started PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout_with_stdout_buffer PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout_with_unicode_error PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout_no_data PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_write_to_stdin PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_append PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_insert_within_input_line PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_insert PASSED [ 63%] tests/interface/test_panes.py::test_PythonProcessPane_backspace PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_backspace_at_start_of_input_line PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_delete PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_delete_at_start_of_input_line PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_clear_input_line PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_replace_input_line PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_set_font_size PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_set_zoom PASSED [ 64%] tests/interface/test_panes.py::test_PythonProcessPane_set_theme PASSED [ 64%] tests/interface/test_panes.py::test_DebugInspectorItem PASSED [ 64%] tests/interface/test_panes.py::test_DebugInspector_set_font_size PASSED [ 64%] tests/interface/test_panes.py::test_DebugInspector_set_zoom PASSED [ 64%] tests/interface/test_panes.py::test_DebugInspector_set_theme PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_init PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data_guards_against_data_flood PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data_tuple_not_numeric PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data_overrun_input_buffer PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_add_data PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_add_data_adjust_values_up PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_add_data_adjust_values_down PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_up PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_down PASSED [ 65%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_min_up PASSED [ 66%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_min_down PASSED [ 66%] tests/interface/test_panes.py::test_PlotterPane_set_label_format_to_float_when_range_small PASSED [ 66%] tests/interface/test_panes.py::test_PlotterPane_set_label_format_to_int_when_range_large PASSED [ 66%] tests/interface/test_panes.py::test_PlotterPane_set_theme PASSED [ 66%] tests/interface/test_themes.py::test_constants PASSED [ 66%] tests/interface/test_themes.py::test_Font PASSED [ 66%] tests/interface/test_themes.py::test_theme_apply_to PASSED [ 66%] tests/interface/test_themes.py::test_Font_loading PASSED [ 66%] tests/interface/test_widgets.py::test_device_selector_device_changed_to_none PASSED [ 66%] tests/interface/test_widgets.py::test_device_selector_selected_device_w_no_devices PASSED [ 66%] tests/interface/test_widgets.py::test_device_selector_device_changed PASSED [ 67%] tests/interface/test_widgets.py::test_DeviceSelector_device_connected PASSED [ 67%] tests/interface/test_widgets.py::test_DeviceSelector_device_disconnected PASSED [ 67%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_selector_hidden_on_1_device PASSED [ 67%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_selector_shown_on_2_devices PASSED [ 67%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_check_disconnected_icon PASSED [ 67%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_check_connected_icon PASSED [ 67%] tests/interface/test_workers.py::test_pythonanywhereworker_init PASSED [ 67%] tests/interface/test_workers.py::test_pythonanywhereworker_run_with_failure PASSED [ 67%] tests/interface/test_workers.py::test_pythonanywhereworker_run_to_deploy_to_main_instance PASSED [ 67%] tests/interface/test_workers.py::test_pythonanywhereworker_run_to_deploy_to_eu_instance PASSED [ 67%] tests/modes/test_base.py::test_base_mode PASSED [ 67%] tests/modes/test_base.py::test_base_mode_workspace_dir SKIPPED (No longer needed now that settings are part of the settings module) [ 68%] tests/modes/test_base.py::test_base_mode_workspace_not_present PASSED [ 68%] tests/modes/test_base.py::test_base_mode_workspace_invalid_value PASSED [ 68%] tests/modes/test_base.py::test_base_mode_workspace_invalid_json PASSED [ 68%] tests/modes/test_base.py::test_base_mode_workspace_no_settings_file PASSED [ 68%] tests/modes/test_base.py::test_base_mode_set_buttons PASSED [ 68%] tests/modes/test_base.py::test_base_mode_add_plotter PASSED [ 68%] tests/modes/test_base.py::test_base_mode_remove_plotter PASSED [ 68%] tests/modes/test_base.py::test_base_mode_write_csv PASSED [ 68%] tests/modes/test_base.py::test_base_on_data_flood PASSED [ 68%] tests/modes/test_base.py::test_base_mode_open_file PASSED [ 68%] tests/modes/test_base.py::test_base_mode_no_op_change PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_find_device PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_find_device_no_ports PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_find_device_but_no_device PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_find_device_darwin_remove_extraneous_devices PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_port_path_posix PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_port_path_nt PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_port_path_unknown PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_add_repl_no_port PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_add_repl_ioerror PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_add_repl_exception PASSED [ 69%] tests/modes/test_base.py::test_micropython_mode_add_repl PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_add_repl_no_force_interrupt PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_remove_repl PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_remove_repl_and_disconnect PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_remove_plotter_disconnects PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_remove_repl_active_plotter PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_remove_plotter_active_repl PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_toggle_repl_on PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_toggle_repl_off PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_toggle_plotter_on PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_toggle_plotter_off PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_add_plotter_no_port PASSED [ 70%] tests/modes/test_base.py::test_micropython_mode_add_plotter_ioerror PASSED [ 71%] tests/modes/test_base.py::test_micropython_mode_add_plotter_exception PASSED [ 71%] tests/modes/test_base.py::test_micropython_mode_add_plotter PASSED [ 71%] tests/modes/test_base.py::test_micropython_on_data_flood PASSED [ 71%] tests/modes/test_base.py::test_micropython_activate PASSED [ 71%] tests/modes/test_base.py::test_micropython_deactivate PASSED [ 71%] tests/modes/test_base.py::test_micropython_device_changed PASSED [ 71%] tests/modes/test_base.py::test_FileManager_on_start PASSED [ 71%] tests/modes/test_base.py::test_FileManager_on_start_fails PASSED [ 71%] tests/modes/test_base.py::test_FileManager_ls PASSED [ 71%] tests/modes/test_base.py::test_FileManager_ls_fail PASSED [ 71%] tests/modes/test_base.py::test_fileManager_get PASSED [ 72%] tests/modes/test_base.py::test_FileManager_get_fail PASSED [ 72%] tests/modes/test_base.py::test_FileManager_put PASSED [ 72%] tests/modes/test_base.py::test_FileManager_put_fail PASSED [ 72%] tests/modes/test_base.py::test_FileManager_delete PASSED [ 72%] tests/modes/test_base.py::test_FileManager_delete_fail PASSED [ 72%] tests/modes/test_base.py::test_REPLConnection_init_default_args PASSED [ 72%] tests/modes/test_base.py::test_REPLConnection_open PASSED [ 72%] tests/modes/test_base.py::test_REPLConnection_open_unable_to_connect PASSED [ 72%] tests/modes/test_base.py::test_REPLConnection_open_DTR_unset PASSED [ 72%] tests/modes/test_base.py::test_REPLConnection_close PASSED [ 72%] tests/modes/test_base.py::test_REPLConnection_on_serial_read PASSED [ 73%] tests/modes/test_base.py::test_REPLConnection_write PASSED [ 73%] tests/modes/test_base.py::test_REPLConnection_send_interrupt PASSED [ 73%] tests/modes/test_base.py::test_REPLConnection_execute PASSED [ 73%] tests/modes/test_base.py::test_REPLConnection_send_commands PASSED [ 73%] tests/modes/test_circuitpython.py::test_circuitpython_mode PASSED [ 73%] tests/modes/test_circuitpython.py::test_circuitpython_mode_no_charts PASSED [ 73%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_exists PASSED [ 73%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_no_mount_command PASSED [ 73%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_permission_denied PASSED [ 73%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_exception_raised PASSED [ 73%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_missing PASSED [ 73%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_chromeos_exists PASSED [ 74%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_chromeos_missing PASSED [ 74%] tests/modes/test_circuitpython.py::test_workspace_dir_nt_exists PASSED [ 74%] tests/modes/test_circuitpython.py::test_workspace_dir_nt_missing PASSED [ 74%] tests/modes/test_circuitpython.py::test_workspace_dir_unknown_os PASSED [ 74%] tests/modes/test_circuitpython.py::test_api PASSED [ 74%] tests/modes/test_debug.py::test_debug_mode PASSED [ 74%] tests/modes/test_debug.py::test_debug_start PASSED [ 74%] tests/modes/test_debug.py::test_debug_start_no_tab PASSED [ 74%] tests/modes/test_debug.py::test_debug_start_prompt_for_unsaved_file PASSED [ 74%] tests/modes/test_debug.py::test_debug_stop PASSED [ 74%] tests/modes/test_debug.py::test_debug_finished PASSED [ 75%] tests/modes/test_debug.py::test_debug_button_stop PASSED [ 75%] tests/modes/test_debug.py::test_debug_button_continue PASSED [ 75%] tests/modes/test_debug.py::test_debug_button_step_over PASSED [ 75%] tests/modes/test_debug.py::test_debug_button_step_in PASSED [ 75%] tests/modes/test_debug.py::test_debug_button_step_out PASSED [ 75%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_off PASSED [ 75%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_off_no_breakpoint PASSED [ 75%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_on_new PASSED [ 75%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_on_existing PASSED [ 75%] tests/modes/test_debug.py::test_debug_on_fail PASSED [ 75%] tests/modes/test_debug.py::test_debug_on_bootstrap PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_bootstrap_remove_missing_marker_handles PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_bootstrap_ignore_duplicate_handles PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_bootstrap_remove_invalid_breaks PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_breakpoint_enable PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_breakpoint_enable_different_tab PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_breakpoint_enable_marker_already_exists PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_breakpoint_disable PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_line_ignore_file PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_line PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_stack_no_stack PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_stack PASSED [ 76%] tests/modes/test_debug.py::test_debug_on_postmortem PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_info PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_warning PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_error PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_call PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_return PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_finished PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_breakpoint_ignore PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_breakpoint_clear PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_restart PASSED [ 77%] tests/modes/test_debug.py::test_debug_on_exception PASSED [ 77%] tests/modes/test_debug.py::test_enable_buttons_before_delayed_disable_buttons PASSED [ 78%] tests/modes/test_esp.py::test_ESPMode_init PASSED [ 78%] tests/modes/test_esp.py::test_ESPMode_actions PASSED [ 78%] tests/modes/test_esp.py::test_ESPMode_actions_no_charts PASSED [ 78%] tests/modes/test_esp.py::test_api PASSED [ 78%] tests/modes/test_esp.py::test_add_fs PASSED [ 78%] tests/modes/test_esp.py::test_add_fs_project_path PASSED [ 78%] tests/modes/test_esp.py::test_add_fs_no_device PASSED [ 78%] tests/modes/test_esp.py::test_remove_fs PASSED [ 78%] tests/modes/test_esp.py::test_toggle_repl_on PASSED [ 78%] tests/modes/test_esp.py::test_toggle_repl_fail PASSED [ 78%] tests/modes/test_esp.py::test_toggle_repl_off PASSED [ 79%] tests/modes/test_esp.py::test_toggle_repl_with_fs PASSED [ 79%] tests/modes/test_esp.py::test_toggle_files_on PASSED [ 79%] tests/modes/test_esp.py::test_toggle_files_off PASSED [ 79%] tests/modes/test_esp.py::test_toggle_files_with_repl PASSED [ 79%] tests/modes/test_esp.py::test_run_no_editor PASSED [ 79%] tests/modes/test_esp.py::test_run_no_device PASSED [ 79%] tests/modes/test_esp.py::test_run PASSED [ 79%] tests/modes/test_esp.py::test_on_data_flood PASSED [ 79%] tests/modes/test_esp.py::test_toggle_plotter PASSED [ 79%] tests/modes/test_esp.py::test_toggle_plotter_no_repl_or_plotter PASSED [ 79%] tests/modes/test_esp.py::test_toggle_plotter_with_fs PASSED [ 79%] tests/modes/test_esp.py::test_deactivate PASSED [ 80%] tests/modes/test_esp.py::test_device_changed PASSED [ 80%] tests/modes/test_lego.py::test_api PASSED [ 80%] tests/modes/test_microbit.py::test_DeviceFlasher_init PASSED [ 80%] tests/modes/test_microbit.py::test_DeviceFlasher_run PASSED [ 80%] tests/modes/test_microbit.py::test_DeviceFlasher_run_fail PASSED [ 80%] tests/modes/test_microbit.py::test_microbit_mode PASSED [ 80%] tests/modes/test_microbit.py::test_microbit_mode_no_charts PASSED [ 80%] tests/modes/test_microbit.py::test_flash_no_tab PASSED [ 80%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_v1 PASSED [ 80%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_v2 PASSED [ 80%] tests/modes/test_microbit.py::test_flash_device_has_latest_firmware_encounters_serial_problem PASSED [ 81%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_encounters_problem PASSED [ 81%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_old_firmware PASSED [ 81%] tests/modes/test_microbit.py::test_flash_force_with_no_micropython PASSED [ 81%] tests/modes/test_microbit.py::test_flash_force_with_unsupported_microbit PASSED [ 81%] tests/modes/test_microbit.py::test_flash_force_with_attached_device PASSED [ 81%] tests/modes/test_microbit.py::test_flash_with_attached_device_and_custom_runtime PASSED [ 81%] tests/modes/test_microbit.py::test_flash_with_attached_known_device_and_forced PASSED [ 81%] tests/modes/test_microbit.py::test_force_flash_no_serial_connection PASSED [ 81%] tests/modes/test_microbit.py::test_force_flash_empty_script PASSED [ 81%] tests/modes/test_microbit.py::test_force_flash_user_specified_device_path PASSED [ 81%] tests/modes/test_microbit.py::test_flash_path_specified_does_not_exist PASSED [ 82%] tests/modes/test_microbit.py::test_flash_without_device PASSED [ 82%] tests/modes/test_microbit.py::test_flash_script_too_big PASSED [ 82%] tests/modes/test_microbit.py::test_flash_script_too_big_no_minify PASSED [ 82%] tests/modes/test_microbit.py::test_flash_finished_copy_main PASSED [ 82%] tests/modes/test_microbit.py::test_flash_finished_copy_main_encounters_error PASSED [ 82%] tests/modes/test_microbit.py::test_flash_finished_no_copy PASSED [ 82%] tests/modes/test_microbit.py::test_copy_main_no_python_script PASSED [ 82%] tests/modes/test_microbit.py::test_copy_main_with_python_script PASSED [ 82%] tests/modes/test_microbit.py::test_copy_main_with_python_script_encounters_device_error PASSED [ 82%] tests/modes/test_microbit.py::test_flash_failed PASSED [ 82%] tests/modes/test_microbit.py::test_flash_minify PASSED [ 82%] tests/modes/test_microbit.py::test_flash_minify_no_minify PASSED [ 83%] tests/modes/test_microbit.py::test_add_fs PASSED [ 83%] tests/modes/test_microbit.py::test_add_fs_no_device PASSED [ 83%] tests/modes/test_microbit.py::test_remove_fs PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_files_on PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_files_off PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_files_with_repl PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_files_with_plotter PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_repl PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_repl_no_repl_or_plotter PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_repl_with_fs PASSED [ 83%] tests/modes/test_microbit.py::test_toggle_plotter PASSED [ 84%] tests/modes/test_microbit.py::test_toggle_plotter_no_repl_or_plotter PASSED [ 84%] tests/modes/test_microbit.py::test_toggle_plotter_with_fs PASSED [ 84%] tests/modes/test_microbit.py::test_api PASSED [ 84%] tests/modes/test_microbit.py::test_on_data_flood PASSED [ 84%] tests/modes/test_microbit.py::test_open_hex PASSED [ 84%] tests/modes/test_microbit.py::test_open_ignore_non_hex PASSED [ 84%] tests/modes/test_microbit.py::test_open_hex_with_exception PASSED [ 84%] tests/modes/test_microbit.py::test_deactivate PASSED [ 84%] tests/modes/test_microbit.py::test_device_changed PASSED [ 84%] tests/modes/test_pico.py::test_api PASSED [ 84%] tests/modes/test_pyboard.py::test_pyboard_mode PASSED [ 85%] tests/modes/test_pyboard.py::test_pyboard_mode_no_charts PASSED [ 85%] tests/modes/test_pyboard.py::test_workspace_dir_posix_exists PASSED [ 85%] tests/modes/test_pyboard.py::test_workspace_dir_posix_no_mount_command PASSED [ 85%] tests/modes/test_pyboard.py::test_workspace_dir_posix_missing PASSED [ 85%] tests/modes/test_pyboard.py::test_workspace_dir_nt_exists PASSED [ 85%] tests/modes/test_pyboard.py::test_workspace_dir_nt_missing PASSED [ 85%] tests/modes/test_pyboard.py::test_workspace_dir_unknown_os PASSED [ 85%] tests/modes/test_pyboard.py::test_api PASSED [ 85%] tests/modes/test_pygamezero.py::test_pgzero_mode PASSED [ 85%] tests/modes/test_pygamezero.py::test_pgzero_api PASSED [ 85%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_on PASSED [ 85%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_on_cancelled PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_off PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_run_game PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_run_game_no_editor PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_run_game_needs_saving PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_stop_game PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_stop_game_no_runner PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_show_images PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_show_images_no_file PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_show_fonts PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_show_fonts_no_file PASSED [ 86%] tests/modes/test_pygamezero.py::test_pgzero_show_sounds PASSED [ 87%] tests/modes/test_pygamezero.py::test_pgzero_show_sounds_no_file PASSED [ 87%] tests/modes/test_pygamezero.py::test_pgzero_show_music PASSED [ 87%] tests/modes/test_pygamezero.py::test_pgzero_show_music_no_file PASSED [ 87%] tests/modes/test_python3.py::test_kernel_runner_start_kernel PASSED [ 87%] tests/modes/test_python3.py::test_kernel_runner_stop_kernel PASSED [ 87%] tests/modes/test_python3.py::test_python_mode PASSED [ 87%] tests/modes/test_python3.py::test_python_mode_no_charts PASSED [ 87%] tests/modes/test_python3.py::test_python_api PASSED [ 87%] tests/modes/test_python3.py::test_python_run_toggle_on PASSED [ 87%] tests/modes/test_python3.py::test_python_run_toggle_on_cancelled PASSED [ 87%] tests/modes/test_python3.py::test_python_run_toggle_off PASSED [ 88%] tests/modes/test_python3.py::test_python_run_script PASSED [ 88%] tests/modes/test_python3.py::test_python_run_script_no_editor PASSED [ 88%] tests/modes/test_python3.py::test_python_run_script_needs_saving PASSED [ 88%] tests/modes/test_python3.py::test_python_run_script_uses_editor_save PASSED [ 88%] tests/modes/test_python3.py::test_python_stop_script PASSED [ 88%] tests/modes/test_python3.py::test_python_stop_resets_focus PASSED [ 88%] tests/modes/test_python3.py::test_python_stop_script_no_runner PASSED [ 88%] tests/modes/test_python3.py::test_python_debug PASSED [ 88%] tests/modes/test_python3.py::test_python_toggle_repl PASSED [ 88%] tests/modes/test_python3.py::test_python_add_repl PASSED [ 88%] tests/modes/test_python3.py::test_python_remove_repl PASSED [ 88%] tests/modes/test_python3.py::test_python_remove_repl_reset_focus PASSED [ 89%] tests/modes/test_python3.py::test_python_toggle_plotter PASSED [ 89%] tests/modes/test_python3.py::test_python_add_plotter PASSED [ 89%] tests/modes/test_python3.py::test_python_remove_plotter PASSED [ 89%] tests/modes/test_python3.py::test_python_remove_plotter_reset_focus PASSED [ 89%] tests/modes/test_python3.py::test_python_on_data_flood PASSED [ 89%] tests/modes/test_python3.py::test_python_on_kernel_start PASSED [ 89%] tests/modes/test_python3.py::test_python_on_kernel_stop PASSED [ 89%] tests/modes/test_snek.py::test_snek_mode PASSED [ 89%] tests/modes/test_snek.py::test_snek_mode_no_charts PASSED [ 89%] tests/modes/test_snek.py::test_snek_put PASSED [ 89%] tests/modes/test_snek.py::test_snek_put_empty PASSED [ 90%] tests/modes/test_snek.py::test_snek_put_none PASSED [ 90%] tests/modes/test_snek.py::test_snek_get_new PASSED [ 90%] tests/modes/test_snek.py::test_snek_get_existing PASSED [ 90%] tests/modes/test_snek.py::test_snek_get_existing_modified PASSED [ 90%] tests/modes/test_snek.py::test_api PASSED [ 90%] tests/modes/test_snek.py::test_snek_mode_add_repl_no_port PASSED [ 90%] tests/modes/test_snek.py::test_snek_mode_add_repl_ioerror PASSED [ 90%] tests/modes/test_snek.py::test_snek_mode_add_repl_exception PASSED [ 90%] tests/modes/test_snek.py::test_snek_mode_add_repl PASSED [ 90%] tests/modes/test_snek.py::test_snek_mode_add_repl_no_force_interrupt PASSED [ 90%] tests/modes/test_snek.py::test_snek_stop PASSED [ 91%] tests/modes/test_snek.py::test_device_changed PASSED [ 91%] tests/modes/test_web.py::test_init PASSED [ 91%] tests/modes/test_web.py::test_ensure_state PASSED [ 91%] tests/modes/test_web.py::test_web_api PASSED [ 91%] tests/modes/test_web.py::test_assets_dir_no_flask_app PASSED [ 91%] tests/modes/test_web.py::test_assets_dir_too_many_flask_apps PASSED [ 91%] tests/modes/test_web.py::test_assets_dir_exactly_one_flask_app PASSED [ 91%] tests/modes/test_web.py::test_cannot_resolve_flask_app PASSED [ 91%] tests/modes/test_web.py::test_run_toggle_on PASSED [ 91%] tests/modes/test_web.py::test_run_toggle_off PASSED [ 91%] tests/modes/test_web.py::test_start_server_no_tab PASSED [ 91%] tests/modes/test_web.py::test_start_server_unsaved_tab PASSED [ 92%] tests/modes/test_web.py::test_start_server_not_python_file PASSED [ 92%] tests/modes/test_web.py::test_start_server_no_templates PASSED [ 92%] tests/modes/test_web.py::test_start_server PASSED [ 92%] tests/modes/test_web.py::test_stop_server PASSED [ 92%] tests/modes/test_web.py::test_start_server_no_duplicate_envars PASSED [ 92%] tests/modes/test_web.py::test_stop PASSED [ 92%] tests/modes/test_web.py::test_open_file PASSED [ 92%] tests/modes/test_web.py::test_load_templates PASSED [ 92%] tests/modes/test_web.py::test_load_templates_no_file PASSED [ 92%] tests/modes/test_web.py::test_load_templates_cannot_resolve PASSED [ 92%] tests/modes/test_web.py::test_load_css PASSED [ 93%] tests/modes/test_web.py::test_load_css_no_file PASSED [ 93%] tests/modes/test_web.py::test_load_css_cannot_resolve PASSED [ 93%] tests/modes/test_web.py::test_show_images PASSED [ 93%] tests/modes/test_web.py::test_show_images_no_file PASSED [ 93%] tests/modes/test_web.py::test_show_images_cannot_resolve PASSED [ 93%] tests/modes/test_web.py::test_browse PASSED [ 93%] tests/modes/test_web.py::test_browse_not_serving PASSED [ 93%] tests/modes/test_web.py::test_deploy_no_tab PASSED [ 93%] tests/modes/test_web.py::test_deploy_unsaved_tab PASSED [ 93%] tests/modes/test_web.py::test_deploy_not_python_file PASSED [ 93%] tests/modes/test_web.py::test_deploy_no_templates PASSED [ 94%] tests/modes/test_web.py::test_deploy PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_creation PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_run PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_run_with_kwargs PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_install_single_package PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_install_several_packages PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_install_single_package_with_flag PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_install_several_packages_with_flag PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_install_single_package_with_flag_value PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_uninstall_single_package PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_uninstall_several_packages PASSED [ 94%] tests/virtual_environment/test_pip.py::test_pip_uninstall_single_package_with_flag PASSED [ 95%] tests/virtual_environment/test_pip.py::test_pip_uninstall_several_packages_with_flag PASSED [ 95%] tests/virtual_environment/test_pip.py::test_pip_uninstall_single_package_with_flag_value PASSED [ 95%] tests/virtual_environment/test_pip.py::test_pip_version PASSED [ 95%] tests/virtual_environment/test_pip.py::test_pip_freeze PASSED [ 95%] tests/virtual_environment/test_pip.py::test_pip_list PASSED [ 95%] tests/virtual_environment/test_pip.py::test_installed_packages PASSED [ 95%] tests/virtual_environment/test_pip.py::test_installed_packages_no_location PASSED [ 95%] tests/virtual_environment/test_pip.py::test_pip_list_returns_empty PASSED [ 95%] tests/virtual_environment/test_process.py::test_creation_environment PASSED [ 95%] tests/virtual_environment/test_process.py::test_set_up_run PASSED [ 95%] tests/virtual_environment/test_process.py::test_run_blocking PASSED [ 96%] tests/virtual_environment/test_process.py::test_run_blocking_timeout SKIPPED (Unreliable on ARM probably because of slowness of test container) [ 96%] tests/virtual_environment/test_process.py::test_run_blocking_error PASSED [ 96%] tests/virtual_environment/test_process.py::test_run PASSED [ 96%] tests/virtual_environment/test_process.py::test_wait_shows_failure PASSED [ 96%] tests/virtual_environment/test_process.py::test_run_blocking_invalid_utf8 PASSED [ 96%] tests/virtual_environment/test_virtual_environment.py::test_splash_log_handler PASSED [ 96%] tests/virtual_environment/test_virtual_environment.py::test_virtual_environment_str_contains_path PASSED [ 96%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_on_disk PASSED [ 96%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_path PASSED [ 96%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_name_obj PASSED [ 96%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_failure PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_download_wheels_if_not_present PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_download_wheels_failure PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_base_packages_installed PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_jupyter_kernel_installed PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_jupyter_kernel_failure PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_install_user_packages PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_remove_user_packages PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_installed_packages PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_venv_is_singleton PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_created PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_venv_second_try PASSED [ 97%] tests/virtual_environment/test_virtual_environment.py::test_venv_fails_after_three_tries PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_venv_ensure_and_create_splash_handler PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_does_not_exist PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists_not_venv PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists_not_directory PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter_failed_to_run PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter_version PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_ensure_key_modules_failure PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_ensure_key_modules_success PASSED [ 98%] tests/virtual_environment/test_virtual_environment.py::test_ensure_pip PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_run_python_blocking PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_run_python_nonblocking PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_reset_pip PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_reset_pip_used PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_quarantine_success PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_quarantine_os_failure PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_quarantine_other_failure PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_recreate_on_version_change PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_no_recreate_on_same_version PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_recreate_steps PASSED [ 99%] tests/virtual_environment/test_virtual_environment.py::test_subprocess_run_invalid_utf8 PASSED [100%] =============================== warnings summary =============================== tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_v1 tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_v2 tests/modes/test_microbit.py::test_flash_device_has_latest_firmware_encounters_serial_problem tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_encounters_problem tests/modes/test_microbit.py::test_flash_with_attached_device_has_old_firmware tests/modes/test_microbit.py::test_flash_with_attached_known_device_and_forced tests/modes/test_microbit.py::test_force_flash_empty_script /builddir/build/BUILD/mu-1.2.0/mu/modes/microbit.py:370: PendingDeprecationWarning: Function 'semver.compare' is deprecated. Deprecated since version 3.0.0. Still under investigation, see #258. Use the respective 'semver.Version.compare' instead. if semver.compare(board_version, uflash_version) < 0: -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========= 1113 passed, 21 skipped, 1 deselected, 7 warnings in 13.36s ========== + RPM_EC=0 ++ jobs -p + exit 0 Processing files: mu-1.2.0-3.fc39.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.78yyyH + umask 022 + cd /builddir/build/BUILD + cd mu-1.2.0 + DOCDIR=/builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/doc/mu + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/doc/mu + cp -pr /builddir/build/BUILD/mu-1.2.0/README.rst /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/doc/mu + cp -pr /builddir/build/BUILD/mu-1.2.0/LICENSE /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch/usr/share/doc/mu + RPM_EC=0 ++ jobs -p + exit 0 Provides: application() application(mu.codewith.editor.desktop) metainfo() metainfo(mu.appdata.xml) mimehandler(text/x-python3) mu = 1.2.0-3.fc39 mu-editor = 1.2.0-3.fc39 python3.12dist(mu-editor) = 1.2 python3dist(mu-editor) = 1.2 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: (python3.12dist(adafruit-board-toolkit) >= 1.1 with python3.12dist(adafruit-board-toolkit) < 2) (python3.12dist(flask) >= 2 with python3.12dist(flask) < 3) (python3.12dist(platformdirs) < 4~~ with python3.12dist(platformdirs) >= 2) (python3.12dist(pyqtchart) < 6~~ with python3.12dist(pyqtchart) >= 5.13.1) (python3.12dist(qtconsole) < 6~~ with python3.12dist(qtconsole) >= 4.7.7) /usr/bin/python3 python(abi) = 3.12 python3.12dist(black) >= 19.10~b0 python3.12dist(click) python3.12dist(flake8) >= 3.8.3 python3.12dist(ipykernel) >= 4.1 python3.12dist(ipython-genutils) >= 0.2 python3.12dist(jupyter-client) >= 4.1 python3.12dist(nudatus) >= 0.0.3 python3.12dist(pgzero) >= 1.2.1 python3.12dist(pyqt5) >= 5.13.2 python3.12dist(pyserial) >= 3.4 python3.12dist(qscintilla) >= 2.11.3 python3.12dist(requests) >= 2 python3.12dist(semver) >= 2.8 python3.12dist(virtualenv) >= 20 python3.12dist(wheel) Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/mu-1.2.0-3.fc39.noarch Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc39.src.rpm Wrote: /builddir/build/RPMS/mu-1.2.0-3.fc39.noarch.rpm Child return code was: 0