Mock Version: 5.0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs  --target x86_64 --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fd673db4b50>timeout=0uid=1000gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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', '70b6b0feaefd404f8f8dfd2dba21e795', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs  --target x86_64 --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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1689811200
Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc40.src.rpm
Child return code was: 0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br  --target x86_64 --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fd673db4b50>timeout=0uid=1000gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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', 'bfc39f42c29248caaf453ad241e1f6ae', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br  --target x86_64 --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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1689811200
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.4jEZEE
+ 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.2oZYa8
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --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/lib64:
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.fc40.x86_64-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.fc40.x86_64-pyproject-buildrequires
+ rm -rfv '*.dist-info/'
+ RPM_EC=0
++ jobs -p
+ exit 0
Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc40.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  --target x86_64 --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fd673db4b50>timeout=0uid=1000gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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', '1a8a7e1717cc45188a6b19dc67ef7f45', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br  --target x86_64 --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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1689811200
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.eqiFoE
+ 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.PasLu6
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --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/lib64:
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.fc40.x86_64-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.41.1)
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.41.1)
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.9)
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.41.1)
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 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 wheel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: wheel ; extra == 'all'
Handling pytest-cov ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: pytest-cov ; 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 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 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 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 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.fc40.x86_64-pyproject-buildrequires
+ rm -rfv mu_editor-1.2.0.dist-info/
removed 'mu_editor-1.2.0.dist-info/AUTHORS.rst'
removed 'mu_editor-1.2.0.dist-info/LICENSE'
removed 'mu_editor-1.2.0.dist-info/METADATA'
removed 'mu_editor-1.2.0.dist-info/entry_points.txt'
removed 'mu_editor-1.2.0.dist-info/top_level.txt'
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.fc40.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  --target x86_64 --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fd673db4b50>timeout=0uid=1000gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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', 'a24861a5ea4140e88d16cfab7a81b703', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br  --target x86_64 --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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1689811200
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.OzM9hF
+ 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.W5PBhV
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --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/lib64:
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.fc40.x86_64-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.41.1)
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.41.1)
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.9)
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.17.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.3.2)
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.41.1)
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 23.7.0)
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 wheel ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: wheel ; extra == 'all'
Handling coverage ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: coverage ; 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 twine ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: twine ; 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 requests ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: requests ; extra == 'all'
Handling pytest-faulthandler ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: pytest-faulthandler ; 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 sphinx ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: sphinx ; 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.fc40.x86_64-pyproject-buildrequires
+ rm -rfv mu_editor-1.2.0.dist-info/
removed 'mu_editor-1.2.0.dist-info/AUTHORS.rst'
removed 'mu_editor-1.2.0.dist-info/LICENSE'
removed 'mu_editor-1.2.0.dist-info/METADATA'
removed 'mu_editor-1.2.0.dist-info/entry_points.txt'
removed 'mu_editor-1.2.0.dist-info/top_level.txt'
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.fc40.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  --target x86_64 --nodeps /builddir/build/SPECS/mu.spec'], chrootPath='/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fd673db4b50>timeout=0uid=1000gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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', '3fe382f501c74258b02a293cdbd7cf26', '-D', '/var/lib/mock/fedora-rawhide-x86_64-1692094927.338554/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.9zt23k6i:/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;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep  --target x86_64 --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;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: x86_64
Building for target x86_64
setting SOURCE_DATE_EPOCH=1689811200
Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.6mrIhl
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --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/lib64:
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.fc40.x86_64-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.41.1)
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.41.1)
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.9)
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.17.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.3.2)
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.41.1)
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 23.7.0)
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 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 beautifulsoup4 ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: beautifulsoup4 ; extra == 'all'
Handling pytest-cov ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: pytest-cov ; extra == 'all'
Handling pytest-timeout ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: pytest-timeout ; extra == 'all'
Handling scrapy ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: scrapy ; 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 == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: pytest >=4.6 ; extra == 'all'
Handling coverage ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: coverage ; extra == 'all'
Handling twine ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: twine ; extra == 'all'
Handling requests ; extra == 'all' from hook generated metadata: Requires-Dist (mu-editor)
Ignoring alien requirement: requests ; 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 == '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.fc40.x86_64-pyproject-buildrequires
+ rm -rfv mu_editor-1.2.0.dist-info/
removed 'mu_editor-1.2.0.dist-info/AUTHORS.rst'
removed 'mu_editor-1.2.0.dist-info/LICENSE'
removed 'mu_editor-1.2.0.dist-info/METADATA'
removed 'mu_editor-1.2.0.dist-info/top_level.txt'
removed 'mu_editor-1.2.0.dist-info/entry_points.txt'
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.3pYEix
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ 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-3nqfdzq_/mu_editor.egg-info
  writing /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/mu_editor.egg-info/PKG-INFO
  writing dependency_links to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/mu_editor.egg-info/dependency_links.txt
  writing entry points to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/mu_editor.egg-info/entry_points.txt
  writing requirements to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/mu_editor.egg-info/requires.txt
  writing top-level names to /builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/mu_editor.egg-info/top_level.txt
  writing manifest file '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/mu_editor.egg-info/SOURCES.txt'
  reading manifest file '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/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-3nqfdzq_/mu_editor.egg-info/SOURCES.txt'
  creating '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-modern-metadata-3nqfdzq_/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/app.py -> build/lib/mu
  copying mu/virtual_environment.py -> build/lib/mu
  copying mu/settings.py -> build/lib/mu
  copying mu/mu_debug.py -> build/lib/mu
  copying mu/logic.py -> build/lib/mu
  copying mu/i18n.py -> build/lib/mu
  copying mu/config.py -> build/lib/mu
  copying mu/__main__.py -> build/lib/mu
  copying mu/__init__.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/base.py -> build/lib/mu/modes
  copying mu/modes/microbit.py -> build/lib/mu/modes
  copying mu/modes/web.py -> build/lib/mu/modes
  copying mu/modes/snek.py -> build/lib/mu/modes
  copying mu/modes/python3.py -> build/lib/mu/modes
  copying mu/modes/pygamezero.py -> build/lib/mu/modes
  copying mu/modes/pyboard.py -> build/lib/mu/modes
  copying mu/modes/pico.py -> build/lib/mu/modes
  copying mu/modes/lego.py -> build/lib/mu/modes
  copying mu/modes/esp.py -> build/lib/mu/modes
  copying mu/modes/debugger.py -> build/lib/mu/modes
  copying mu/modes/circuitpython.py -> build/lib/mu/modes
  copying mu/modes/__init__.py -> build/lib/mu/modes
  creating build/lib/mu/debugger
  copying mu/debugger/utils.py -> build/lib/mu/debugger
  copying mu/debugger/runner.py -> build/lib/mu/debugger
  copying mu/debugger/config.py -> build/lib/mu/debugger
  copying mu/debugger/client.py -> build/lib/mu/debugger
  creating build/lib/mu/interface
  copying mu/interface/dialogs.py -> build/lib/mu/interface
  copying mu/interface/workers.py -> build/lib/mu/interface
  copying mu/interface/widgets.py -> build/lib/mu/interface
  copying mu/interface/themes.py -> build/lib/mu/interface
  copying mu/interface/panes.py -> build/lib/mu/interface
  copying mu/interface/main.py -> build/lib/mu/interface
  copying mu/interface/editor.py -> build/lib/mu/interface
  copying mu/interface/__init__.py -> build/lib/mu/interface
  creating build/lib/mu/modes/api
  copying mu/modes/api/snek.py -> build/lib/mu/modes/api
  copying mu/modes/api/shared.py -> build/lib/mu/modes/api
  copying mu/modes/api/python3.py -> build/lib/mu/modes/api
  copying mu/modes/api/pygamezero.py -> build/lib/mu/modes/api
  copying mu/modes/api/pyboard.py -> build/lib/mu/modes/api
  copying mu/modes/api/pi.py -> build/lib/mu/modes/api
  copying mu/modes/api/microbit.py -> build/lib/mu/modes/api
  copying mu/modes/api/lego.py -> build/lib/mu/modes/api
  copying mu/modes/api/flask.py -> build/lib/mu/modes/api
  copying mu/modes/api/esp.py -> build/lib/mu/modes/api
  copying mu/modes/api/adafruit.py -> build/lib/mu/modes/api
  copying mu/modes/api/__init__.py -> build/lib/mu/modes/api
  creating build/lib/mu/wheels
  copying mu/wheels/__init__.py -> build/lib/mu/wheels
  copying mu/wheels/__main__.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-x86_64/wheel
  running install
  running install_lib
  creating build/bdist.linux-x86_64
  creating build/bdist.linux-x86_64/wheel
  creating build/bdist.linux-x86_64/wheel/mu
  creating build/bdist.linux-x86_64/wheel/mu/locale
  creating build/bdist.linux-x86_64/wheel/mu/locale/zh_CN
  creating build/bdist.linux-x86_64/wheel/mu/locale/zh_CN/LC_MESSAGES
  copying build/lib/mu/locale/zh_CN/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/zh_CN/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/vi
  creating build/bdist.linux-x86_64/wheel/mu/locale/vi/LC_MESSAGES
  copying build/lib/mu/locale/vi/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/vi/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/sv
  creating build/bdist.linux-x86_64/wheel/mu/locale/sv/LC_MESSAGES
  copying build/lib/mu/locale/sv/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/sv/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/sk_SK
  creating build/bdist.linux-x86_64/wheel/mu/locale/sk_SK/LC_MESSAGES
  copying build/lib/mu/locale/sk_SK/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/sk_SK/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/ru_RU
  creating build/bdist.linux-x86_64/wheel/mu/locale/ru_RU/LC_MESSAGES
  copying build/lib/mu/locale/ru_RU/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/ru_RU/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/pt_PT
  creating build/bdist.linux-x86_64/wheel/mu/locale/pt_PT/LC_MESSAGES
  copying build/lib/mu/locale/pt_PT/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/pt_PT/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/pt_BR
  creating build/bdist.linux-x86_64/wheel/mu/locale/pt_BR/LC_MESSAGES
  copying build/lib/mu/locale/pt_BR/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/pt_BR/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/pl
  creating build/bdist.linux-x86_64/wheel/mu/locale/pl/LC_MESSAGES
  copying build/lib/mu/locale/pl/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/pl/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/ja
  creating build/bdist.linux-x86_64/wheel/mu/locale/ja/LC_MESSAGES
  copying build/lib/mu/locale/ja/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/ja/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/fr
  creating build/bdist.linux-x86_64/wheel/mu/locale/fr/LC_MESSAGES
  copying build/lib/mu/locale/fr/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/fr/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/es
  creating build/bdist.linux-x86_64/wheel/mu/locale/es/LC_MESSAGES
  copying build/lib/mu/locale/es/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/es/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/locale/de_DE
  creating build/bdist.linux-x86_64/wheel/mu/locale/de_DE/LC_MESSAGES
  copying build/lib/mu/locale/de_DE/LC_MESSAGES/mu.mo -> build/bdist.linux-x86_64/wheel/mu/locale/de_DE/LC_MESSAGES
  creating build/bdist.linux-x86_64/wheel/mu/wheels
  copying build/lib/mu/wheels/__main__.py -> build/bdist.linux-x86_64/wheel/mu/wheels
  copying build/lib/mu/wheels/__init__.py -> build/bdist.linux-x86_64/wheel/mu/wheels
  creating build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/__init__.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/editor.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/main.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/panes.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/themes.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/widgets.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/workers.py -> build/bdist.linux-x86_64/wheel/mu/interface
  copying build/lib/mu/interface/dialogs.py -> build/bdist.linux-x86_64/wheel/mu/interface
  creating build/bdist.linux-x86_64/wheel/mu/debugger
  copying build/lib/mu/debugger/client.py -> build/bdist.linux-x86_64/wheel/mu/debugger
  copying build/lib/mu/debugger/config.py -> build/bdist.linux-x86_64/wheel/mu/debugger
  copying build/lib/mu/debugger/runner.py -> build/bdist.linux-x86_64/wheel/mu/debugger
  copying build/lib/mu/debugger/utils.py -> build/bdist.linux-x86_64/wheel/mu/debugger
  creating build/bdist.linux-x86_64/wheel/mu/modes
  creating build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/__init__.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/adafruit.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/esp.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/flask.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/lego.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/microbit.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/pi.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/pyboard.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/pygamezero.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/python3.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/shared.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/api/snek.py -> build/bdist.linux-x86_64/wheel/mu/modes/api
  copying build/lib/mu/modes/__init__.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/circuitpython.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/debugger.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/esp.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/lego.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/pico.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/pyboard.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/pygamezero.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/python3.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/snek.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/web.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/microbit.py -> build/bdist.linux-x86_64/wheel/mu/modes
  copying build/lib/mu/modes/base.py -> build/bdist.linux-x86_64/wheel/mu/modes
  creating build/bdist.linux-x86_64/wheel/mu/resources
  creating build/bdist.linux-x86_64/wheel/mu/resources/web
  creating build/bdist.linux-x86_64/wheel/mu/resources/web/templates
  copying build/lib/mu/resources/web/templates/index.html -> build/bdist.linux-x86_64/wheel/mu/resources/web/templates
  copying build/lib/mu/resources/web/templates/greeting.html -> build/bdist.linux-x86_64/wheel/mu/resources/web/templates
  copying build/lib/mu/resources/web/templates/base.html -> build/bdist.linux-x86_64/wheel/mu/resources/web/templates
  copying build/lib/mu/resources/web/templates/age.html -> build/bdist.linux-x86_64/wheel/mu/resources/web/templates
  creating build/bdist.linux-x86_64/wheel/mu/resources/web/static
  creating build/bdist.linux-x86_64/wheel/mu/resources/web/static/img
  copying build/lib/mu/resources/web/static/img/logo.png -> build/bdist.linux-x86_64/wheel/mu/resources/web/static/img
  creating build/bdist.linux-x86_64/wheel/mu/resources/web/static/css
  copying build/lib/mu/resources/web/static/css/skeleton.css -> build/bdist.linux-x86_64/wheel/mu/resources/web/static/css
  copying build/lib/mu/resources/web/static/css/normalize.css -> build/bdist.linux-x86_64/wheel/mu/resources/web/static/css
  creating build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/splat.wav -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/splat.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/meow4.wav -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/meow3.wav -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/meow2.wav -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/meow1.wav -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/eep.wav -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/cat4.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/cat3.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/cat2.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/cat1.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/alien_hurt.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  copying build/lib/mu/resources/pygamezero/alien.png -> build/bdist.linux-x86_64/wheel/mu/resources/pygamezero
  creating build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/zoom-out.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/zoom-out.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/zoom-in.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/zoom-in.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/web.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/tidy.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/tidy.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/theme_day.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/theme_day.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/theme_contrast.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/theme_contrast.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/theme.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/theme.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/templates.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/templates.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/stop.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/stop.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/step-over.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/step-over.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/step-out.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/step-out.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/step-in.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/step-in.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/static.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/static.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/splash_screen_base_image.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/splash_screen.xcf -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/splash_screen.gif -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/splash_fail.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/splash-screen.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/sounds.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/sounds.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/snippets.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/snippets.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/snek.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/serial.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/serial.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-up.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-up.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-right.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-right.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-left.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-left.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-down.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/scroll-down.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/save.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/save.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/run.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/run.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/repl.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/repl.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/quit.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/quit.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/python.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/python.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/pygamezero.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/pyboard.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/plotter.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/plotter.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/play.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/play.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/pico.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/new.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/new.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/music.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/music.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/modes.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/modes.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/microbit.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/logs.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/logs.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/load.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/load.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/lego.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/language.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/images.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/images.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/icon.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/icon.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/help.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/help.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/getflash.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/fonts.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/fonts.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/flash.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/flash.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/files.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/files.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/esp.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/dropdown-arrow.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/dropdown-arrow.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/dropdown-arrow-night.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/dropdown-arrow-night.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/dropdown-arrow-contrast.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/dropdown-arrow-contrast.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/document.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/document-dirty.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/deploy.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/deploy.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/debug.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/debug.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/css.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/css.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/close-tab.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/circuitpython.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/circuitpython.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/chip-disconnected.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/chip-connected.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/checked.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/checked.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/check.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/check.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/check-good.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/check-good.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/check-bad.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/check-bad.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/button.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/button.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/browse.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/browse.png -> build/bdist.linux-x86_64/wheel/mu/resources/images
  copying build/lib/mu/resources/images/PA-logo-snake-only.svg -> build/bdist.linux-x86_64/wheel/mu/resources/images
  creating build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/SourceCodePro-SemiboldIt.otf -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/SourceCodePro-Semibold.otf -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/SourceCodePro-Regular.otf -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/SourceCodePro-It.otf -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/SourceCodePro-BoldIt.otf -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/SourceCodePro-Bold.otf -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  copying build/lib/mu/resources/fonts/LICENSE.txt -> build/bdist.linux-x86_64/wheel/mu/resources/fonts
  creating build/bdist.linux-x86_64/wheel/mu/resources/css
  copying build/lib/mu/resources/css/night.css -> build/bdist.linux-x86_64/wheel/mu/resources/css
  copying build/lib/mu/resources/css/day.css -> build/bdist.linux-x86_64/wheel/mu/resources/css
  copying build/lib/mu/resources/css/contrast.css -> build/bdist.linux-x86_64/wheel/mu/resources/css
  copying build/lib/mu/resources/__init__.py -> build/bdist.linux-x86_64/wheel/mu/resources
  copying build/lib/mu/__init__.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/__main__.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/config.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/i18n.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/logic.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/mu_debug.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/settings.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/virtual_environment.py -> build/bdist.linux-x86_64/wheel/mu
  copying build/lib/mu/app.py -> build/bdist.linux-x86_64/wheel/mu
  running install_egg_info
  Copying mu_editor.egg-info to build/bdist.linux-x86_64/wheel/mu_editor-1.2.0-py3.12.egg-info
  running install_scripts
  creating build/bdist.linux-x86_64/wheel/mu_editor-1.2.0.dist-info/WHEEL
  creating '/builddir/build/BUILD/mu-1.2.0/.pyproject-builddir/pip-wheel-sm2s8iv5/.tmp-vijawcuw/mu_editor-1.2.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/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-x86_64/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=3746475 sha256=510069c994f667f05715f114d6326fba87de72f4f8fe8a9715c418ec5a61ae5c
  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.m1o026
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64 '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64
++ dirname /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd mu-1.2.0
++ xargs basename --multiple
++ ls /builddir/build/BUILD/mu-1.2.0/pyproject-wheeldir/mu_editor-1.2.0-py3-none-any.whl
++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/'
+ specifier=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.fc40.x86_64 --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.fc40.x86_64/usr/bin
  changing mode of /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/bin/mu-editor to 755
Successfully installed mu_editor-1.2.0
+ '[' -d /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/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.fc40.x86_64/usr/bin/mu-editor
/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/bin/mu-editor: updating
+ rm -rfv /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/bin/__pycache__
+ rm -f /builddir/build/BUILD/mu-1.2.0-3.fc40.x86_64-pyproject-ghost-distinfo
+ site_dirs=()
+ '[' -d /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages ']'
+ site_dirs+=("/usr/lib/python3.12/site-packages")
+ '[' /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib64/python3.12/site-packages '!=' /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages ']'
+ '[' -d /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib64/python3.12/site-packages ']'
+ for site_dir in ${site_dirs[@]}
+ for distinfo in /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64$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.fc40.x86_64/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.fc40.x86_64 --record /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/RECORD --output /builddir/build/BUILD/mu-1.2.0-3.fc40.x86_64-pyproject-record
+ rm -fv /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/RECORD
removed '/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/RECORD'
+ rm -fv /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/REQUESTED
removed '/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12/site-packages/mu_editor-1.2.0.dist-info/REQUESTED'
++ wc -l /builddir/build/BUILD/mu-1.2.0-3.fc40.x86_64-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.fc40.x86_64-pyproject-files --output-modules /builddir/build/BUILD/mu-1.2.0-3.fc40.x86_64-pyproject-modules --buildroot /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64 --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.fc40.x86_64-pyproject-record --prefix /usr mu
+ mkdir -p /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/applications /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/icons/hicolor/256x256/apps/ /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/udev/rules.d /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/metainfo
+ desktop-file-install --dir=/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/applications conf/mu.codewith.editor.desktop
/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/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.fc40.x86_64/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.fc40.x86_64/usr/share/icons/hicolor/256x256/apps/
+ cp -p conf/90-usb-microbit.rules /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/udev/rules.d/
+ cp -p conf/mu.appdata.xml /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/metainfo/
+ /usr/bin/find-debuginfo -j2 --strict-build-id -m -i --build-id-seed 1.2.0-3.fc40 --unique-debug-suffix -1.2.0-3.fc40.x86_64 --unique-debug-src-base mu-1.2.0-3.fc40.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -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 -j2
Bytecompiling .py files below /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib/python3.12 using python3.12
+ /usr/lib/rpm/redhat/brp-python-hardlink
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.rR1Oit
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ 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  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ PATH=/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ PYTHONPATH=/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/lib64/python3.12/site-packages:/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/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=2
+ xvfb-run /usr/bin/pytest -vv -k 'not test_Window_connect_zoom'
============================= test session starts ==============================
platform linux -- Python 3.12.0rc1, 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 PASSED [ 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
========= 1114 passed, 20 skipped, 1 deselected, 7 warnings in 10.31s ==========
+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: mu-1.2.0-3.fc40.noarch
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.DaZP2f
+ umask 022
+ cd /builddir/build/BUILD
+ cd mu-1.2.0
+ DOCDIR=/builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/doc/mu
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/doc/mu
+ cp -pr /builddir/build/BUILD/mu-1.2.0/README.rst /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/usr/share/doc/mu
+ cp -pr /builddir/build/BUILD/mu-1.2.0/LICENSE /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64/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.fc40 mu-editor = 1.2.0-3.fc40 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.fc40.x86_64
Wrote: /builddir/build/SRPMS/mu-1.2.0-3.fc40.src.rpm
Wrote: /builddir/build/RPMS/mu-1.2.0-3.fc40.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.opE9IR
+ umask 022
+ cd /builddir/build/BUILD
+ cd mu-1.2.0
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/mu-1.2.0-3.fc40.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.hwHSKs
+ umask 022
+ cd /builddir/build/BUILD
+ rm -rf /builddir/build/BUILD/mu-1.2.0-SPECPARTS
+ rm -rf mu-1.2.0 mu-1.2.0.gemspec
+ RPM_EC=0
++ jobs -p
+ exit 0
Child return code was: 0