Closed fmorton closed 3 years ago
thanks for the report @fmorton, I think this is the same problem we are seeing sporadically in the CI: https://github.com/mu-editor/mu/issues/1266 Is the issue constant in your environment, or do the tests complete sometimes?
Thanks @carlosperate, I also think it is the same issue. I posted on the other thread that I simply did:
pip install virtualenv
and both of these problems went away.
My PR now passes 'make check' without any issues, so I will close this one since it is the same issue as the other one.
I reopened this. When committing the changes to catch up with 1.1.0.beta.1, the travis-ci continuous integration check failed with tests/test_app.py never finishing, timing out after 10 minutes:
I think this may be related to the virtualenv
or venv
(choose one) problem discussed elsewhere (#1291?)
@fmorton are you still having this problem from the latest version of this repo?
@carlosperate, looks like there is still some sort of issue. When updating PR #485 23 of the tests work just fine and all finish very quickly (ie, less than a minute). But, right now there are two tests that seem to be stuck. They have been running for over 4 hours while other similar tests finish in less than one minute. Since they are still running, I do not see a way to look at the logs to see how far it got. Hopefully, it will timeout eventually and we will be able to learn something from the log.
The two tests that are not finishing are:
Run tests / Test Py 3.7 - ubuntu-16.04 (pull_request) Run tests / Test Py 3.7 - ubuntu-latest (pull_request)
Thanks for all of your diligent help.
The test did finally timeout. Here is the resulting log:
Run xvfb-run make check
xvfb-run make check
shell: /bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.7.10/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.7.10/x64/lib
rm -rf build
rm -rf dist
rm -rf .coverage
rm -rf .eggs
rm -rf *.egg-info
rm -rf docs/_build
rm -rf .pytest_cache
rm -rf lib
rm -rf *.mp4
rm -rf .git/avatar/*
find . \( -name '*.py[co]' -o -name dropin.cache \) -delete
find . \( -name '*.bak' -o -name dropin.cache \) -delete
find . \( -name '*.tgz' -o -name dropin.cache \) -delete
find . | grep -E "(__pycache__)" | xargs rm -rf
python make.py black
black, version 20.8b1
All done! ⨠đ° â¨
1 file would be left unchanged.
All done! ⨠đ° â¨
1 file would be left unchanged.
All done! ⨠đ° â¨
49 files would be left unchanged.
All done! ⨠đ° â¨
2 files would be left unchanged.
All done! ⨠đ° â¨
36 files would be left unchanged.
All done! ⨠đ° â¨
6 files would be left unchanged.
black
flake8
export LANG=en_GB.utf8
pytest --random-order --cov-config .coveragerc --cov-report term-missing --cov=mu tests/
============================= test session starts ==============================
platform linux -- Python 3.7.10, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
Using --random-order-bucket=module
Using --random-order-seed=54696
rootdir: /home/runner/work/mu/mu, configfile: pytest.ini
plugins: random-order-1.0.4, cov-2.11.1
collected 1023 items
tests/debugger/test_utils.py ...... [ 0%]
tests/modes/test_esp.py ........................ [ 2%]
tests/test_settings.py ..............s............s....... [ 6%]
tests/virtual_environment/test_process.py ...... [ 6%]
tests/modes/test_python3.py ........................... [ 9%]
tests/interface/test_dialogs.py .....sss.ss..s...ssss....s.ss...... [ 13%]
tests/modes/test_base.py ..........................s.................... [ 17%]
............... [ 19%]
tests/virtual_environment/test_virtual_environment.py .................. [ 20%]
..s..... [ 21%]
tests/modes/test_pygamezero.py .................. [ 23%]
tests/modes/test_circuitpython.py ........... [ 24%]
tests/modes/test_lego.py . [ 24%]
tests/modes/test_debug.py ........................................ [ 28%]
tests/modes/test_web.py .................... [ 30%]
tests/modes/test_pico.py . [ 30%]
tests/modes/test_microbit.py ........................................... [ 34%]
......... [ 35%]
tests/interface/test_widgets.py ......... [ 36%]
tests/modes/test_pyboard.py ......... [ 37%]
Error: The operation was canceled.
Post job cleanup log:
Post job cleanup.
/usr/bin/git version
git version 2.31.0
/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :
Complete job cleanup:
Cleaning up orphan processes
Terminate orphan process: pid (4578) (xvfb-run)
Terminate orphan process: pid (4589) (Xvfb)
Terminate orphan process: pid (4594) (make)
Terminate orphan process: pid (4675) (pytest)
Thanks for checking @fmorton. @tjguk has been looking into this and the latest updates should have improve this considerably, could you try again with the latest commits?
Those errors look to be fixed, but there is a new one with the travis CI. All tests passed except this one.
Here is the giant raw log. Glad to do any other tests you need.
travis_fold : start : worker_info [0K [33;1mWorker information [0m hostname: e97c327d-6e96-44cf-a316-5aad34c997ab@927672.lxd-arm64-03-org version: ? ? instance: travis-job-mu-editor-mu-763944043 03e95732d355bb6061689d41d23ad21c759bbde32a2ce0d53b0ee90b1424e2c5 (via amqp) startup: 3.984970699s travis_fold : end : worker_info [0Ktravis_time : start : 0f7f6282 [0Ktravis_time : end : 0f7f6282: start=1616422839130792829,finish=1616422839352313782,duration=221520953,event=no_world_writable_dirs [0Ktravis_time : start : 06f9f690 [0Ktravis_time : end : 06f9f690: start=1616422839358190699,finish=1616422839372215910,duration=14025211,event=agent [0Ktravis_time : start : 00a6493a [0Ktravis_time : end : 00a6493a: start=1616422839377513482,finish=1616422839381584742,duration=4071260,event=check_unsupported [0Ktravis_time : start : 255d6b00 [0Ktravis_fold : start : system_info [0K [33;1mBuild system information [0m Build language: python Build dist: xenial Build id: 763944039 Job id: 763944043 Runtime kernel version: 5.8.0-45-generic travis-build version: 091d532a [34m [1mBuild image provisioning date and time [0m Fri Jul 10 13:20:51 UTC 2020 [34m [1mOperating System Details [0m Distributor ID: Ubuntu Description: Ubuntu 16.04.6 LTS Release: 16.04 Codename: xenial [34m [1mLinux Version [0m 5.0.0-23-generic [34m [1mGit version [0m git version 2.7.4 [34m [1mbash version [0m GNU bash, version 4.3.48(1)-release (aarch64-unknown-linux-gnu) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. [34m [1mGCC version [0m gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[34m [1mDocker version [0m Client: Version: 18.09.7 API version: 1.39 Go version: go1.10.4 Git commit: 2d0083d Built: Fri Aug 16 14:20:40 2019 OS/Arch: linux/arm64 Experimental: false [34m [1mLLVM version [0m clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final) Target: aarch64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/bin [34m [1mPre-installed Ruby versions [0m ruby-2.6.3 ruby-2.6.5 ruby-2.7.0 [34m [1mPre-installed Node.js versions [0m v10.21.0 v12.18.2 v4.9.1 v6.17.1 v8.12.0 v8.17.0 [34m [1mmysql --version [0m mysql Ver 14.14 Distrib 5.7.30, for Linux (aarch64) using EditLine wrapper [34m [1mPre-installed PostgreSQL versions [0m 9.5.21 [34m [1mRedis version [0m redis-server 5.0.6 [34m [1mMongoDB version [0m MongoDB 4.0.19 [34m [1mCouchDB version [0m couchdb 1.6.0 [34m [1mkiex list [0m
kiex elixirs
=* elixir-1.9.1
[34m [1mphpenv versions [0m 7.2 7.2.31
travis_time : end : 1d3943a4: start=1616422894616972062,finish=1616422894628437998,duration=11465936,event=env [0Ktravis_time : start : 0433fa94 [0K$ source ~/virtualenv/python3.5/bin/activate travis_time : end : 0433fa94: start=1616422894634462513,finish=1616422894643954794,duration=9492281,event= [0K$ python --version Python 3.5.9 $ pip --version pip 19.3.1 from /home/travis/virtualenv/python3.5.9/lib/python3.5/site-packages/pip (python 3.5) travis_fold : start : before_install.1 [0Ktravis_time : start : 077dad82 [0K$ sudo apt-get update && sudo apt-get install libxkbcommon-x11-0 Hit:1 http://travis-ci-deb.s3.us-east-2.amazonaws.com xenial InRelease Ign:2 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 InRelease Hit:3 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 Release Hit:4 http://ports.ubuntu.com/ubuntu-ports xenial InRelease Hit:6 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease Hit:7 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease Hit:8 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: libxcb-xkb1 libxkbcommon0 The following NEW packages will be installed: libxcb-xkb1 libxkbcommon-x11-0 libxkbcommon0 0 upgraded, 3 newly installed, 0 to remove and 152 not upgraded. Need to get 122 kB of archives. After this operation, 438 kB of additional disk space will be used. Get:1 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-xkb1 arm64 1.11.1-1ubuntu1 [24.9 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libxkbcommon0 arm64 0.5.0-1ubuntu2.1 [85.2 kB] Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libxkbcommon-x11-0 arm64 0.5.0-1ubuntu2.1 [11.9 kB] Fetched 122 kB in 0s (190 kB/s) Selecting previously unselected package libxcb-xkb1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 47604 files and directories currently installed.) Preparing to unpack .../libxcb-xkb1_1.11.1-1ubuntu1_arm64.deb ... Unpacking libxcb-xkb1:arm64 (1.11.1-1ubuntu1) ... Selecting previously unselected package libxkbcommon0:arm64. Preparing to unpack .../libxkbcommon0_0.5.0-1ubuntu2.1_arm64.deb ... Unpacking libxkbcommon0:arm64 (0.5.0-1ubuntu2.1) ... Selecting previously unselected package libxkbcommon-x11-0:arm64. Preparing to unpack .../libxkbcommon-x11-0_0.5.0-1ubuntu2.1_arm64.deb ... Unpacking libxkbcommon-x11-0:arm64 (0.5.0-1ubuntu2.1) ... Processing triggers for libc-bin (2.23-0ubuntu11.2) ... Setting up libxcb-xkb1:arm64 (1.11.1-1ubuntu1) ... Setting up libxkbcommon0:arm64 (0.5.0-1ubuntu2.1) ... Setting up libxkbcommon-x11-0:arm64 (0.5.0-1ubuntu2.1) ... Processing triggers for libc-bin (2.23-0ubuntu11.2) ... travis_time : end : 077dad82: start=1616422895240734151,finish=1616422902710855523,duration=7470121372,event=before_install [0Ktravis_fold : end : before_install.1 [0Ktravis_fold : start : before_install.2 [0Ktravis_time : start : 1696abd4 [0K$ if [ "$TRAVIS_CPU_ARCH" = "arm64" ]; then deactivate && virtualenv venv --python=python3 --system-site-packages && source venv/bin/activate; fi Already using interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /home/travis/build/mu-editor/mu/venv/bin/python3 Also creating executable in /home/travis/build/mu-editor/mu/venv/bin/python Installing setuptools, pip, wheel...done. travis_time : end : 1696abd4: start=1616422902717311659,finish=1616422910373492913,duration=7656181254,event=before_install [0Ktravis_fold : end : before_install.2 [0Ktravis_fold : start : before_install.3 [0Ktravis_time : start : 21d04b70 [0K$ echo $PATH /home/travis/build/mu-editor/mu/venv/bin:/home/travis/bin:/home/travis/.local/bin:/home/travis/.rvm/gems/ruby-2.7.0/bin:/home/travis/.rvm/gems/ruby-2.7.0@global/bin:/home/travis/.rvm/rubies/ruby-2.7.0/bin:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.kiex/elixirs/elixir-1.9.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/travis/.phpenv/bin:/home/travis/.rvm/bin travis_time : end : 21d04b70: start=1616422910380056798,finish=1616422910384635353,duration=4578555,event=before_install [0Ktravis_fold : end : before_install.3 [0Ktravis_fold : start : before_install.4 [0Ktravis_time : start : 0024143b [0K$ python --version Python 3.5.2 travis_time : end : 0024143b: start=1616422910390835991,finish=1616422910398267918,duration=7431927,event=before_install [0Ktravis_fold : end : before_install.4 [0Ktravis_fold : start : before_install.5 [0Ktravis_time : start : 09ee612a [0K$ python -c "import platform, struct; print(platform.machine(), struct.calcsize('P') * 8)" aarch64 64 travis_time : end : 09ee612a: start=1616422910404453406,finish=1616422910502402235,duration=97948829,event=before_install [0Ktravis_fold : end : before_install.5 [0Ktravis_fold : start : before_install.6 [0Ktravis_time : start : 0625cf5a [0K$ python -c "import sys; print(sys.executable)" /home/travis/build/mu-editor/mu/venv/bin/python travis_time : end : 0625cf5a: start=1616422910508835221,finish=1616422910555143812,duration=46308591,event=before_install [0Ktravis_fold : end : before_install.6 [0Ktravis_fold : start : before_install.7 [0Ktravis_time : start : 068c0e4b [0K$ python -m pip --version pip 20.3.4 from /home/travis/build/mu-editor/mu/venv/lib/python3.5/site-packages/pip (python 3.5) travis_time : end : 068c0e4b: start=1616422910561770096,finish=1616422911048172323,duration=486402227,event=before_install [0Ktravis_fold : end : before_install.7 [0Ktravis_fold : start : before_install.8 [0Ktravis_time : start : 18db79d8 [0K$ pip --version pip 20.3.4 from /home/travis/build/mu-editor/mu/venv/lib/python3.5/site-packages/pip (python 3.5) travis_time : end : 18db79d8: start=1616422911054627134,finish=1616422911556999403,duration=502372269,event=before_install [0Ktravis_fold : end : before_install.8 [0Ktravis_fold : start : before_install.9 [0Ktravis_time : start : 1602be7f [0K$ pip config list DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality. :env:.disable-pip-version-check='1' :env:.progress-bar='off' travis_time : end : 1602be7f: start=1616422911563451639,finish=1616422912085574436,duration=522122797,event=before_install [0Ktravis_fold : end : before_install.9 [0Ktravis_fold : start : before_install.10 [0Ktravis_time : start : 32b3103d [0K$ pip freeze DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality. attrs==19.3.0 bcrypt==3.1.7 blinker==1.3 cached-property==1.5.1 certifi==2020.6.20 cffi==1.14.0 chardet==3.0.4 cloud-init==19.4 command-not-found==0.3 configobj==5.0.6 cryptography==2.9.2 docker==4.2.2 docker-compose==1.25.1 dockerpty==0.4.1 docopt==0.6.2 idna==2.10 importlib-metadata==1.7.0 Jinja2==2.8 jsonpatch==1.10 jsonpointer==1.9 jsonschema==3.2.0 language-selector==0.1 MarkupSafe==0.23 oauthlib==1.0.3 paramiko==2.7.1 prettytable==0.7.2 pyasn1==0.1.9 pycparser==2.20 pycurl==7.43.0 pygobject==3.20.0 PyJWT==1.3.0 PyNaCl==1.4.0 pyrsistent==0.16.0 pyserial==3.0.1 python-apt==1.1.0b1+ubuntu0.16.4.9 python-debian==0.1.27 python-systemd==231 PyYAML==3.13 requests==2.24.0 six==1.15.0 ssh-import-id==5.5 texttable==1.6.2 ufw==0.35 unattended-upgrades==0.1 urllib3==1.25.9 virtualenv==15.1.0 websocket-client==0.57.0 zipp==1.2.0 travis_time : end : 32b3103d: start=1616422912092157321,finish=1616422912982861989,duration=890704668,event=before_install [0Ktravis_fold : end : before_install.10 [0Ktravis_fold : start : install.1 [0Ktravis_time : start : 0e8d4500 [0K$ if [ "$TRAVIS_CPU_ARCH" = "arm64" ]; then sudo apt-get install python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtserialport python3-pyqt5.qtsvg libxmlsec1-dev libxml2 libxml2-dev; fi Reading package lists... Building dependency tree... Reading state information... libxml2 is already the newest version (2.9.3+dfsg1-1ubuntu0.7). libxml2-dev is already the newest version (2.9.3+dfsg1-1ubuntu0.7). The following additional packages will be installed: libboost-filesystem1.58.0 libcapnp-0.5.3 libegl1-mesa libevdev2 libgbm1 libgcrypt20-dev libgnutls-dev libgnutlsxx28 libgpg-error-dev libgudev-1.0-0 libidn11-dev libinput-bin libinput10 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmtdev1 libnspr4-dev libnss3 libnss3-dev libnss3-nssdb libp11-kit-dev libp11-kit0 libpcre16-3 libprotobuf-lite9v5 libproxy1v5 libqt5clucene5 libqt5core5a libqt5dbus5 libqt5designer5 libqt5gui5 libqt5help5 libqt5network5 libqt5printsupport5 libqt5scintilla2-12v5 libqt5scintilla2-l10n libqt5serialport5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 libtasn1-6-dev libtasn1-doc libwacom-bin libwacom-common libwacom2 libwayland-client0 libwayland-server0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-util1 libxmlsec1 libxmlsec1-gcrypt libxmlsec1-gnutls libxmlsec1-nss libxmlsec1-openssl nettle-dev python3-sip qttranslations5-l10n Suggested packages: libgcrypt20-doc gnutls-doc gnutls-bin guile-gnutls libqt5libqgtk2 qt5-image-formats-plugins qtwayland5 python3-pyqt5-dbg The following NEW packages will be installed: libboost-filesystem1.58.0 libcapnp-0.5.3 libegl1-mesa libevdev2 libgbm1 libgcrypt20-dev libgnutls-dev libgnutlsxx28 libgpg-error-dev libgudev-1.0-0 libidn11-dev libinput-bin libinput10 libmirclient9 libmircommon7 libmircore1 libmirprotobuf3 libmtdev1 libnspr4-dev libnss3-dev libp11-kit-dev libpcre16-3 libprotobuf-lite9v5 libproxy1v5 libqt5clucene5 libqt5core5a libqt5dbus5 libqt5designer5 libqt5gui5 libqt5help5 libqt5network5 libqt5printsupport5 libqt5scintilla2-12v5 libqt5scintilla2-l10n libqt5serialport5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5test5 libqt5widgets5 libqt5xml5 libtasn1-6-dev libtasn1-doc libwacom-bin libwacom-common libwacom2 libwayland-client0 libwayland-server0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-util1 libxmlsec1 libxmlsec1-dev libxmlsec1-gcrypt libxmlsec1-gnutls libxmlsec1-nss libxmlsec1-openssl nettle-dev python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtserialport python3-pyqt5.qtsvg python3-sip qttranslations5-l10n The following packages will be upgraded: libnss3 libnss3-nssdb libp11-kit0 3 upgraded, 67 newly installed, 0 to remove and 149 not upgraded. Need to get 20.0 MB of archives. After this operation, 88.6 MB of additional disk space will be used. Get:1 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libmtdev1 arm64 1.1.5-1ubuntu2 [13.0 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libpcre16-3 arm64 2:8.38-3.1 [115 kB] Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5core5a arm64 5.5.1+dfsg-16ubuntu7.7 [1642 kB] Get:4 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwayland-server0 arm64 1.12.0-1~ubuntu16.04.3 [23.3 kB] Get:5 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgbm1 arm64 18.0.5-0ubuntu0~16.04.1 [21.3 kB] Get:6 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libcapnp-0.5.3 arm64 0.5.3-2ubuntu1.1 [524 kB] Get:7 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libboost-filesystem1.58.0 arm64 1.58.0+dfsg-5ubuntu3.1 [34.7 kB] Get:8 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libmircore1 arm64 0.26.3+16.04.20170605-0ubuntu1.1 [23.8 kB] Get:9 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libmircommon7 arm64 0.26.3+16.04.20170605-0ubuntu1.1 [83.5 kB] Get:10 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libprotobuf-lite9v5 arm64 2.6.1-1.3 [53.1 kB] Get:11 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libmirprotobuf3 arm64 0.26.3+16.04.20170605-0ubuntu1.1 [107 kB] Get:12 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libmirclient9 arm64 0.26.3+16.04.20170605-0ubuntu1.1 [173 kB] Get:13 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwayland-client0 arm64 1.12.0-1~ubuntu16.04.3 [19.0 kB] Get:14 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libegl1-mesa arm64 18.0.5-0ubuntu0~16.04.1 [70.6 kB] Get:15 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libevdev2 arm64 1.4.6+dfsg-1 [23.1 kB] Get:16 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libgudev-1.0-0 arm64 1:230-2 [10.8 kB] Get:17 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwacom-common all 0.22-1~ubuntu16.04.1 [32.0 kB] Get:18 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwacom2 arm64 0.22-1~ubuntu16.04.1 [15.5 kB] Get:19 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libinput-bin arm64 1.6.3-1ubuntu1~16.04.1 [8972 B] Get:20 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libinput10 arm64 1.6.3-1ubuntu1~16.04.1 [60.1 kB] Get:21 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5dbus5 arm64 5.5.1+dfsg-16ubuntu7.7 [145 kB] Get:22 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libproxy1v5 arm64 0.4.11-5ubuntu1.2 [41.2 kB] Get:23 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5network5 arm64 5.5.1+dfsg-16ubuntu7.7 [441 kB] Get:24 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-icccm4 arm64 0.4.1-1ubuntu1 [9554 B] Get:25 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-util1 arm64 0.4.0-0ubuntu3 [10.5 kB] Get:26 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-image0 arm64 0.4.0-1build1 [11.1 kB] Get:27 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-keysyms1 arm64 0.4.0-1 [8002 B] Get:28 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-randr0 arm64 1.11.1-1ubuntu1 [12.3 kB] Get:29 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxcb-render-util0 arm64 0.3.9-1 [9060 B] Get:30 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5gui5 arm64 5.5.1+dfsg-16ubuntu7.7 [1850 kB] Get:31 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5widgets5 arm64 5.5.1+dfsg-16ubuntu7.7 [1906 kB] Get:32 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libqt5svg5 arm64 5.5.1-2build1 [105 kB] Get:33 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libp11-kit0 arm64 0.23.2-5~ubuntu16.04.2 [84.1 kB] Get:34 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libgpg-error-dev arm64 1.21-2ubuntu1 [64.9 kB] Get:35 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgcrypt20-dev arm64 1.6.5-2ubuntu0.6 [315 kB] Get:36 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgnutlsxx28 arm64 3.4.10-4ubuntu1.8 [12.9 kB] Get:37 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 nettle-dev arm64 3.2-1ubuntu0.16.04.1 [938 kB] Get:38 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libtasn1-6-dev arm64 4.7-3ubuntu0.16.04.3 [81.8 kB] Get:39 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libp11-kit-dev arm64 0.23.2-5~ubuntu16.04.2 [56.6 kB] Get:40 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libidn11-dev arm64 1.32-3ubuntu1.2 [516 kB] Get:41 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libgnutls-dev arm64 3.4.10-4ubuntu1.8 [509 kB] Get:42 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libnspr4-dev arm64 2:4.13.1-0ubuntu0.16.04.1 [195 kB] Get:43 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libnss3-nssdb all 2:3.28.4-0ubuntu0.16.04.14 [10.6 kB] Get:44 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libnss3 arm64 2:3.28.4-0ubuntu0.16.04.14 [1027 kB] Get:45 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libnss3-dev arm64 2:3.28.4-0ubuntu0.16.04.14 [225 kB] Get:46 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 libqt5clucene5 arm64 5.5.1-3ubuntu0.1 [245 kB] Get:47 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5xml5 arm64 5.5.1+dfsg-16ubuntu7.7 [77.9 kB] Get:48 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 libqt5designer5 arm64 5.5.1-3ubuntu0.1 [2585 kB] Get:49 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5sql5 arm64 5.5.1+dfsg-16ubuntu7.7 [88.2 kB] Get:50 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 libqt5help5 arm64 5.5.1-3ubuntu0.1 [163 kB] Get:51 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5printsupport5 arm64 5.5.1+dfsg-16ubuntu7.7 [150 kB] Get:52 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 libqt5scintilla2-l10n all 2.9.1+dfsg-4build1 [38.4 kB] Get:53 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 libqt5scintilla2-12v5 arm64 2.9.1+dfsg-4build1 [747 kB] Get:54 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 libqt5serialport5 arm64 5.5.1-2build1 [29.7 kB] Get:55 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5sql5-sqlite arm64 5.5.1+dfsg-16ubuntu7.7 [30.6 kB] Get:56 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libqt5test5 arm64 5.5.1+dfsg-16ubuntu7.7 [77.7 kB] Get:57 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libwacom-bin arm64 0.22-1~ubuntu16.04.1 [4610 B] Get:58 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxmlsec1 arm64 1.2.20-2ubuntu4 [89.1 kB] Get:59 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxmlsec1-openssl arm64 1.2.20-2ubuntu4 [49.3 kB] Get:60 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxmlsec1-gcrypt arm64 1.2.20-2ubuntu4 [31.9 kB] Get:61 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxmlsec1-gnutls arm64 1.2.20-2ubuntu4 [25.4 kB] Get:62 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxmlsec1-nss arm64 1.2.20-2ubuntu4 [45.4 kB] Get:63 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 libxmlsec1-dev arm64 1.2.20-2ubuntu4 [659 kB] Get:64 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 python3-sip arm64 4.17+dfsg-1ubuntu0.1 [62.4 kB] Get:65 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 python3-pyqt5 arm64 5.5.1+dfsg-3ubuntu4 [1492 kB] Get:66 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 python3-pyqt5.qsci arm64 2.9.1+dfsg-4build1 [122 kB] Get:67 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 python3-pyqt5.qtserialport arm64 5.5.1+dfsg-3ubuntu4 [19.0 kB] Get:68 http://ports.ubuntu.com/ubuntu-ports xenial/universe arm64 python3-pyqt5.qtsvg arm64 5.5.1+dfsg-3ubuntu4 [18.4 kB] Get:69 http://ports.ubuntu.com/ubuntu-ports xenial/main arm64 qttranslations5-l10n all 5.5.1-2build1 [1210 kB] Get:70 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 libtasn1-doc all 4.7-3ubuntu0.16.04.3 [299 kB]
Extracting templates from packages: 42% Extracting templates from packages: 85% Extracting templates from packages: 100% Fetched 20.0 MB in 2s (8518 kB/s) Selecting previously unselected package libmtdev1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 47619 files and directories currently installed.) Preparing to unpack .../libmtdev1_1.1.5-1ubuntu2_arm64.deb ... Unpacking libmtdev1:arm64 (1.1.5-1ubuntu2) ... Selecting previously unselected package libpcre16-3:arm64. Preparing to unpack .../libpcre16-3_2%3a8.38-3.1_arm64.deb ... Unpacking libpcre16-3:arm64 (2:8.38-3.1) ... Selecting previously unselected package libqt5core5a:arm64. Preparing to unpack .../libqt5core5a_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5core5a:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libwayland-server0:arm64. Preparing to unpack .../libwayland-server0_1.12.0-1~ubuntu16.04.3_arm64.deb ... Unpacking libwayland-server0:arm64 (1.12.0-1~ubuntu16.04.3) ... Selecting previously unselected package libgbm1:arm64. Preparing to unpack .../libgbm1_18.0.5-0ubuntu0~16.04.1_arm64.deb ... Unpacking libgbm1:arm64 (18.0.5-0ubuntu0~16.04.1) ... Selecting previously unselected package libcapnp-0.5.3:arm64. Preparing to unpack .../libcapnp-0.5.3_0.5.3-2ubuntu1.1_arm64.deb ... Unpacking libcapnp-0.5.3:arm64 (0.5.3-2ubuntu1.1) ... Selecting previously unselected package libboost-filesystem1.58.0:arm64. Preparing to unpack .../libboost-filesystem1.58.0_1.58.0+dfsg-5ubuntu3.1_arm64.deb ... Unpacking libboost-filesystem1.58.0:arm64 (1.58.0+dfsg-5ubuntu3.1) ... Selecting previously unselected package libmircore1:arm64. Preparing to unpack .../libmircore1_0.26.3+16.04.20170605-0ubuntu1.1_arm64.deb ... Unpacking libmircore1:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Selecting previously unselected package libmircommon7:arm64. Preparing to unpack .../libmircommon7_0.26.3+16.04.20170605-0ubuntu1.1_arm64.deb ... Unpacking libmircommon7:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Selecting previously unselected package libprotobuf-lite9v5:arm64. Preparing to unpack .../libprotobuf-lite9v5_2.6.1-1.3_arm64.deb ... Unpacking libprotobuf-lite9v5:arm64 (2.6.1-1.3) ... Selecting previously unselected package libmirprotobuf3:arm64. Preparing to unpack .../libmirprotobuf3_0.26.3+16.04.20170605-0ubuntu1.1_arm64.deb ... Unpacking libmirprotobuf3:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Selecting previously unselected package libmirclient9:arm64. Preparing to unpack .../libmirclient9_0.26.3+16.04.20170605-0ubuntu1.1_arm64.deb ... Unpacking libmirclient9:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Selecting previously unselected package libwayland-client0:arm64. Preparing to unpack .../libwayland-client0_1.12.0-1~ubuntu16.04.3_arm64.deb ... Unpacking libwayland-client0:arm64 (1.12.0-1~ubuntu16.04.3) ... Selecting previously unselected package libegl1-mesa:arm64. Preparing to unpack .../libegl1-mesa_18.0.5-0ubuntu0~16.04.1_arm64.deb ... Unpacking libegl1-mesa:arm64 (18.0.5-0ubuntu0~16.04.1) ... Selecting previously unselected package libevdev2:arm64. Preparing to unpack .../libevdev2_1.4.6+dfsg-1_arm64.deb ... Unpacking libevdev2:arm64 (1.4.6+dfsg-1) ... Selecting previously unselected package libgudev-1.0-0:arm64. Preparing to unpack .../libgudev-1.0-0_1%3a230-2_arm64.deb ... Unpacking libgudev-1.0-0:arm64 (1:230-2) ... Selecting previously unselected package libwacom-common. Preparing to unpack .../libwacom-common_0.22-1~ubuntu16.04.1_all.deb ... Unpacking libwacom-common (0.22-1~ubuntu16.04.1) ... Selecting previously unselected package libwacom2:arm64. Preparing to unpack .../libwacom2_0.22-1~ubuntu16.04.1_arm64.deb ... Unpacking libwacom2:arm64 (0.22-1~ubuntu16.04.1) ... Selecting previously unselected package libinput-bin. Preparing to unpack .../libinput-bin_1.6.3-1ubuntu1~16.04.1_arm64.deb ... Unpacking libinput-bin (1.6.3-1ubuntu1~16.04.1) ... Selecting previously unselected package libinput10:arm64. Preparing to unpack .../libinput10_1.6.3-1ubuntu1~16.04.1_arm64.deb ... Unpacking libinput10:arm64 (1.6.3-1ubuntu1~16.04.1) ... Selecting previously unselected package libqt5dbus5:arm64. Preparing to unpack .../libqt5dbus5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5dbus5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libproxy1v5:arm64. Preparing to unpack .../libproxy1v5_0.4.11-5ubuntu1.2_arm64.deb ... Unpacking libproxy1v5:arm64 (0.4.11-5ubuntu1.2) ... Selecting previously unselected package libqt5network5:arm64. Preparing to unpack .../libqt5network5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5network5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libxcb-icccm4:arm64. Preparing to unpack .../libxcb-icccm4_0.4.1-1ubuntu1_arm64.deb ... Unpacking libxcb-icccm4:arm64 (0.4.1-1ubuntu1) ... Selecting previously unselected package libxcb-util1:arm64. Preparing to unpack .../libxcb-util1_0.4.0-0ubuntu3_arm64.deb ... Unpacking libxcb-util1:arm64 (0.4.0-0ubuntu3) ... Selecting previously unselected package libxcb-image0:arm64. Preparing to unpack .../libxcb-image0_0.4.0-1build1_arm64.deb ... Unpacking libxcb-image0:arm64 (0.4.0-1build1) ... Selecting previously unselected package libxcb-keysyms1:arm64. Preparing to unpack .../libxcb-keysyms1_0.4.0-1_arm64.deb ... Unpacking libxcb-keysyms1:arm64 (0.4.0-1) ... Selecting previously unselected package libxcb-randr0:arm64. Preparing to unpack .../libxcb-randr0_1.11.1-1ubuntu1_arm64.deb ... Unpacking libxcb-randr0:arm64 (1.11.1-1ubuntu1) ... Selecting previously unselected package libxcb-render-util0:arm64. Preparing to unpack .../libxcb-render-util0_0.3.9-1_arm64.deb ... Unpacking libxcb-render-util0:arm64 (0.3.9-1) ... Selecting previously unselected package libqt5gui5:arm64. Preparing to unpack .../libqt5gui5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5gui5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libqt5widgets5:arm64. Preparing to unpack .../libqt5widgets5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5widgets5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libqt5svg5:arm64. Preparing to unpack .../libqt5svg5_5.5.1-2build1_arm64.deb ... Unpacking libqt5svg5:arm64 (5.5.1-2build1) ... Preparing to unpack .../libp11-kit0_0.23.2-5~ubuntu16.04.2_arm64.deb ... Unpacking libp11-kit0:arm64 (0.23.2-5~ubuntu16.04.2) over (0.23.2-5~ubuntu16.04.1) ... Selecting previously unselected package libgpg-error-dev. Preparing to unpack .../libgpg-error-dev_1.21-2ubuntu1_arm64.deb ... Unpacking libgpg-error-dev (1.21-2ubuntu1) ... Selecting previously unselected package libgcrypt20-dev. Preparing to unpack .../libgcrypt20-dev_1.6.5-2ubuntu0.6_arm64.deb ... Unpacking libgcrypt20-dev (1.6.5-2ubuntu0.6) ... Selecting previously unselected package libgnutlsxx28:arm64. Preparing to unpack .../libgnutlsxx28_3.4.10-4ubuntu1.8_arm64.deb ... Unpacking libgnutlsxx28:arm64 (3.4.10-4ubuntu1.8) ... Selecting previously unselected package nettle-dev. Preparing to unpack .../nettle-dev_3.2-1ubuntu0.16.04.1_arm64.deb ... Unpacking nettle-dev (3.2-1ubuntu0.16.04.1) ... Selecting previously unselected package libtasn1-6-dev:arm64. Preparing to unpack .../libtasn1-6-dev_4.7-3ubuntu0.16.04.3_arm64.deb ... Unpacking libtasn1-6-dev:arm64 (4.7-3ubuntu0.16.04.3) ... Selecting previously unselected package libp11-kit-dev:arm64. Preparing to unpack .../libp11-kit-dev_0.23.2-5~ubuntu16.04.2_arm64.deb ... Unpacking libp11-kit-dev:arm64 (0.23.2-5~ubuntu16.04.2) ... Selecting previously unselected package libidn11-dev. Preparing to unpack .../libidn11-dev_1.32-3ubuntu1.2_arm64.deb ... Unpacking libidn11-dev (1.32-3ubuntu1.2) ... Selecting previously unselected package libgnutls-dev:arm64. Preparing to unpack .../libgnutls-dev_3.4.10-4ubuntu1.8_arm64.deb ... Unpacking libgnutls-dev:arm64 (3.4.10-4ubuntu1.8) ... Selecting previously unselected package libnspr4-dev. Preparing to unpack .../libnspr4-dev_2%3a4.13.1-0ubuntu0.16.04.1_arm64.deb ... Unpacking libnspr4-dev (2:4.13.1-0ubuntu0.16.04.1) ... Preparing to unpack .../libnss3-nssdb_2%3a3.28.4-0ubuntu0.16.04.14_all.deb ... Unpacking libnss3-nssdb (2:3.28.4-0ubuntu0.16.04.14) over (2:3.28.4-0ubuntu0.16.04.12) ... Preparing to unpack .../libnss3_2%3a3.28.4-0ubuntu0.16.04.14_arm64.deb ... Unpacking libnss3:arm64 (2:3.28.4-0ubuntu0.16.04.14) over (2:3.28.4-0ubuntu0.16.04.12) ... Selecting previously unselected package libnss3-dev:arm64. Preparing to unpack .../libnss3-dev_2%3a3.28.4-0ubuntu0.16.04.14_arm64.deb ... Unpacking libnss3-dev:arm64 (2:3.28.4-0ubuntu0.16.04.14) ... Selecting previously unselected package libqt5clucene5:arm64. Preparing to unpack .../libqt5clucene5_5.5.1-3ubuntu0.1_arm64.deb ... Unpacking libqt5clucene5:arm64 (5.5.1-3ubuntu0.1) ... Selecting previously unselected package libqt5xml5:arm64. Preparing to unpack .../libqt5xml5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5xml5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libqt5designer5:arm64. Preparing to unpack .../libqt5designer5_5.5.1-3ubuntu0.1_arm64.deb ... Unpacking libqt5designer5:arm64 (5.5.1-3ubuntu0.1) ... Selecting previously unselected package libqt5sql5:arm64. Preparing to unpack .../libqt5sql5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5sql5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libqt5help5:arm64. Preparing to unpack .../libqt5help5_5.5.1-3ubuntu0.1_arm64.deb ... Unpacking libqt5help5:arm64 (5.5.1-3ubuntu0.1) ... Selecting previously unselected package libqt5printsupport5:arm64. Preparing to unpack .../libqt5printsupport5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5printsupport5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libqt5scintilla2-l10n. Preparing to unpack .../libqt5scintilla2-l10n_2.9.1+dfsg-4build1_all.deb ... Unpacking libqt5scintilla2-l10n (2.9.1+dfsg-4build1) ... Selecting previously unselected package libqt5scintilla2-12v5. Preparing to unpack .../libqt5scintilla2-12v5_2.9.1+dfsg-4build1_arm64.deb ... Unpacking libqt5scintilla2-12v5 (2.9.1+dfsg-4build1) ... Selecting previously unselected package libqt5serialport5:arm64. Preparing to unpack .../libqt5serialport5_5.5.1-2build1_arm64.deb ... Unpacking libqt5serialport5:arm64 (5.5.1-2build1) ... Selecting previously unselected package libqt5sql5-sqlite:arm64. Preparing to unpack .../libqt5sql5-sqlite_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5sql5-sqlite:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libqt5test5:arm64. Preparing to unpack .../libqt5test5_5.5.1+dfsg-16ubuntu7.7_arm64.deb ... Unpacking libqt5test5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Selecting previously unselected package libwacom-bin. Preparing to unpack .../libwacom-bin_0.22-1~ubuntu16.04.1_arm64.deb ... Unpacking libwacom-bin (0.22-1~ubuntu16.04.1) ... Selecting previously unselected package libxmlsec1. Preparing to unpack .../libxmlsec1_1.2.20-2ubuntu4_arm64.deb ... Unpacking libxmlsec1 (1.2.20-2ubuntu4) ... Selecting previously unselected package libxmlsec1-openssl. Preparing to unpack .../libxmlsec1-openssl_1.2.20-2ubuntu4_arm64.deb ... Unpacking libxmlsec1-openssl (1.2.20-2ubuntu4) ... Selecting previously unselected package libxmlsec1-gcrypt. Preparing to unpack .../libxmlsec1-gcrypt_1.2.20-2ubuntu4_arm64.deb ... Unpacking libxmlsec1-gcrypt (1.2.20-2ubuntu4) ... Selecting previously unselected package libxmlsec1-gnutls. Preparing to unpack .../libxmlsec1-gnutls_1.2.20-2ubuntu4_arm64.deb ... Unpacking libxmlsec1-gnutls (1.2.20-2ubuntu4) ... Selecting previously unselected package libxmlsec1-nss. Preparing to unpack .../libxmlsec1-nss_1.2.20-2ubuntu4_arm64.deb ... Unpacking libxmlsec1-nss (1.2.20-2ubuntu4) ... Selecting previously unselected package libxmlsec1-dev. Preparing to unpack .../libxmlsec1-dev_1.2.20-2ubuntu4_arm64.deb ... Unpacking libxmlsec1-dev (1.2.20-2ubuntu4) ... Selecting previously unselected package python3-sip. Preparing to unpack .../python3-sip_4.17+dfsg-1ubuntu0.1_arm64.deb ... Unpacking python3-sip (4.17+dfsg-1ubuntu0.1) ... Selecting previously unselected package python3-pyqt5. Preparing to unpack .../python3-pyqt5_5.5.1+dfsg-3ubuntu4_arm64.deb ... Unpacking python3-pyqt5 (5.5.1+dfsg-3ubuntu4) ... Selecting previously unselected package python3-pyqt5.qsci. Preparing to unpack .../python3-pyqt5.qsci_2.9.1+dfsg-4build1_arm64.deb ... Unpacking python3-pyqt5.qsci (2.9.1+dfsg-4build1) ... Selecting previously unselected package python3-pyqt5.qtserialport. Preparing to unpack .../python3-pyqt5.qtserialport_5.5.1+dfsg-3ubuntu4_arm64.deb ... Unpacking python3-pyqt5.qtserialport (5.5.1+dfsg-3ubuntu4) ... Selecting previously unselected package python3-pyqt5.qtsvg. Preparing to unpack .../python3-pyqt5.qtsvg_5.5.1+dfsg-3ubuntu4_arm64.deb ... Unpacking python3-pyqt5.qtsvg (5.5.1+dfsg-3ubuntu4) ... Selecting previously unselected package qttranslations5-l10n. Preparing to unpack .../qttranslations5-l10n_5.5.1-2build1_all.deb ... Unpacking qttranslations5-l10n (5.5.1-2build1) ... Selecting previously unselected package libtasn1-doc. Preparing to unpack .../libtasn1-doc_4.7-3ubuntu0.16.04.3_all.deb ... Unpacking libtasn1-doc (4.7-3ubuntu0.16.04.3) ... Processing triggers for libc-bin (2.23-0ubuntu11.2) ... Processing triggers for udev (229-4ubuntu21.28) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for install-info (6.1.0.dfsg.1-5) ... Setting up libmtdev1:arm64 (1.1.5-1ubuntu2) ... Setting up libpcre16-3:arm64 (2:8.38-3.1) ... Setting up libqt5core5a:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libwayland-server0:arm64 (1.12.0-1~ubuntu16.04.3) ... Setting up libgbm1:arm64 (18.0.5-0ubuntu0~16.04.1) ... Setting up libcapnp-0.5.3:arm64 (0.5.3-2ubuntu1.1) ... Setting up libboost-filesystem1.58.0:arm64 (1.58.0+dfsg-5ubuntu3.1) ... Setting up libmircore1:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Setting up libmircommon7:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Setting up libprotobuf-lite9v5:arm64 (2.6.1-1.3) ... Setting up libmirprotobuf3:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Setting up libmirclient9:arm64 (0.26.3+16.04.20170605-0ubuntu1.1) ... Setting up libwayland-client0:arm64 (1.12.0-1~ubuntu16.04.3) ... Setting up libegl1-mesa:arm64 (18.0.5-0ubuntu0~16.04.1) ... update-alternatives: using /usr/lib/aarch64-linux-gnu/mesa-egl/ld.so.conf to provide /etc/ld.so.conf.d/aarch64-linux-gnu_EGL.conf (aarch64-linux-gnu_egl_conf) in auto mode Setting up libevdev2:arm64 (1.4.6+dfsg-1) ... Setting up libgudev-1.0-0:arm64 (1:230-2) ... Setting up libwacom-common (0.22-1~ubuntu16.04.1) ... Setting up libwacom2:arm64 (0.22-1~ubuntu16.04.1) ... Setting up libinput-bin (1.6.3-1ubuntu1~16.04.1) ... Setting up libinput10:arm64 (1.6.3-1ubuntu1~16.04.1) ... Setting up libqt5dbus5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libproxy1v5:arm64 (0.4.11-5ubuntu1.2) ... Setting up libqt5network5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libxcb-icccm4:arm64 (0.4.1-1ubuntu1) ... Setting up libxcb-util1:arm64 (0.4.0-0ubuntu3) ... Setting up libxcb-image0:arm64 (0.4.0-1build1) ... Setting up libxcb-keysyms1:arm64 (0.4.0-1) ... Setting up libxcb-randr0:arm64 (1.11.1-1ubuntu1) ... Setting up libxcb-render-util0:arm64 (0.3.9-1) ... Setting up libqt5gui5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libqt5widgets5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libqt5svg5:arm64 (5.5.1-2build1) ... Setting up libp11-kit0:arm64 (0.23.2-5~ubuntu16.04.2) ... Setting up libgpg-error-dev (1.21-2ubuntu1) ... Setting up libgcrypt20-dev (1.6.5-2ubuntu0.6) ... Setting up libgnutlsxx28:arm64 (3.4.10-4ubuntu1.8) ... Setting up nettle-dev (3.2-1ubuntu0.16.04.1) ... Setting up libtasn1-6-dev:arm64 (4.7-3ubuntu0.16.04.3) ... Setting up libp11-kit-dev:arm64 (0.23.2-5~ubuntu16.04.2) ... Setting up libidn11-dev (1.32-3ubuntu1.2) ... Setting up libgnutls-dev:arm64 (3.4.10-4ubuntu1.8) ... Setting up libnspr4-dev (2:4.13.1-0ubuntu0.16.04.1) ... Setting up libqt5clucene5:arm64 (5.5.1-3ubuntu0.1) ... Setting up libqt5xml5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libqt5designer5:arm64 (5.5.1-3ubuntu0.1) ... Setting up libqt5sql5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libqt5help5:arm64 (5.5.1-3ubuntu0.1) ... Setting up libqt5printsupport5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libqt5scintilla2-l10n (2.9.1+dfsg-4build1) ... Setting up libqt5scintilla2-12v5 (2.9.1+dfsg-4build1) ... Setting up libqt5serialport5:arm64 (5.5.1-2build1) ... Setting up libqt5sql5-sqlite:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libqt5test5:arm64 (5.5.1+dfsg-16ubuntu7.7) ... Setting up libwacom-bin (0.22-1~ubuntu16.04.1) ... Setting up libxmlsec1 (1.2.20-2ubuntu4) ... Setting up libxmlsec1-openssl (1.2.20-2ubuntu4) ... Setting up libxmlsec1-gcrypt (1.2.20-2ubuntu4) ... Setting up libxmlsec1-gnutls (1.2.20-2ubuntu4) ... Setting up python3-sip (4.17+dfsg-1ubuntu0.1) ... Setting up python3-pyqt5 (5.5.1+dfsg-3ubuntu4) ... Setting up python3-pyqt5.qsci (2.9.1+dfsg-4build1) ... Setting up python3-pyqt5.qtserialport (5.5.1+dfsg-3ubuntu4) ... Setting up python3-pyqt5.qtsvg (5.5.1+dfsg-3ubuntu4) ... Setting up qttranslations5-l10n (5.5.1-2build1) ... Setting up libtasn1-doc (4.7-3ubuntu0.16.04.3) ... Setting up libnss3-nssdb (2:3.28.4-0ubuntu0.16.04.14) ... Setting up libnss3:arm64 (2:3.28.4-0ubuntu0.16.04.14) ... Setting up libnss3-dev:arm64 (2:3.28.4-0ubuntu0.16.04.14) ... Setting up libxmlsec1-nss (1.2.20-2ubuntu4) ... Setting up libxmlsec1-dev (1.2.20-2ubuntu4) ... Processing triggers for libc-bin (2.23-0ubuntu11.2) ... travis_time : end : 0e8d4500: start=1616422912989712371,finish=1616422926762058881,duration=13772346510,event=install [0Ktravis_fold : end : install.1 [0Ktravis_fold : start : install.2 [0Ktravis_time : start : 01368942 [0K$ if [ "$TRAVIS_CPU_ARCH" = "arm64" ]; then pip install numpy pygame --extra-index-url="https://www.piwheels.org/simple" --platform="linux_armv7l" --only-binary=":all:" --target="$(python -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')"; fi DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality. Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting numpy Downloading https://www.piwheels.org/simple/numpy/numpy-1.18.5-cp35-cp35m-linux_armv7l.whl (8.9 MB) Collecting pygame Downloading https://www.piwheels.org/simple/pygame/pygame-1.9.6-cp35-cp35m-linux_armv7l.whl (3.4 MB) Installing collected packages: pygame, numpy Successfully installed numpy-1.18.5 pygame-1.9.6 travis_time : end : 01368942: start=1616422926768768965,finish=1616422936801613060,duration=10032844095,event=install [0Ktravis_fold : end : install.2 [0Ktravis_fold : start : install.3 [0Ktravis_time : start : 005b1826 [0K$ pip install .[dev] DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality. Processing /home/travis/build/mu-editor/mu Collecting qtconsole==4.7.4 Downloading qtconsole-4.7.4-py2.py3-none-any.whl (118 kB) Collecting pyserial==3.4 Downloading pyserial-3.4-py2.py3-none-any.whl (193 kB) Collecting flake8>=3.8.3 Downloading flake8-3.9.0-py2.py3-none-any.whl (73 kB) Collecting appdirs>=1.4.3 Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting semver>=2.8.0 Downloading semver-2.13.0-py2.py3-none-any.whl (12 kB) Requirement already satisfied: virtualenv in /home/travis/.local/lib/python3.5/site-packages (from mu-editor==1.1.0b2) (15.1.0) Requirement already satisfied: wheel in ./venv/lib/python3.5/site-packages (from mu-editor==1.1.0b2) (0.36.2) Collecting pytest>=4.6 Downloading pytest-6.1.2-py3-none-any.whl (272 kB) Collecting pytest-cov Downloading pytest_cov-2.11.1-py2.py3-none-any.whl (20 kB) Collecting pytest-random-order>=1.0.0 Downloading pytest_random_order-1.0.4-py3-none-any.whl (10 kB) Collecting pytest-faulthandler Downloading pytest_faulthandler-2.0.1-py2.py3-none-any.whl (2.7 kB) Collecting pytest-timeout Downloading pytest_timeout-1.4.2-py2.py3-none-any.whl (10 kB) Collecting coverage Downloading coverage-5.5.tar.gz (691 kB) Collecting nudatus Downloading nudatus-0.0.5-py3-none-any.whl (5.3 kB) Collecting sphinx Downloading Sphinx-3.5.3-py3-none-any.whl (2.8 MB) Collecting twine Downloading twine-1.15.0-py2.py3-none-any.whl (35 kB) Collecting pygments Downloading Pygments-2.8.1-py3-none-any.whl (983 kB) Collecting qtpy Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB) Collecting jupyter-core Downloading jupyter_core-4.6.3-py2.py3-none-any.whl (83 kB) Collecting pyzmq>=17.1 Downloading pyzmq-20.0.0.tar.gz (1.2 MB) Collecting traitlets Downloading traitlets-4.3.3-py2.py3-none-any.whl (75 kB) Collecting ipython-genutils Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB) Collecting ipykernel>=4.1 Downloading ipykernel-5.5.0-py3-none-any.whl (120 kB) Collecting jupyter-client>=4.1 Downloading jupyter_client-6.1.12-py3-none-any.whl (112 kB) Collecting mccabe<0.7.0,>=0.6.0 Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB) Collecting pycodestyle<2.8.0,>=2.7.0 Downloading pycodestyle-2.7.0-py2.py3-none-any.whl (41 kB) Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.5/dist-packages (from flake8>=3.8.3->mu-editor==1.1.0b2) (1.7.0) Collecting pyflakes<2.4.0,>=2.3.0 Downloading pyflakes-2.3.0-py2.py3-none-any.whl (68 kB) Collecting ipython>=5.0.0 Downloading ipython-7.9.0-py3-none-any.whl (775 kB) Collecting tornado>=4.2 Downloading tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl (427 kB) Collecting pexpect Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB) Collecting jedi>=0.10 Downloading jedi-0.17.2-py2.py3-none-any.whl (1.4 MB) Collecting backcall Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) Collecting pickleshare Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB) Collecting prompt-toolkit<2.1.0,>=2.0.0 Downloading prompt_toolkit-2.0.10-py3-none-any.whl (340 kB) Collecting decorator Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Requirement already satisfied: setuptools>=18.5 in ./venv/lib/python3.5/site-packages (from ipython>=5.0.0->ipykernel>=4.1->qtconsole==4.7.4->mu-editor==1.1.0b2) (50.3.2) Collecting parso<0.8.0,>=0.7.0 Downloading parso-0.7.1-py2.py3-none-any.whl (109 kB) Collecting python-dateutil>=2.1 Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) Collecting wcwidth Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB) Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.5/dist-packages (from prompt-toolkit<2.1.0,>=2.0.0->ipython>=5.0.0->ipykernel>=4.1->qtconsole==4.7.4->mu-editor==1.1.0b2) (1.15.0) Collecting packaging Downloading packaging-20.9-py2.py3-none-any.whl (40 kB) Collecting pathlib2>=2.2.0 Downloading pathlib2-2.3.5-py2.py3-none-any.whl (18 kB) Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.5/dist-packages (from pytest>=4.6->mu-editor==1.1.0b2) (19.3.0) Collecting py>=1.8.2 Downloading py-1.10.0-py2.py3-none-any.whl (97 kB) Collecting toml Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB) Collecting iniconfig Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB) Collecting pluggy<1.0,>=0.12 Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.5/dist-packages (from importlib-metadata->flake8>=3.8.3->mu-editor==1.1.0b2) (1.2.0) Collecting pyparsing>=2.0.2 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting ptyprocess>=0.5 Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) Collecting snowballstemmer>=1.1 Downloading snowballstemmer-2.1.0-py2.py3-none-any.whl (93 kB) Collecting sphinxcontrib-serializinghtml Downloading sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl (89 kB) Collecting sphinxcontrib-htmlhelp Downloading sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl (96 kB) Collecting sphinxcontrib-jsmath Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Collecting sphinxcontrib-devhelp Downloading sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB) Requirement already satisfied: requests>=2.5.0 in /usr/local/lib/python3.5/dist-packages (from sphinx->mu-editor==1.1.0b2) (2.24.0) Collecting babel>=1.3 Downloading Babel-2.9.0-py2.py3-none-any.whl (8.8 MB) Collecting sphinxcontrib-applehelp Downloading sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB) Collecting imagesize Downloading imagesize-1.2.0-py2.py3-none-any.whl (4.8 kB) Collecting docutils>=0.12 Downloading docutils-0.16-py2.py3-none-any.whl (548 kB) Collecting sphinxcontrib-qthelp Downloading sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB) Collecting alabaster<0.8,>=0.7 Downloading alabaster-0.7.12-py2.py3-none-any.whl (14 kB) Requirement already satisfied: Jinja2>=2.3 in /usr/lib/python3/dist-packages (from sphinx->mu-editor==1.1.0b2) (2.8) Collecting pytz>=2015.7 Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB) Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.5/dist-packages (from requests>=2.5.0->sphinx->mu-editor==1.1.0b2) (3.0.4) Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.5/dist-packages (from requests>=2.5.0->sphinx->mu-editor==1.1.0b2) (1.25.9) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.5/dist-packages (from requests>=2.5.0->sphinx->mu-editor==1.1.0b2) (2020.6.20) Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.5/dist-packages (from requests>=2.5.0->sphinx->mu-editor==1.1.0b2) (2.10) Collecting tqdm>=4.14 Downloading tqdm-4.59.0-py2.py3-none-any.whl (74 kB) Collecting readme-renderer>=21.0 Downloading readme_renderer-29.0-py2.py3-none-any.whl (15 kB) Collecting requests-toolbelt!=0.9.0,>=0.8.0 Downloading requests_toolbelt-0.9.1-py2.py3-none-any.whl (54 kB) Collecting pkginfo>=1.4.2 Downloading pkginfo-1.7.0-py2.py3-none-any.whl (25 kB) Collecting bleach>=2.1.0 Downloading bleach-3.3.0-py2.py3-none-any.whl (283 kB) Collecting webencodings Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Building wheels for collected packages: coverage, pyzmq, mu-editor Building wheel for coverage (setup.py): started Building wheel for coverage (setup.py): finished with status 'done' Created wheel for coverage: filename=coverage-5.5-cp35-cp35m-linux_aarch64.whl size=229153 sha256=07dee71af61fd44972c6525694dfa2e45a44be5e8dfd598b781fbae388c44b59 Stored in directory: /home/travis/.cache/pip/wheels/4e/f9/2d/db64447b3358c562544cb418d5c650e828853771a2cf6662d6 Building wheel for pyzmq (setup.py): started Building wheel for pyzmq (setup.py): still running... Building wheel for pyzmq (setup.py): still running... Building wheel for pyzmq (setup.py): finished with status 'done' Created wheel for pyzmq: filename=pyzmq-20.0.0-cp35-cp35m-linux_aarch64.whl size=5567223 sha256=ddfe0439b7d5abdcc9b5763f08241cc582b58fc27e840d31635c04a64ff80acf Stored in directory: /home/travis/.cache/pip/wheels/8a/b1/b8/67f4859cb7714a779f6d1d7f5ddbb39e4ea2e678f8c97f284f Building wheel for mu-editor (setup.py): started Building wheel for mu-editor (setup.py): finished with status 'done' Created wheel for mu-editor: filename=mu_editor-1.1.0b2-py3-none-any.whl size=4429285 sha256=fc1a65a8ff117dc94af7b8af1c1c2f9cc478af55ef9c677efc87b5d3dc238e25 Stored in directory: /tmp/pip-ephem-wheel-cache-9_3ibvsb/wheels/7b/37/ae/1371b09277b7fb6987fea06bc65558a7a61d81592f60fa5ef5 Successfully built coverage pyzmq mu-editor Installing collected packages: ipython-genutils, decorator, wcwidth, traitlets, ptyprocess, parso, tornado, pyzmq, python-dateutil, pyparsing, pygments, prompt-toolkit, pickleshare, pexpect, jupyter-core, jedi, backcall, webencodings, packaging, jupyter-client, ipython, toml, qtpy, pytz, pyflakes, pycodestyle, py, pluggy, pathlib2, mccabe, ipykernel, iniconfig, docutils, bleach, tqdm, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, semver, requests-toolbelt, readme-renderer, qtconsole, pytest, pyserial, pkginfo, imagesize, flake8, coverage, babel, appdirs, alabaster, twine, sphinx, pytest-timeout, pytest-random-order, pytest-faulthandler, pytest-cov, nudatus, mu-editor Attempting uninstall: pyserial Found existing installation: pyserial 3.0.1 Not uninstalling pyserial at /usr/lib/python3/dist-packages, outside environment /home/travis/build/mu-editor/mu/venv Can't uninstall 'pyserial'. No files were found to uninstall. Successfully installed alabaster-0.7.12 appdirs-1.4.4 babel-2.9.0 backcall-0.2.0 bleach-3.3.0 coverage-5.5 decorator-4.4.2 docutils-0.16 flake8-3.9.0 imagesize-1.2.0 iniconfig-1.1.1 ipykernel-5.5.0 ipython-7.9.0 ipython-genutils-0.2.0 jedi-0.17.2 jupyter-client-6.1.12 jupyter-core-4.6.3 mccabe-0.6.1 mu-editor-1.1.0b2 nudatus-0.0.5 packaging-20.9 parso-0.7.1 pathlib2-2.3.5 pexpect-4.8.0 pickleshare-0.7.5 pkginfo-1.7.0 pluggy-0.13.1 prompt-toolkit-2.0.10 ptyprocess-0.7.0 py-1.10.0 pycodestyle-2.7.0 pyflakes-2.3.0 pygments-2.8.1 pyparsing-2.4.7 pyserial-3.4 pytest-6.1.2 pytest-cov-2.11.1 pytest-faulthandler-2.0.1 pytest-random-order-1.0.4 pytest-timeout-1.4.2 python-dateutil-2.8.1 pytz-2021.1 pyzmq-20.0.0 qtconsole-4.7.4 qtpy-1.9.0 readme-renderer-29.0 requests-toolbelt-0.9.1 semver-2.13.0 snowballstemmer-2.1.0 sphinx-3.5.3 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-1.0.3 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.4 toml-0.10.2 tornado-6.1 tqdm-4.59.0 traitlets-4.3.3 twine-1.15.0 wcwidth-0.2.5 webencodings-0.5.1 travis_time : end : 005b1826: start=1616422936808361843,finish=1616423156621674461,duration=219813312618,event=install [0Ktravis_fold : end : install.3 [0Ktravis_fold : start : install.4 [0Ktravis_time : start : 10ce1f89 [0K$ pip freeze DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality. alabaster==0.7.12 appdirs==1.4.4 attrs==19.3.0 Babel==2.9.0 backcall==0.2.0 bcrypt==3.1.7 bleach==3.3.0 blinker==1.3 cached-property==1.5.1 certifi==2020.6.20 cffi==1.14.0 chardet==3.0.4 cloud-init==19.4 command-not-found==0.3 configobj==5.0.6 coverage==5.5 cryptography==2.9.2 decorator==4.4.2 docker==4.2.2 docker-compose==1.25.1 dockerpty==0.4.1 docopt==0.6.2 docutils==0.16 flake8==3.9.0 idna==2.10 imagesize==1.2.0 importlib-metadata==1.7.0 iniconfig==1.1.1 ipykernel==5.5.0 ipython==7.9.0 ipython-genutils==0.2.0 jedi==0.17.2 Jinja2==2.8 jsonpatch==1.10 jsonpointer==1.9 jsonschema==3.2.0 jupyter-client==6.1.12 jupyter-core==4.6.3 language-selector==0.1 MarkupSafe==0.23 mccabe==0.6.1 mu-editor @ file:///home/travis/build/mu-editor/mu nudatus==0.0.5 numpy==1.18.5 oauthlib==1.0.3 packaging==20.9 paramiko==2.7.1 parso==0.7.1 pathlib2==2.3.5 pexpect==4.8.0 pickleshare==0.7.5 pkginfo==1.7.0 pluggy==0.13.1 prettytable==0.7.2 prompt-toolkit==2.0.10 ptyprocess==0.7.0 py==1.10.0 pyasn1==0.1.9 pycodestyle==2.7.0 pycparser==2.20 pycurl==7.43.0 pyflakes==2.3.0 pygame==1.9.6 Pygments==2.8.1 pygobject==3.20.0 PyJWT==1.3.0 PyNaCl==1.4.0 pyparsing==2.4.7 pyrsistent==0.16.0 pyserial==3.4 pytest==6.1.2 pytest-cov==2.11.1 pytest-faulthandler==2.0.1 pytest-random-order==1.0.4 pytest-timeout==1.4.2 python-apt==1.1.0b1+ubuntu0.16.4.9 python-dateutil==2.8.1 python-debian==0.1.27 python-systemd==231 pytz==2021.1 PyYAML==3.13 pyzmq==20.0.0 qtconsole==4.7.4 QtPy==1.9.0 readme-renderer==29.0 requests==2.24.0 requests-toolbelt==0.9.1 semver==2.13.0 six==1.15.0 snowballstemmer==2.1.0 Sphinx==3.5.3 sphinxcontrib-applehelp==1.0.2 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==1.0.3 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.4 ssh-import-id==5.5 texttable==1.6.2 toml==0.10.2 tornado==6.1 tqdm==4.59.0 traitlets==4.3.3 twine==1.15.0 ufw==0.35 unattended-upgrades==0.1 urllib3==1.25.9 virtualenv==15.1.0 wcwidth==0.2.5 webencodings==0.5.1 websocket-client==0.57.0 zipp==1.2.0 travis_time : end : 10ce1f89: start=1616423156628158197,finish=1616423157741458916,duration=1113300719,event=install [0Ktravis_fold : end : install.4 [0Ktravis_time : start : 27af3c40 [0K$ if [ "$TRAVIS_PYTHON_VERSION" = "3.5" ]; then make coverage; fi rm -rf build rm -rf dist rm -rf .coverage rm -rf .eggs rm -rf .egg-info rm -rf docs/_build rm -rf .pytest_cache rm -rf lib rm -rf .mp4 rm -rf .git/avatar/ find . ( -name '.py[co]' -o -name dropin.cache ) -delete find . ( -name '.bak' -o -name dropin.cache ) -delete find . ( -name '.tgz' -o -name dropin.cache ) -delete find . | grep -E "(pycache)" | xargs rm -rf export LANG=en_GB.utf8 pytest -v --random-order --cov-config .coveragerc --cov-report term-missing --cov=mu tests/ ============================= test session starts ============================== platform linux -- Python 3.5.2, pytest-6.1.2, py-1.10.0, pluggy-0.13.1 -- /home/travis/build/mu-editor/mu/venv/bin/python3 cachedir: .pytest_cache Using --random-order-bucket=module Using --random-order-seed=412916
rootdir: /home/travis/build/mu-editor/mu, configfile: pytest.ini plugins: cov-2.11.1, timeout-1.4.2, random-order-1.0.4 collecting ... collected 1023 items
tests/debugger/test_client.py::test_Debugger_on_breakpoint_disable PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_on_fail PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_on_restart PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_breakpoint_unknown PASSED [ 0%] tests/debugger/test_client.py::test_Breakpoint_init PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_do_return PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_stop PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_on_call PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_on_stack PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_breakpoint_as_breakpoint_number PASSED [ 0%] tests/debugger/test_client.py::test_Debugger_output_no_client_connection PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_on_error PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_enable PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_on_bootstrap PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_ignore PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_output_client_error PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_output PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_do_step PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_on_command PASSED [ 1%] tests/debugger/test_client.py::test_Breakpoint_str PASSED [ 1%] tests/debugger/test_client.py::test_Debugger_init PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_on_return PASSED [ 2%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_break_loop PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_create PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_on_line PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_create_disabled PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_clear_breakpoint PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_breakpoints PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_create_breakpoint PASSED [ 2%] tests/debugger/test_client.py::test_command_buffer_message PASSED [ 2%] tests/debugger/test_client.py::test_Debugger_ignore_breakpoint PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_on_warning PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_on_exception PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_on_postmortem PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_start PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_do_run PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_disable_breakpoint PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_enable_breakpoint PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_on_info PASSED [ 3%] tests/debugger/test_client.py::test_Debugger_on_finished PASSED [ 3%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_with_address_error PASSED [ 4%] tests/debugger/test_client.py::test_CommandBufferHandler_init PASSED [ 4%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_with_connection_refused_error PASSED [ 4%] tests/debugger/test_client.py::test_Debugger_breakpoint_as_tuple PASSED [ 4%] tests/debugger/test_client.py::test_Debugger_do_next PASSED [ 4%] tests/debugger/test_client.py::test_CommandBufferHandler_worker_exception_breaks_loop PASSED [ 4%] tests/debugger/test_client.py::test_Debugger_on_breakpoint_clear PASSED [ 4%] tests/modes/test_pyboard.py::test_workspace_dir_nt_exists PASSED [ 4%] tests/modes/test_pyboard.py::test_api PASSED [ 4%] tests/modes/test_pyboard.py::test_workspace_dir_nt_missing PASSED [ 4%] tests/modes/test_pyboard.py::test_workspace_dir_unknown_os PASSED [ 4%] tests/modes/test_pyboard.py::test_workspace_dir_posix_no_mount_command PASSED [ 5%] tests/modes/test_pyboard.py::test_pyboard_mode PASSED [ 5%] tests/modes/test_pyboard.py::test_workspace_dir_posix_missing PASSED [ 5%] tests/modes/test_pyboard.py::test_workspace_dir_posix_exists PASSED [ 5%] tests/modes/test_pyboard.py::test_pyboard_mode_no_charts PASSED [ 5%] tests/modes/test_circuitpython.py::test_api PASSED [ 5%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_no_mount_command PASSED [ 5%] tests/modes/test_circuitpython.py::test_workspace_dir_unknown_os PASSED [ 5%] tests/modes/test_circuitpython.py::test_circuitpython_mode_no_charts PASSED [ 5%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_exists PASSED [ 5%] tests/modes/test_circuitpython.py::test_workspace_dir_nt_missing PASSED [ 6%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_missing PASSED [ 6%] tests/modes/test_circuitpython.py::test_circuitpython_mode PASSED [ 6%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_exception_raised PASSED [ 6%] tests/modes/test_circuitpython.py::test_workspace_dir_posix_permission_denied PASSED [ 6%] tests/modes/test_circuitpython.py::test_workspace_dir_nt_exists PASSED [ 6%] tests/modes/test_python3.py::test_python_run_toggle_off PASSED [ 6%] tests/modes/test_python3.py::test_python_run_script_uses_editor_save PASSED [ 6%] tests/modes/test_python3.py::test_python_remove_repl PASSED [ 6%] tests/modes/test_python3.py::test_python_add_plotter PASSED [ 6%] tests/modes/test_python3.py::test_python_on_kernel_start PASSED [ 7%] tests/modes/test_python3.py::test_python_on_data_flood PASSED [ 7%] tests/modes/test_python3.py::test_python_run_toggle_on PASSED [ 7%] tests/modes/test_python3.py::test_python_stop_script_no_runner PASSED [ 7%] tests/modes/test_python3.py::test_python_toggle_repl PASSED [ 7%] tests/modes/test_python3.py::test_python_add_repl PASSED [ 7%] tests/modes/test_python3.py::test_kernel_runner_stop_kernel PASSED [ 7%] tests/modes/test_python3.py::test_python_api PASSED [ 7%] tests/modes/test_python3.py::test_python_remove_plotter PASSED [ 7%] tests/modes/test_python3.py::test_python_stop_resets_focus PASSED [ 7%] tests/modes/test_python3.py::test_python_run_script_needs_saving PASSED [ 8%] tests/modes/test_python3.py::test_kernel_runner_start_kernel PASSED [ 8%] tests/modes/test_python3.py::test_python_run_script_no_editor PASSED [ 8%] tests/modes/test_python3.py::test_python_mode_no_charts PASSED [ 8%] tests/modes/test_python3.py::test_python_run_script PASSED [ 8%] tests/modes/test_python3.py::test_python_remove_repl_reset_focus PASSED [ 8%] tests/modes/test_python3.py::test_python_mode PASSED [ 8%] tests/modes/test_python3.py::test_python_remove_plotter_reset_focus PASSED [ 8%] tests/modes/test_python3.py::test_python_stop_script PASSED [ 8%] tests/modes/test_python3.py::test_python_run_toggle_on_cancelled PASSED [ 8%] tests/modes/test_python3.py::test_python_on_kernel_stop PASSED [ 8%] tests/modes/test_python3.py::test_python_debug PASSED [ 9%] tests/modes/test_python3.py::test_python_toggle_plotter PASSED [ 9%] tests/interface/test_widgets.py::test_device_selector_device_changed PASSED [ 9%] tests/interface/test_widgets.py::test_device_selector_selected_device_w_no_devices PASSED [ 9%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_selector_hidden_on_1_device PASSED [ 9%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_check_disconnected_icon PASSED [ 9%] tests/interface/test_widgets.py::test_DeviceSelector_device_disconnected PASSED [ 9%] tests/interface/test_widgets.py::test_DeviceSelector_device_connected PASSED [ 9%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_selector_shown_on_2_devices PASSED [ 9%] tests/interface/test_widgets.py::test_DeviceSelector_update_view_check_connected_icon PASSED [ 9%] tests/interface/test_widgets.py::test_device_selector_device_changed_to_none PASSED [ 10%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_d_after_process_finished PASSED [ 10%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_min_up SKIPPED [ 10%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_init PASSED [ 10%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_vt100_cursor_right PASSED [ 10%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data_guards_against_data_flood SKIPPED [ 10%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_min_down SKIPPED [ 10%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_newline_with_cursor_midline PASSED [ 10%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_left_arrow_at_start_of_line PASSED [ 10%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_c PASSED [ 10%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_font_size PASSED [ 11%] tests/interface/test_panes.py::test_MuFileList_show_confirm_overwrite_dialog PASSED [ 11%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_dropEvent PASSED [ 11%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout_with_unicode_error PASSED [ 11%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste_final_character PASSED [ 11%] tests/interface/test_panes.py::test_LocalFileList_dropEvent PASSED [ 11%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data SKIPPED [ 11%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data_tuple_not_numeric SKIPPED [ 11%] tests/interface/test_panes.py::test_DebugInspector_set_zoom PASSED [ 11%] tests/interface/test_panes.py::test_PlotterPane_set_label_format_to_float_when_range_small SKIPPED [ 11%] tests/interface/test_panes.py::test_FileSystemPane_on_ls_fail PASSED [ 12%] tests/interface/test_panes.py::test_PythonProcessPane_backspace_at_start_of_input_line PASSED [ 12%] tests/interface/test_panes.py::test_PythonProcessPane_delete_at_start_of_input_line PASSED [ 12%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data PASSED [ 12%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent PASSED [ 12%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_backspace PASSED [ 12%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_qtcursor_to_devicecursor PASSED [ 12%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_copy PASSED [ 12%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout_with_stdout_buffer PASSED [ 12%] tests/interface/test_panes.py::test_PythonProcessPane_set_theme PASSED [ 12%] tests/interface/test_panes.py::test_JupyterREPLPane_init PASSED [ 13%] tests/interface/test_panes.py::test_PythonProcessPane_paste PASSED [ 13%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent_write_to_mainpy PASSED [ 13%] tests/interface/test_panes.py::test_PythonProcessPane_clear_input_line PASSED [ 13%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_c_after_process_finished PASSED [ 13%] tests/interface/test_panes.py::test_PythonProcessPane_write_to_stdin PASSED [ 13%] tests/interface/test_panes.py::test_DebugInspector_set_font_size PASSED [ 13%] tests/interface/test_panes.py::test_FileSystem_Pane_on_get_fail PASSED [ 13%] tests/interface/test_panes.py::test_PlotterPane_init SKIPPED [ 13%] tests/interface/test_panes.py::test_PythonProcessPane_paste_normalize_windows_newlines PASSED [ 13%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_ctrl_passthrough_windows PASSED [ 13%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_ctrl_passthrough_darwin PASSED [ 14%] tests/interface/test_panes.py::test_PythonProcessPane_context_menu_darwin PASSED [ 14%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_debugger PASSED [ 14%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_CTRL_V_Darwin PASSED [ 14%] tests/interface/test_panes.py::test_MicroPythonREPLPane_context_menu_darwin PASSED [ 14%] tests/interface/test_panes.py::test_PythonProcessPane_history_back_at_first_item PASSED [ 14%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_right PASSED [ 14%] tests/interface/test_panes.py::test_PlotterPane_set_label_format_to_int_when_range_large SKIPPED [ 14%] tests/interface/test_panes.py::test_JupyterREPLPane_set_theme_contrast PASSED [ 14%] tests/interface/test_panes.py::test_PythonProcessPane_set_font_size PASSED [ 14%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_home PASSED [ 15%] tests/interface/test_panes.py::test_FileSystemPane_show_message PASSED [ 15%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_backspace PASSED [ 15%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_not_interactive PASSED [ 15%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_newline_ignore_empty_input_in_history PASSED [ 15%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_CTRL_C_Darwin PASSED [ 15%] tests/interface/test_panes.py::test_MicroPythonREPLPane_context_menu PASSED [ 15%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_only_works_if_something_to_paste PASSED [ 15%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_custom_python_args PASSED [ 15%] tests/interface/test_panes.py::test_PythonProcessPane_history_forward PASSED [ 15%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_down PASSED [ 16%] tests/interface/test_panes.py::test_MicroPythonFileList_on_delete PASSED [ 16%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_dropEvent_wrong_source PASSED [ 16%] tests/interface/test_panes.py::test_PythonProcessPane_context_menu PASSED [ 16%] tests/interface/test_panes.py::test_PythonProcessPane_finished PASSED [ 16%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_home PASSED [ 16%] tests/interface/test_panes.py::test_PlotterPane_add_data_adjust_values_up SKIPPED [ 16%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste_newline PASSED [ 16%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_user_environment_variables PASSED [ 16%] tests/interface/test_panes.py::test_PythonProcessPane_append PASSED [ 16%] tests/interface/test_panes.py::test_FileSystemPane_set_font_size PASSED [ 17%] tests/interface/test_panes.py::test_PythonProcessPane_try_read_from_stdout_not_started PASSED [ 17%] tests/interface/test_panes.py::test_PlotterPane_add_data_adjust_values_down SKIPPED [ 17%] tests/interface/test_panes.py::test_DebugInspector_set_theme PASSED [ 17%] tests/interface/test_panes.py::test_PythonProcessPane_replace_input_line PASSED [ 17%] tests/interface/test_panes.py::test_PythonProcessPane_insert PASSED [ 17%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent PASSED [ 17%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_up PASSED [ 17%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_contextMenuEvent PASSED [ 17%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste_non_ascii PASSED [ 17%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_newline PASSED [ 17%] tests/interface/test_panes.py::test_PythonProcessPane_init PASSED [ 18%] tests/interface/test_panes.py::test_LocalFileList_on_get PASSED [ 18%] tests/interface/test_panes.py::test_PlotterPane_set_theme SKIPPED [ 18%] tests/interface/test_panes.py::test_FileSystemPane_on_ls PASSED [ 18%] tests/interface/test_panes.py::test_FileSystem_Pane_on_put_fail PASSED [ 18%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout PASSED [ 18%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_left PASSED [ 18%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_carriage_return PASSED [ 18%] tests/interface/test_panes.py::test_FileSystemPane_show_warning PASSED [ 18%] tests/interface/test_panes.py::test_PythonProcessPane_backspace PASSED [ 18%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_left_arrow PASSED [ 19%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_up_arrow PASSED [ 19%] tests/interface/test_panes.py::test_PlotterPane_process_tty_data_overrun_input_buffer SKIPPED [ 19%] tests/interface/test_panes.py::test_MicroPythonREPLPane_clear PASSED [ 19%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_return PASSED [ 19%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_handle_windows_newlines PASSED [ 19%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_partial_reception PASSED [ 19%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_command_args PASSED [ 19%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_zoom PASSED [ 19%] tests/interface/test_panes.py::test_JupyterREPLPane_append_plain_text PASSED [ 19%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_left_with_selection PASSED [ 20%] tests/interface/test_panes.py::test_LocalFileList_dropEvent_wrong_source PASSED [ 20%] tests/interface/test_panes.py::test_FileSystemPane_init PASSED [ 20%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_backspace PASSED [ 20%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_unsupported_vt100_command PASSED [ 20%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_paste PASSED [ 20%] tests/interface/test_panes.py::test_JupyterREPLPane_set_theme_day PASSED [ 20%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_ctrl_d PASSED [ 20%] tests/interface/test_panes.py::test_FileSystemPane_open_file PASSED [ 20%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_move_cursor_to_left PASSED [ 20%] tests/interface/test_panes.py::test_DebugInspectorItem PASSED [ 21%] tests/interface/test_panes.py::test_LocalFileList_contextMenuEvent_external PASSED [ 21%] tests/interface/test_panes.py::test_PythonProcessPane_delete PASSED [ 21%] tests/interface/test_panes.py::test_PythonProcessPane_start_process_custom_runner SKIPPED [ 21%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_handle_malformed_unicode PASSED [ 21%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_end PASSED [ 21%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_devicecursor_to_qtcursor PASSED [ 21%] tests/interface/test_panes.py::test_MicroPythonDeviceFileList_on_put PASSED [ 21%] tests/interface/test_panes.py::test_JupyterREPLPane_setFocus PASSED [ 21%] tests/interface/test_panes.py::test_PythonProcessPane_keyPressEvent_a PASSED [ 21%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_VT100 PASSED [ 21%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_newline PASSED [ 22%] tests/interface/test_panes.py::test_LocalFileList_init PASSED [ 22%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_a PASSED [ 22%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_shift_right PASSED [ 22%] tests/interface/test_panes.py::test_FileSystem_Pane_on_delete_fail PASSED [ 22%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste PASSED [ 22%] tests/interface/test_panes.py::test_JupyterREPLPane_set_zoom PASSED [ 22%] tests/interface/test_panes.py::test_PythonProcessPane_read_from_stdout_no_data PASSED [ 22%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_right_with_selection PASSED [ 22%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_multibyte_sequence PASSED [ 22%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_delete PASSED [ 23%] tests/interface/test_panes.py::test_PythonProcessPane_parse_paste PASSED [ 23%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_up SKIPPED [ 23%] tests/interface/test_panes.py::test_PythonProcessPane_on_process_halt_badly_formed_bytes PASSED [ 23%] tests/interface/test_panes.py::test_FileSystemPane_disable PASSED [ 23%] tests/interface/test_panes.py::test_PythonProcessPane_set_start_of_current_line PASSED [ 23%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_down_arrow PASSED [ 23%] tests/interface/test_panes.py::test_MicroPythonREPLPane_set_move_cursor_to_right PASSED [ 23%] tests/interface/test_panes.py::test_FileSystemPane_set_theme PASSED [ 23%] tests/interface/test_panes.py::test_PythonProcessPane_set_zoom PASSED [ 23%] tests/interface/test_panes.py::test_PythonProcessPane_history_back PASSED [ 24%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_end PASSED [ 24%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_right_arrow PASSED [ 24%] tests/interface/test_panes.py::test_PythonProcessPane_start_process PASSED [ 24%] tests/interface/test_panes.py::test_MicroPythonREPLPane_mouseReleasedEvent_with_selection PASSED [ 24%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_delete PASSED [ 24%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_partial_reception2 PASSED [ 24%] tests/interface/test_panes.py::test_MicroPythonREPLPane_mouseReleasedEvent_no_selection PASSED [ 24%] tests/interface/test_panes.py::test_PythonProcessPane_parse_input_non_ascii PASSED [ 24%] tests/interface/test_panes.py::test_PlotterPane_add_data SKIPPED [ 24%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_printed_chars PASSED [ 25%] tests/interface/test_panes.py::test_MicroPythonREPLPane_delete_selection_w_no_selection PASSED [ 25%] tests/interface/test_panes.py::test_PythonProcessPane_insert_within_input_line PASSED [ 25%] tests/interface/test_panes.py::test_MicroPythonREPLPane_paste_handle_unix_newlines PASSED [ 25%] tests/interface/test_panes.py::test_MicroPythonREPLPane_delete_selection PASSED [ 25%] tests/interface/test_panes.py::test_JupyterREPLPane_set_theme_night PASSED [ 25%] tests/interface/test_panes.py::test_FileSystemPane_enable PASSED [ 25%] tests/interface/test_panes.py::test_PythonProcessPane_try_read_from_stdout_has_started PASSED [ 25%] tests/interface/test_panes.py::test_MicroPythonREPLPane_process_tty_data_vt100_cursor_left PASSED [ 25%] tests/interface/test_panes.py::test_PythonProcessPane_history_forward_at_last_item PASSED [ 25%] tests/interface/test_panes.py::test_PlotterPane_add_data_re_scale_down SKIPPED [ 26%] tests/interface/test_panes.py::test_JupyterREPLPane_set_font_size PASSED [ 26%] tests/interface/test_panes.py::test_PythonProcessPane_on_process_halt PASSED [ 26%] tests/interface/test_panes.py::test_MicroPythonREPLPane_keyPressEvent_shift_left PASSED [ 26%] tests/interface/test_panes.py::test_PANE_ZOOM_SIZES PASSED [ 26%] tests/test_app.py::test_animated_splash_set_frame PASSED [ 26%] tests/test_app.py::test_run PASSED [ 26%] tests/test_app.py::test_animated_splash_init PASSED [ 26%] tests/test_app.py::test_debug_no_args PASSED [ 26%] tests/test_app.py::test_animated_splash_draw_log PASSED [ 26%] tests/test_app.py::test_excepthook_alamo PASSED [ 26%] tests/test_app.py::test_animated_splash_failed PASSED [ 27%] tests/test_app.py::test_excepthook PASSED [ 27%] tests/test_app.py::test_worker_run PASSED [ 27%] tests/test_app.py::test_worker_fail PASSED [ 27%] tests/test_app.py::test_setup_logging PASSED [ 27%] tests/test_app.py::test_debug PASSED [ 27%] tests/test_app.py::test_close_splash_screen SKIPPED [ 27%] tests/modes/test_base.py::test_micropython_mode_find_device_no_ports PASSED [ 27%] tests/modes/test_base.py::test_micropython_mode_add_repl_ioerror PASSED [ 27%] tests/modes/test_base.py::test_micropython_mode_remove_plotter_active_repl PASSED [ 27%] tests/modes/test_base.py::test_micropython_mode_add_repl PASSED [ 28%] tests/modes/test_base.py::test_REPLConnection_send_interrupt PASSED [ 28%] tests/modes/test_base.py::test_REPLConnection_execute PASSED [ 28%] tests/modes/test_base.py::test_base_mode_open_file PASSED [ 28%] tests/modes/test_base.py::test_base_mode_activate_deactivate_change PASSED [ 28%] tests/modes/test_base.py::test_fileManager_get PASSED [ 28%] tests/modes/test_base.py::test_micropython_mode_add_plotter_exception PASSED [ 28%] tests/modes/test_base.py::test_FileManager_put PASSED [ 28%] tests/modes/test_base.py::test_micropython_deactivate PASSED [ 28%] tests/modes/test_base.py::test_micropython_mode_add_repl_exception PASSED [ 28%] tests/modes/test_base.py::test_micropython_mode_add_plotter_ioerror PASSED [ 29%] tests/modes/test_base.py::test_micropython_mode_add_repl_no_port PASSED [ 29%] tests/modes/test_base.py::test_micropython_mode_port_path_posix PASSED [ 29%] tests/modes/test_base.py::test_micropython_mode_toggle_repl_on PASSED [ 29%] tests/modes/test_base.py::test_FileManager_ls PASSED [ 29%] tests/modes/test_base.py::test_FileManager_on_start_fails PASSED [ 29%] tests/modes/test_base.py::test_REPLConnection_open_DTR_unset PASSED [ 29%] tests/modes/test_base.py::test_micropython_mode_port_path_nt PASSED [ 29%] tests/modes/test_base.py::test_micropython_device_changed PASSED [ 29%] tests/modes/test_base.py::test_REPLConnection_init_default_args PASSED [ 29%] tests/modes/test_base.py::test_base_mode_add_plotter PASSED [ 30%] tests/modes/test_base.py::test_micropython_on_data_flood PASSED [ 30%] tests/modes/test_base.py::test_base_mode_workspace_dir SKIPPED [ 30%] tests/modes/test_base.py::test_base_on_data_flood PASSED [ 30%] tests/modes/test_base.py::test_micropython_mode_remove_plotter_disconnects PASSED [ 30%] tests/modes/test_base.py::test_micropython_mode_toggle_plotter_on PASSED [ 30%] tests/modes/test_base.py::test_micropython_mode_remove_repl_and_disconnect PASSED [ 30%] tests/modes/test_base.py::test_REPLConnection_on_serial_read PASSED [ 30%] tests/modes/test_base.py::test_FileManager_delete_fail PASSED [ 30%] tests/modes/test_base.py::test_base_mode_workspace_invalid_json PASSED [ 30%] tests/modes/test_base.py::test_FileManager_ls_fail PASSED [ 30%] tests/modes/test_base.py::test_REPLConnection_close PASSED [ 31%] tests/modes/test_base.py::test_base_mode_workspace_not_present PASSED [ 31%] tests/modes/test_base.py::test_base_mode_set_buttons PASSED [ 31%] tests/modes/test_base.py::test_micropython_mode_port_path_unknown PASSED [ 31%] tests/modes/test_base.py::test_REPLConnection_write PASSED [ 31%] tests/modes/test_base.py::test_micropython_mode_find_device_darwin_remove_extraneous_devices PASSED [ 31%] tests/modes/test_base.py::test_base_mode_workspace_no_settings_file PASSED [ 31%] tests/modes/test_base.py::test_REPLConnection_open PASSED [ 31%] tests/modes/test_base.py::test_base_mode_write_csv PASSED [ 31%] tests/modes/test_base.py::test_FileManager_delete PASSED [ 31%] tests/modes/test_base.py::test_micropython_mode_remove_repl_active_plotter PASSED [ 32%] tests/modes/test_base.py::test_micropython_mode_toggle_plotter_off PASSED [ 32%] tests/modes/test_base.py::test_micropython_activate PASSED [ 32%] tests/modes/test_base.py::test_base_mode_workspace_invalid_value PASSED [ 32%] tests/modes/test_base.py::test_micropython_mode_toggle_repl_off PASSED [ 32%] tests/modes/test_base.py::test_micropython_mode_add_plotter PASSED [ 32%] tests/modes/test_base.py::test_micropython_mode_find_device_but_no_device PASSED [ 32%] tests/modes/test_base.py::test_base_mode_remove_plotter PASSED [ 32%] tests/modes/test_base.py::test_REPLConnection_open_unable_to_connect PASSED [ 32%] tests/modes/test_base.py::test_micropython_mode_remove_repl PASSED [ 32%] tests/modes/test_base.py::test_micropython_mode_add_repl_no_force_interrupt PASSED [ 33%] tests/modes/test_base.py::test_FileManager_on_start PASSED [ 33%] tests/modes/test_base.py::test_FileManager_get_fail PASSED [ 33%] tests/modes/test_base.py::test_micropython_mode_add_plotter_no_port PASSED [ 33%] tests/modes/test_base.py::test_FileManager_put_fail PASSED [ 33%] tests/modes/test_base.py::test_REPLConnection_send_commands PASSED [ 33%] tests/modes/test_base.py::test_micropython_mode_find_device PASSED [ 33%] tests/modes/test_base.py::test_base_mode PASSED [ 33%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_off_no_breakpoint PASSED [ 33%] tests/modes/test_debug.py::test_debug_on_call PASSED [ 33%] tests/modes/test_debug.py::test_debug_on_info PASSED [ 34%] tests/modes/test_debug.py::test_debug_button_stop PASSED [ 34%] tests/modes/test_debug.py::test_debug_on_bootstrap_remove_missing_marker_handles PASSED [ 34%] tests/modes/test_debug.py::test_debug_on_postmortem PASSED [ 34%] tests/modes/test_debug.py::test_debug_on_return PASSED [ 34%] tests/modes/test_debug.py::test_debug_on_fail PASSED [ 34%] tests/modes/test_debug.py::test_debug_button_step_in PASSED [ 34%] tests/modes/test_debug.py::test_debug_mode PASSED [ 34%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_on_existing PASSED [ 34%] tests/modes/test_debug.py::test_debug_on_breakpoint_enable_marker_already_exists PASSED [ 34%] tests/modes/test_debug.py::test_debug_on_breakpoint_disable PASSED [ 34%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_on_new PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_breakpoint_clear PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_restart PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_breakpoint_ignore PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_exception PASSED [ 35%] tests/modes/test_debug.py::test_debug_start_prompt_for_unsaved_file PASSED [ 35%] tests/modes/test_debug.py::test_debug_button_step_over PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_breakpoint_enable PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_line PASSED [ 35%] tests/modes/test_debug.py::test_debug_on_bootstrap PASSED [ 35%] tests/modes/test_debug.py::test_enable_buttons_before_delayed_disable_buttons PASSED [ 36%] tests/modes/test_debug.py::test_debug_on_bootstrap_remove_invalid_breaks PASSED [ 36%] tests/modes/test_debug.py::test_debug_finished PASSED [ 36%] tests/modes/test_debug.py::test_debug_button_step_out PASSED [ 36%] tests/modes/test_debug.py::test_debug_button_continue PASSED [ 36%] tests/modes/test_debug.py::test_debug_on_bootstrap_ignore_duplicate_handles PASSED [ 36%] tests/modes/test_debug.py::test_debug_on_stack_no_stack PASSED [ 36%] tests/modes/test_debug.py::test_debug_stop PASSED [ 36%] tests/modes/test_debug.py::test_debug_on_stack PASSED [ 36%] tests/modes/test_debug.py::test_debug_on_error PASSED [ 36%] tests/modes/test_debug.py::test_debug_on_warning PASSED [ 37%] tests/modes/test_debug.py::test_debug_on_breakpoint_enable_different_tab PASSED [ 37%] tests/modes/test_debug.py::test_debug_toggle_breakpoint_off PASSED [ 37%] tests/modes/test_debug.py::test_debug_on_finished PASSED [ 37%] tests/modes/test_debug.py::test_debug_on_line_ignore_file PASSED [ 37%] tests/modes/test_debug.py::test_debug_start PASSED [ 37%] tests/modes/test_debug.py::test_debug_start_no_tab PASSED [ 37%] tests/test_resources.py::test_path PASSED [ 37%] tests/test_resources.py::test_load_pixmap PASSED [ 37%] tests/test_resources.py::test_load_font_data PASSED [ 37%] tests/test_resources.py::test_load_movie PASSED [ 38%] tests/test_resources.py::test_stylesheet PASSED [ 38%] tests/test_resources.py::test_load_icon PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_on PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_on_cancelled PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_show_music_no_file PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_stop_game_no_runner PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_run_game_no_editor PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_show_sounds PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_show_fonts_no_file PASSED [ 38%] tests/modes/test_pygamezero.py::test_pgzero_show_images PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_run_game PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_show_music PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_stop_game PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_api PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_show_images_no_file PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_off PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_show_fonts PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_run_game_needs_saving PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_show_sounds_no_file PASSED [ 39%] tests/modes/test_pygamezero.py::test_pgzero_mode PASSED [ 39%] tests/debugger/test_runner.py::test_Debugger_do_ignore PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_do_continue_with_breakpoints PASSED [ 40%] tests/debugger/test_runner.py::test_run_with_unexpected_exception PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_user_call_starting PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_do_return PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_user_exception_other_exc_type PASSED [ 40%] tests/debugger/test_runner.py::test_run_with_restart_exception PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_output_stack_normal PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_interact_good_case PASSED [ 40%] tests/debugger/test_runner.py::test_run_with_expected_exception PASSED [ 40%] tests/debugger/test_runner.py::test_Debugger_do_continue_no_breakpoints PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_do_restart PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_interact_client_close PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_output_client_error PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_runscript PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_user_call_started PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_do_enable PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_output PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_interact_exception_encountered PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_user_return PASSED [ 41%] tests/debugger/test_runner.py::test_Debugger_user_return_starting PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_output_no_client_connection PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_do_next PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_user_exception_starting PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_init PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_interact_restart PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_do_close PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_do_break_non_executable_line PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_user_exception_string_exc_type PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_do_continue_no_breakpoints_continue_flag_set PASSED [ 42%] tests/debugger/test_runner.py::test_Debugger_do_disable_no_such_breakpoint PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_interact_unknown_command PASSED [ 43%] tests/debugger/test_runner.py::test_command_buffer_message PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_do_clear PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_reset PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_do_step PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_do_disable PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_do_break PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_do_clear_error_encountered PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_user_line_starting_valid_line PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_user_line_starting_no_line PASSED [ 43%] tests/debugger/test_runner.py::test_Debugger_do_enable_no_such_breakpoint PASSED [ 44%] tests/debugger/test_runner.py::test_command_buffer_break_loop PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_setup PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_output_stack_exception PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_do_ignore_no_breakpoint PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_do_quit PASSED [ 44%] tests/debugger/test_runner.py::test_run_with_user_requested_quit PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_do_clear_no_breakpoint PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_do_break_causes_error PASSED [ 44%] tests/debugger/test_runner.py::test_Debugger_do_ignore_bad_count PASSED [ 44%] tests/virtual_environment/test_pip.py::test_pip_install_several_packages PASSED [ 45%] tests/virtual_environment/test_pip.py::test_installed_packages_no_location PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_install_single_package_with_flag_value PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_run PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_uninstall_single_package_with_flag PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_run_with_kwargs PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_creation PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_uninstall_single_package PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_uninstall_several_packages PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_uninstall_several_packages_with_flag PASSED [ 45%] tests/virtual_environment/test_pip.py::test_pip_list PASSED [ 46%] tests/virtual_environment/test_pip.py::test_pip_list_returns_empty PASSED [ 46%] tests/virtual_environment/test_pip.py::test_pip_install_single_package PASSED [ 46%] tests/virtual_environment/test_pip.py::test_installed_packages PASSED [ 46%] tests/virtual_environment/test_pip.py::test_pip_freeze PASSED [ 46%] tests/virtual_environment/test_pip.py::test_pip_uninstall_single_package_with_flag_value PASSED [ 46%] tests/virtual_environment/test_pip.py::test_pip_install_several_packages_with_flag PASSED [ 46%] tests/virtual_environment/test_pip.py::test_pip_install_single_package_with_flag PASSED [ 46%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_esptool_error PASSED [ 46%] tests/interface/test_dialogs.py::test_AdminDialog_setup PASSED [ 46%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_dist_info SKIPPED [ 47%] tests/interface/test_dialogs.py::test_PackageDialog_append_data SKIPPED [ 47%] tests/interface/test_dialogs.py::test_PackageDialog_read_process SKIPPED [ 47%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_update_firmware PASSED [ 47%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_egg_info_cannot_delete SKIPPED [ 47%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_update_firmware_no_device PASSED [ 47%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_firmware_path_changed PASSED [ 47%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_egg_info_cannot_open_record SKIPPED [ 47%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_show_folder_dialog PASSED [ 47%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_setup PASSED [ 47%] tests/interface/test_dialogs.py::test_PackageDialog_run_pip SKIPPED [ 47%] tests/interface/test_dialogs.py::test_ModeSelector_get_mode PASSED [ 48%] tests/interface/test_dialogs.py::test_ModeSelector_setup PASSED [ 48%] tests/interface/test_dialogs.py::test_PackagesWidget_setup PASSED [ 48%] tests/interface/test_dialogs.py::test_PackageDialog_remove_packages SKIPPED [ 48%] tests/interface/test_dialogs.py::test_FindReplaceDialog_setup PASSED [ 48%] tests/interface/test_dialogs.py::test_ModeItem_init PASSED [ 48%] tests/interface/test_dialogs.py::test_LogWidget_setup PASSED [ 48%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_end_state SKIPPED [ 48%] tests/interface/test_dialogs.py::test_FindReplaceDialog_setup_with_args PASSED [ 48%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_esptool_finished PASSED [ 48%] tests/interface/test_dialogs.py::test_PackageDialog_finished_to_end_state SKIPPED [ 49%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_egg_info SKIPPED [ 49%] tests/interface/test_dialogs.py::test_MicrobitSettingsWidget_setup PASSED [ 49%] tests/interface/test_dialogs.py::test_PackageDialog_end_state SKIPPED [ 49%] tests/interface/test_dialogs.py::test_AdminDialog_setup_python_mode PASSED [ 49%] tests/interface/test_dialogs.py::test_PackageDialog_remove_package_dist_info_cannot_delete SKIPPED [ 49%] tests/interface/test_dialogs.py::test_PackageDialog_setup PASSED [ 49%] tests/interface/test_dialogs.py::test_PackageDialog_finished_with_more_to_remove SKIPPED [ 49%] tests/interface/test_dialogs.py::test_ESPFirmwareFlasherWidget_read_process PASSED [ 49%] tests/interface/test_dialogs.py::test_AdminDialog_setup_microbit_mode PASSED [ 49%] tests/interface/test_dialogs.py::test_ModeSelector_select_and_accept PASSED [ 50%] tests/interface/test_dialogs.py::test_EnvironmentVariablesWidget_setup PASSED [ 50%] tests/interface/test_main.py::test_Window_show_find_replace PASSED [ 50%] tests/interface/test_main.py::test_Window_get_load_path_no_previous PASSED [ 50%] tests/interface/test_main.py::test_Window_connect_tab_rename PASSED [ 50%] tests/interface/test_main.py::test_Window_add_jupyter_repl PASSED [ 50%] tests/interface/test_main.py::test_Window_replace_text_not_global_found PASSED [ 50%] tests/interface/test_main.py::test_Window_toggle_comments PASSED [ 50%] tests/interface/test_main.py::test_FileTabs_removeTab_ok PASSED [ 50%] tests/interface/test_main.py::test_Window_show_annotations PASSED [ 50%] tests/interface/test_main.py::test_Window_select_mode_cancelled PASSED [ 51%] tests/interface/test_main.py::test_ButtonBar_change_mode PASSED [ 51%] tests/interface/test_main.py::test_Window_open_directory_from_os_windows PASSED [ 51%] tests/interface/test_main.py::test_Window_set_checker_icon PASSED [ 51%] tests/interface/test_main.py::test_Window_open_directory_from_os_darwin PASSED [ 51%] tests/interface/test_main.py::test_Window_get_microbit_path PASSED [ 51%] tests/interface/test_main.py::test_Window_update_debug_inspector PASSED [ 51%] tests/interface/test_main.py::test_Window_connect_zoom PASSED [ 51%] tests/interface/test_main.py::test_Window_zoom_out PASSED [ 51%] tests/interface/test_main.py::test_FileTabs_addTab PASSED [ 51%] tests/interface/test_main.py::test_Window_set_usb_checker PASSED [ 52%] tests/interface/test_main.py::test_Window_remove_plotter PASSED [ 52%] tests/interface/test_main.py::test_Window_wheelEvent_zoom_out PASSED [ 52%] tests/interface/test_main.py::test_Window_set_timer PASSED [ 52%] tests/interface/test_main.py::test_StatusBar_init PASSED [ 52%] tests/interface/test_main.py::test_Window_connect_find_replace PASSED [ 52%] tests/interface/test_main.py::test_Window_on_stdout_write PASSED [ 52%] tests/interface/test_main.py::test_Window_replace_text_not_global_missing PASSED [ 52%] tests/interface/test_main.py::test_Window_add_python3_runner PASSED [ 52%] tests/interface/test_main.py::test_Window_remove_python_runner PASSED [ 52%] tests/interface/test_main.py::test_Window_widgets PASSED [ 52%] tests/interface/test_main.py::test_Window_set_theme PASSED [ 53%] tests/interface/test_main.py::test_Window_add_filesystem_open_signal PASSED [ 53%] tests/interface/test_main.py::test_Window_remove_debug_inspector PASSED [ 53%] tests/interface/test_main.py::test_Window_show_admin PASSED [ 53%] tests/interface/test_main.py::test_Window_connect_toggle_comments PASSED [ 53%] tests/interface/test_main.py::test_Window_get_save_path PASSED [ 53%] tests/interface/test_main.py::test_Window_highlight_text_no_tab PASSED [ 53%] tests/interface/test_main.py::test_Window_update_debug_inspector_with_exception PASSED [ 53%] tests/interface/test_main.py::test_ButtonBar_init PASSED [ 53%] tests/interface/test_main.py::test_Window_show_confirmation PASSED [ 53%] tests/interface/test_main.py::test_Window_replace_text_not_current_tab PASSED [ 54%] tests/interface/test_main.py::test_Window_resizeEvent PASSED [ 54%] tests/interface/test_main.py::test_FileTabs_removeTab_cancel PASSED [ 54%] tests/interface/test_main.py::test_ButtonBar_reset PASSED [ 54%] tests/interface/test_main.py::test_Window_replace_text_global_missing PASSED [ 54%] tests/interface/test_main.py::test_Window_setup PASSED [ 54%] tests/interface/test_main.py::test_Window_remove_filesystem PASSED [ 54%] tests/interface/test_main.py::test_Window_sync_packages PASSED [ 54%] tests/interface/test_main.py::test_Window_show_message_default PASSED [ 54%] tests/interface/test_main.py::test_Window_replace_text_highlight_text_correct_selection PASSED [ 54%] tests/interface/test_main.py::test_Window_focus_tab PASSED [ 55%] tests/interface/test_main.py::test_Window_open_directory_from_os_freedesktop PASSED [ 55%] tests/interface/test_main.py::test_Window_replace_text_global_found PASSED [ 55%] tests/interface/test_main.py::test_Window_change_mode PASSED [ 55%] tests/interface/test_main.py::test_Window_add_filesystem PASSED [ 55%] tests/interface/test_main.py::test_Window_remember_plotter_position SKIPPED [ 55%] tests/interface/test_main.py::test_Window_add_micropython_repl PASSED [ 55%] tests/interface/test_main.py::test_StatusBar_set_mode PASSED [ 55%] tests/interface/test_main.py::test_Window_highlight_text_backward PASSED [ 55%] tests/interface/test_main.py::test_StatusBar_set_message PASSED [ 55%] tests/interface/test_main.py::test_Window_select_mode_selected PASSED [ 56%] tests/interface/test_main.py::test_Window_get_load_path_with_previous PASSED [ 56%] tests/interface/test_main.py::test_Window_modified PASSED [ 56%] tests/interface/test_main.py::test_ButtonBar_add_action PASSED [ 56%] tests/interface/test_main.py::test_StatusBar_connect_mode PASSED [ 56%] tests/interface/test_main.py::test_ButtonBar_set_responsive_mode PASSED [ 56%] tests/interface/test_main.py::test_Window_add_plotter PASSED [ 56%] tests/interface/test_main.py::test_Window_set_read_only PASSED [ 56%] tests/interface/test_main.py::test_Window_zoom_in PASSED [ 56%] tests/interface/test_main.py::test_FileTabs_change_tab PASSED [ 56%] tests/interface/test_main.py::test_Window_show_confirmation_default PASSED [ 56%] tests/interface/test_main.py::test_Window_set_zoom PASSED [ 57%] tests/interface/test_main.py::test_Window_attributes PASSED [ 57%] tests/interface/test_main.py::test_Window_stop_timer PASSED [ 57%] tests/interface/test_main.py::test_FileTabs_init PASSED [ 57%] tests/interface/test_main.py::test_Window_add_repl PASSED [ 57%] tests/interface/test_main.py::test_Window_tab_count PASSED [ 57%] tests/interface/test_main.py::test_ButtonBar_connect PASSED [ 57%] tests/interface/test_main.py::test_Window_connect_find_again PASSED [ 57%] tests/interface/test_main.py::test_Window_add_tab PASSED [ 57%] tests/interface/test_main.py::test_Window_open_file_event PASSED [ 57%] tests/interface/test_main.py::test_Window_add_python3_plotter PASSED [ 58%] tests/interface/test_main.py::test_Window_autosize_window PASSED [ 58%] tests/interface/test_main.py::test_StatusBar_device_connected_microbit PASSED [ 58%] tests/interface/test_main.py::test_FileTabs_change_tab_no_tabs PASSED [ 58%] tests/interface/test_main.py::test_Window_show_message PASSED [ 58%] tests/interface/test_main.py::test_Window_current_tab PASSED [ 58%] tests/interface/test_main.py::test_Window_highlight_text PASSED [ 58%] tests/interface/test_main.py::test_Window_annotate_code PASSED [ 58%] tests/interface/test_main.py::test_Window_add_micropython_plotter PASSED [ 58%] tests/interface/test_main.py::test_Window_update_title PASSED [ 58%] tests/interface/test_main.py::test_Window_show_admin_cancelled PASSED [ 59%] tests/interface/test_main.py::test_StatusBar_device_connected_adafruit_feather PASSED [ 59%] tests/interface/test_main.py::test_Window_add_debug_inspector PASSED [ 59%] tests/interface/test_main.py::test_Window_reset_annotations PASSED [ 59%] tests/interface/test_main.py::test_Window_get_load_path_force_path PASSED [ 59%] tests/interface/test_main.py::test_Window_remove_repl PASSED [ 59%] tests/interface/test_main.py::test_StatusBar_connect_logs PASSED [ 59%] tests/interface/test_main.py::test_Window_wheelEvent_zoom_in PASSED [ 59%] tests/interface/test_main.py::test_Window_show_hide_device_selector PASSED [ 59%] tests/modes/test_microbit.py::test_toggle_files_off PASSED [ 59%] tests/modes/test_microbit.py::test_toggle_repl PASSED [ 60%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_v2 PASSED [ 60%] tests/modes/test_microbit.py::test_flash_minify_no_minify PASSED [ 60%] tests/modes/test_microbit.py::test_flash_finished_copy_main PASSED [ 60%] tests/modes/test_microbit.py::test_flash_minify PASSED [ 60%] tests/modes/test_microbit.py::test_toggle_plotter_with_fs PASSED [ 60%] tests/modes/test_microbit.py::test_flash_no_tab PASSED [ 60%] tests/modes/test_microbit.py::test_DeviceFlasher_run PASSED [ 60%] tests/modes/test_microbit.py::test_deactivate PASSED [ 60%] tests/modes/test_microbit.py::test_flash_finished_no_copy PASSED [ 60%] tests/modes/test_microbit.py::test_flash_force_with_unsupported_microbit PASSED [ 60%] tests/modes/test_microbit.py::test_flash_with_attached_device_and_custom_runtime PASSED [ 61%] tests/modes/test_microbit.py::test_toggle_files_with_repl PASSED [ 61%] tests/modes/test_microbit.py::test_flash_force_with_no_micropython PASSED [ 61%] tests/modes/test_microbit.py::test_flash_without_device PASSED [ 61%] tests/modes/test_microbit.py::test_add_fs_no_device PASSED [ 61%] tests/modes/test_microbit.py::test_toggle_plotter PASSED [ 61%] tests/modes/test_microbit.py::test_flash_with_attached_known_device_and_forced PASSED [ 61%] tests/modes/test_microbit.py::test_device_changed PASSED [ 61%] tests/modes/test_microbit.py::test_on_data_flood PASSED [ 61%] tests/modes/test_microbit.py::test_flash_script_too_big_no_minify PASSED [ 61%] tests/modes/test_microbit.py::test_flash_failed PASSED [ 62%] tests/modes/test_microbit.py::test_copy_main_with_python_script_encounters_device_error PASSED [ 62%] tests/modes/test_microbit.py::test_open_ignore_non_hex PASSED [ 62%] tests/modes/test_microbit.py::test_remove_fs PASSED [ 62%] tests/modes/test_microbit.py::test_add_fs PASSED [ 62%] tests/modes/test_microbit.py::test_copy_main_with_python_script PASSED [ 62%] tests/modes/test_microbit.py::test_flash_script_too_big PASSED [ 62%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_old_firmware PASSED [ 62%] tests/modes/test_microbit.py::test_toggle_files_on PASSED [ 62%] tests/modes/test_microbit.py::test_DeviceFlasher_run_fail PASSED [ 62%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_encounters_problem PASSED [ 63%] tests/modes/test_microbit.py::test_force_flash_user_specified_device_path PASSED [ 63%] tests/modes/test_microbit.py::test_open_hex_with_exception PASSED [ 63%] tests/modes/test_microbit.py::test_flash_device_has_latest_firmware_encounters_serial_problem PASSED [ 63%] tests/modes/test_microbit.py::test_flash_path_specified_does_not_exist PASSED [ 63%] tests/modes/test_microbit.py::test_api PASSED [ 63%] tests/modes/test_microbit.py::test_toggle_plotter_no_repl_or_plotter PASSED [ 63%] tests/modes/test_microbit.py::test_force_flash_empty_script PASSED [ 63%] tests/modes/test_microbit.py::test_microbit_mode PASSED [ 63%] tests/modes/test_microbit.py::test_flash_force_with_attached_device PASSED [ 63%] tests/modes/test_microbit.py::test_toggle_repl_with_fs PASSED [ 64%] tests/modes/test_microbit.py::test_flash_with_attached_device_has_latest_firmware_v1 PASSED [ 64%] tests/modes/test_microbit.py::test_open_hex PASSED [ 64%] tests/modes/test_microbit.py::test_toggle_repl_no_repl_or_plotter PASSED [ 64%] tests/modes/test_microbit.py::test_copy_main_no_python_script PASSED [ 64%] tests/modes/test_microbit.py::test_toggle_files_with_plotter PASSED [ 64%] tests/modes/test_microbit.py::test_microbit_mode_no_charts PASSED [ 64%] tests/modes/test_microbit.py::test_flash_finished_copy_main_encounters_error PASSED [ 64%] tests/modes/test_microbit.py::test_DeviceFlasher_init PASSED [ 64%] tests/modes/test_microbit.py::test_force_flash_no_serial_connection PASSED [ 64%] tests/modes/test_web.py::test_init PASSED [ 65%] tests/modes/test_web.py::test_load_templates PASSED [ 65%] tests/modes/test_web.py::test_load_css_no_file PASSED [ 65%] tests/modes/test_web.py::test_start_server_no_tab PASSED [ 65%] tests/modes/test_web.py::test_start_server_unsaved_tab PASSED [ 65%] tests/modes/test_web.py::test_stop_server PASSED [ 65%] tests/modes/test_web.py::test_stop_server_with_error PASSED [ 65%] tests/modes/test_web.py::test_start_server_not_python_file PASSED [ 65%] tests/modes/test_web.py::test_stop PASSED [ 65%] tests/modes/test_web.py::test_start_server PASSED [ 65%] tests/modes/test_web.py::test_open_file PASSED [ 65%] tests/modes/test_web.py::test_show_images PASSED [ 66%] tests/modes/test_web.py::test_browse_not_serving PASSED [ 66%] tests/modes/test_web.py::test_run_toggle_off PASSED [ 66%] tests/modes/test_web.py::test_load_css PASSED [ 66%] tests/modes/test_web.py::test_web_api PASSED [ 66%] tests/modes/test_web.py::test_load_templates_no_file PASSED [ 66%] tests/modes/test_web.py::test_run_toggle_on PASSED [ 66%] tests/modes/test_web.py::test_browse PASSED [ 66%] tests/modes/test_web.py::test_show_images_no_file PASSED [ 66%] tests/modes/test_esp.py::test_toggle_repl_with_fs PASSED [ 66%] tests/modes/test_esp.py::test_ESPMode_init PASSED [ 67%] tests/modes/test_esp.py::test_run_no_editor PASSED [ 67%] tests/modes/test_esp.py::test_toggle_files_with_repl PASSED [ 67%] tests/modes/test_esp.py::test_toggle_repl_on PASSED [ 67%] tests/modes/test_esp.py::test_api PASSED [ 67%] tests/modes/test_esp.py::test_toggle_files_on PASSED [ 67%] tests/modes/test_esp.py::test_run PASSED [ 67%] tests/modes/test_esp.py::test_add_fs_no_device PASSED [ 67%] tests/modes/test_esp.py::test_toggle_repl_off PASSED [ 67%] tests/modes/test_esp.py::test_toggle_files_off PASSED [ 67%] tests/modes/test_esp.py::test_remove_fs PASSED [ 68%] tests/modes/test_esp.py::test_deactivate PASSED [ 68%] tests/modes/test_esp.py::test_toggle_plotter_no_repl_or_plotter PASSED [ 68%] tests/modes/test_esp.py::test_toggle_plotter PASSED [ 68%] tests/modes/test_esp.py::test_ESPMode_actions PASSED [ 68%] tests/modes/test_esp.py::test_add_fs_project_path PASSED [ 68%] tests/modes/test_esp.py::test_on_data_flood PASSED [ 68%] tests/modes/test_esp.py::test_toggle_repl_fail PASSED [ 68%] tests/modes/test_esp.py::test_run_no_device PASSED [ 68%] tests/modes/test_esp.py::test_device_changed PASSED [ 68%] tests/modes/test_esp.py::test_add_fs PASSED [ 69%] tests/modes/test_esp.py::test_toggle_plotter_with_fs PASSED [ 69%] tests/modes/test_esp.py::test_ESPMode_actions_no_charts PASSED [ 69%] tests/modes/test_lego.py::test_api PASSED [ 69%] tests/test_logic.py::test_editor_restore_default_window_geometry PASSED [ 69%] tests/test_logic.py::test_handle_open_file PASSED [ 69%] tests/test_logic.py::test_sniff_newline_convention PASSED [ 69%] tests/test_logic.py::test_MuFlakeCodeReporter_syntax_error PASSED [ 69%] tests/test_logic.py::test_save_with_non_py_file_extension PASSED [ 69%] tests/test_logic.py::test_MuFlakeCodeReporter_init PASSED [ 69%] tests/test_logic.py::test_select_mode_debug_mode PASSED [ 69%] tests/test_logic.py::test_devicelist_index PASSED [ 70%] tests/test_logic.py::test_load_other_file_change_mode PASSED [ 70%] tests/test_logic.py::test_ask_to_change_mode_confirm PASSED [ 70%] tests/test_logic.py::test_write_and_flush PASSED [ 70%] tests/test_logic.py::test_find_replace_find_matched PASSED [ 70%] tests/test_logic.py::test_com1_not_equal_on_different_ports PASSED [ 70%] tests/test_logic.py::test_find_replace_replace_single_match PASSED [ 70%] tests/test_logic.py::test_rename_tab PASSED [ 70%] tests/test_logic.py::test_save_python_file PASSED [ 70%] tests/test_logic.py::test_read_newline_all_windows PASSED [ 70%] tests/test_logic.py::test_load_no_current_path_no_current_tab PASSED [ 71%] tests/test_logic.py::test_abspath_fail PASSED [ 71%] tests/test_logic.py::test_read_newline_most_windows PASSED [ 71%] tests/test_logic.py::test_load_sets_current_path PASSED [ 71%] tests/test_logic.py::test_editor_connect_to_status_bar PASSED [ 71%] tests/test_logic.py::test_read_encoding_cookie PASSED [ 71%] tests/test_logic.py::test_device_changed PASSED [ 71%] tests/test_logic.py::test_device_equality PASSED [ 71%] tests/test_logic.py::test_device_ordering_le PASSED [ 71%] tests/test_logic.py::test_read_newline_all_unix PASSED [ 71%] tests/test_logic.py::test_device__init PASSED [ 72%] tests/test_logic.py::test_write_encoding_cookie_existing_cookie PASSED [ 72%] tests/test_logic.py::test_load_no_current_path PASSED [ 72%] tests/test_logic.py::test_save_no_tab PASSED [ 72%] tests/test_logic.py::test_devicelist_data PASSED [ 72%] tests/test_logic.py::test_find_again_find_matched PASSED [ 72%] tests/test_logic.py::test_load_python_file PASSED [ 72%] tests/test_logic.py::test_load_error PASSED [ 72%] tests/test_logic.py::test_get_tab_no_path PASSED [ 72%] tests/test_logic.py::test_quit_calls_mode_stop PASSED [ 72%] tests/test_logic.py::test_load_has_current_path_does_not_exist PASSED [ 73%] tests/test_logic.py::test_quit_save_window_geometry PASSED [ 73%] tests/test_logic.py::test_editor_restore_saved_window_geometry PASSED [ 73%] tests/test_logic.py::test_find_replace_replace_no_match PASSED [ 73%] tests/test_logic.py::test_tidy_code_no_tab SKIPPED [ 73%] tests/test_logic.py::test_toggle_comments PASSED [ 73%] tests/test_logic.py::test_sniff_encoding_from_BOM PASSED [ 73%] tests/test_logic.py::test_check_pycodestyle_E121 PASSED [ 73%] tests/test_logic.py::test_load_other_file PASSED [ 73%] tests/test_logic.py::test_sniff_newline_convention_local PASSED [ 73%] tests/test_logic.py::test_editor_restore_session_existing_runtime PASSED [ 73%] tests/test_logic.py::test_get_settings_path SKIPPED [ 74%] tests/test_logic.py::test_select_mode PASSED [ 74%] tests/test_logic.py::test_read_utf8bom PASSED [ 74%] tests/test_logic.py::test_check_code_no_problems PASSED [ 74%] tests/test_logic.py::test_check_usb_remove_disconnected_devices PASSED [ 74%] tests/test_logic.py::test_editor_restore_session_missing_files PASSED [ 74%] tests/test_logic.py::test_check_real_flake_output_with_builtins PASSED [ 74%] tests/test_logic.py::test_save_file_with_encoding_error PASSED [ 74%] tests/test_logic.py::test_load_cli PASSED [ 74%] tests/test_logic.py::test_read_utf16bebom PASSED [ 74%] tests/test_logic.py::test_rename_tab_with_shadow_module PASSED [ 75%] tests/test_logic.py::test_check_code_off PASSED [ 75%] tests/test_logic.py::test_devicelist_rowCount PASSED [ 75%] tests/test_logic.py::test_quit_calls_sys_exit PASSED [ 75%] tests/test_logic.py::test_editor_restore_session_missing_runtime PASSED [ 75%] tests/test_logic.py::test_quit_modified_cancelled_from_event PASSED [ 75%] tests/test_logic.py::test_debug_toggle_breakpoint_on PASSED [ 75%] tests/test_logic.py::test_show_admin_no_change PASSED [ 75%] tests/test_logic.py::test_check_flake_needing_expansion PASSED [ 75%] tests/test_logic.py::test_toggle_theme_to_contrast PASSED [ 75%] tests/test_logic.py::test_find_replace_cancelled PASSED [ 76%] tests/test_logic.py::test_no_duplicate_load_python_file_widget_file_no_longer_exists PASSED [ 76%] tests/test_logic.py::test_check_tidy_check_short_line SKIPPED [ 76%] tests/test_logic.py::test_check_pycodestyle_with_non_ascii PASSED [ 76%] tests/test_logic.py::test_MuFlakeCodeReporter_flake_real_output PASSED [ 76%] tests/test_logic.py::test_write_newline_to_unix PASSED [ 76%] tests/test_logic.py::test_load_not_python_or_hex PASSED [ 76%] tests/test_logic.py::test_rename_tab_no_tab_id PASSED [ 76%] tests/test_logic.py::test_com1_hash_equality PASSED [ 76%] tests/test_logic.py::test_zoom_in PASSED [ 76%] tests/test_logic.py::test_read_newline_equal_match PASSED [ 77%] tests/test_logic.py::test_find_again_find_unmatched PASSED [ 77%] tests/test_logic.py::test_device_name PASSED [ 77%] tests/test_logic.py::test_new PASSED [ 77%] tests/test_logic.py::test_sniff_encoding_from_cookie PASSED [ 77%] tests/test_logic.py::test_autosave PASSED [ 77%] tests/test_logic.py::test_quit_save_zoom_level PASSED [ 77%] tests/test_logic.py::test_abspath PASSED [ 77%] tests/test_logic.py::test_read_newline_no_text PASSED [ 77%] tests/test_logic.py::test_show_admin PASSED [ 77%] tests/test_logic.py::test_check_tidy_check_line_too_long SKIPPED [ 78%] tests/test_logic.py::test_editor_restore_session_invalid_file PASSED [ 78%] tests/test_logic.py::test_no_duplicate_load_python_file PASSED [ 78%] tests/test_logic.py::test_get_session_path SKIPPED [ 78%] tests/test_logic.py::test_check_usb PASSED [ 78%] tests/test_logic.py::test_editor_restore_session_no_session_file PASSED [ 78%] tests/test_logic.py::test_show_help PASSED [ 78%] tests/test_logic.py::test_device_hash PASSED [ 78%] tests/test_logic.py::test_quit_modified_cancelled_from_button PASSED [ 78%] tests/test_logic.py::test_zoom_out PASSED [ 78%] tests/test_logic.py::test_extract_envars PASSED [ 78%] tests/test_logic.py::test_change_mode_reset_breakpoints PASSED [ 79%] tests/test_logic.py::test_load_has_default_path PASSED [ 79%] tests/test_logic.py::test_tidy_code_invalid_python SKIPPED [ 79%] tests/test_logic.py::test_device_ordering_ge PASSED [ 79%] tests/test_logic.py::test_check_code_no_tab PASSED [ 79%] tests/test_logic.py::test_change_mode PASSED [ 79%] tests/test_logic.py::test_devicelist_length PASSED [ 79%] tests/test_logic.py::test_editor_open_focus_passed_file PASSED [ 79%] tests/test_logic.py::test_restore_session_open_tabs_in_the_same_order PASSED [ 79%] tests/test_logic.py::test_com1_equality PASSED [ 79%] tests/test_logic.py::test_debug_toggle_breakpoint_on_invalid_breakpoint_line PASSED [ 80%] tests/test_logic.py::test_read_newline_most_unix PASSED [ 80%] tests/test_logic.py::test_change_mode_workspace_dir_exception PASSED [ 80%] tests/test_logic.py::test_find_replace_find_unmatched PASSED [ 80%] tests/test_logic.py::test_check_flake_with_builtins PASSED [ 80%] tests/test_logic.py::test_quit_modified_ok PASSED [ 80%] tests/test_logic.py::test_quit_save_tabs_with_paths PASSED [ 80%] tests/test_logic.py::test_devicelist_add_device_in_sorted_order PASSED [ 80%] tests/test_logic.py::test_save_path_shadows_module PASSED [ 80%] tests/test_logic.py::test_load_stores_newline PASSED [ 80%] tests/test_logic.py::test_load_python_file_case_insensitive_file_type PASSED [ 81%] tests/test_logic.py::test_device_inequality PASSED [ 81%] tests/test_logic.py::test_sync_package_state PASSED [ 81%] tests/test_logic.py::test_get_tab_new_tab PASSED [ 81%] tests/test_logic.py::test_read_utf16lebom PASSED [ 81%] tests/test_logic.py::test_toggle_theme_to_day PASSED [ 81%] tests/test_logic.py::test_check_code_not_python PASSED [ 81%] tests/test_logic.py::test_CONSTANTS PASSED [ 81%] tests/test_logic.py::test_com1_hash_not_equal_on_different_ports PASSED [ 81%] tests/test_logic.py::test_logic_independent_import_app PASSED [ 81%] tests/test_logic.py::test_sniff_encoding_from_bad_cookie PASSED [ 82%] tests/test_logic.py::test_show_admin_missing_microbit_runtime PASSED [ 82%] tests/test_logic.py::test_ask_to_change_mode_already_in_mode PASSED [ 82%] tests/test_logic.py::test_get_tab_existing_tab PASSED [ 82%] tests/test_logic.py::test_change_mode_no_timer PASSED [ 82%] tests/test_logic.py::test_device_ordering_lt PASSED [ 82%] tests/test_logic.py::test_load_python_unicode_error PASSED [ 82%] tests/test_logic.py::test_ask_to_change_mode_currently_running_code PASSED [ 82%] tests/test_logic.py::test_save_restores_newline PASSED [ 82%] tests/test_logic.py::test_editor_session_and_open_focus_passed_file PASSED [ 82%] tests/test_logic.py::test_sniff_encoding_fallback_to_locale PASSED [ 82%] tests/test_logic.py::test_device_ordering_gt PASSED [ 83%] tests/test_logic.py::test_rename_tab_avoid_duplicating_other_tab_name PASSED [ 83%] tests/test_logic.py::test_show_status_message PASSED [ 83%] tests/test_logic.py::test_find_again_no_find PASSED [ 83%] tests/test_logic.py::test_editor_restore_session_invalid_mode PASSED [ 83%] tests/test_logic.py::test_load_checks_file_exists PASSED [ 83%] tests/test_logic.py::test_write_encoding_cookie_no_cookie PASSED [ 83%] tests/test_logic.py::test_devicelist_remove_device PASSED [ 83%] tests/test_logic.py::test_get_pathname PASSED [ 83%] tests/test_logic.py::test_write_invalid_codec PASSED [ 83%] tests/test_logic.py::test_check_for_shadow_module_with_match PASSED [ 84%] tests/test_logic.py::test_read_encoding_mu_default PASSED [ 84%] tests/test_logic.py::test_quit_save_theme PASSED [ 84%] tests/test_logic.py::test_ask_to_change_mode_cancel PASSED [ 84%] tests/test_logic.py::test_read_encoding_unsuccessful PASSED [ 84%] tests/test_logic.py::test_device_to_string PASSED [ 84%] tests/test_logic.py::test_write_newline_to_windows PASSED [ 84%] tests/test_logic.py::test_save_no_path PASSED [ 84%] tests/test_logic.py::test_ask_to_change_mode_when_selecting_mode_is_silent PASSED [ 84%] tests/test_logic.py::test_load_has_current_path PASSED [ 84%] tests/test_logic.py::test_MuFlakeCodeReporter_flake_matched PASSED [ 85%] tests/test_logic.py::test_editor_setup PASSED [ 85%] tests/test_logic.py::test_logic_independent_import_logic PASSED [ 85%] tests/test_logic.py::test_debug_toggle_breakpoint_off PASSED [ 85%] tests/test_logic.py::test_check_flake PASSED [ 85%] tests/test_logic.py::test_debug_toggle_breakpoint_as_debugger PASSED [ 85%] tests/test_logic.py::test_read_encoding_default PASSED [ 85%] tests/test_logic.py::test_tidy_code_valid_python SKIPPED [ 85%] tests/test_logic.py::test_device_init PASSED [ 85%] tests/test_logic.py::test_editor_init PASSED [ 85%] tests/test_logic.py::test_MuFlakeCodeReporter_flake_un_matched PASSED [ 86%] tests/test_logic.py::test_MuFlakeCodeReporter_unexpected_error PASSED [ 86%] tests/test_logic.py::test_load_other_file_with_exception PASSED [ 86%] tests/test_logic.py::test_check_code_on PASSED [ 86%] tests/test_logic.py::test_load_recovers_from_oserror PASSED [ 86%] tests/test_logic.py::test_find_replace_no_find PASSED [ 86%] tests/test_logic.py::test_toggle_theme_to_night PASSED [ 86%] tests/test_logic.py::test_quit_save_envars PASSED [ 86%] tests/test_logic.py::test_save_strips_trailing_spaces PASSED [ 86%] tests/test_logic.py::test_check_pycodestyle_custom_override PASSED [ 86%] tests/test_logic.py::test_tidy_code_not_python SKIPPED [ 86%] tests/test_logic.py::test_save_and_encode PASSED [ 87%] tests/test_logic.py::test_find_replace_replace_multi_match PASSED [ 87%] tests/test_logic.py::test_device_with_no_board_name_is_mode_name PASSED [ 87%] tests/test_logic.py::test_save_no_path_no_path_given PASSED [ 87%] tests/test_logic.py::test_debug_toggle_breakpoint_off_invalid_breakpoint_line PASSED [ 87%] tests/test_logic.py::test_check_pycodestyle PASSED [ 87%] tests/test_logic.py::test_save_file_with_exception PASSED [ 87%] tests/modes/test_pico.py::test_api PASSED [ 87%] tests/debugger/test_utils.py::test_is_breakpoint_line_opening_collection PASSED [ 87%] tests/debugger/test_utils.py::test_is_breakpoint_line_closing_collection PASSED [ 87%] tests/debugger/test_utils.py::test_is_breakpoint_line_valid_blank_line PASSED [ 88%] tests/debugger/test_utils.py::test_is_breakpoint_line_valid_code PASSED [ 88%] tests/debugger/test_utils.py::test_is_breakpoint_line_comment PASSED [ 88%] tests/debugger/test_utils.py::test_is_breakpoint_line_valid_code_with_whitespace PASSED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_name_obj PASSED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_ensure_key_modules SKIPPED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_remove_user_packages PASSED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_path PASSED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_ensure_pip PASSED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_venv_second_try PASSED [ 88%] tests/virtual_environment/test_virtual_environment.py::test_venv_is_singleton PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists_not_venv PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_install_user_packages PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_on_disk FAILED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists_not_directory PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_jupyter_kernel_installed PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_created PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_base_packages_installed PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_download_wheels_if_not_present PASSED [ 89%] tests/virtual_environment/test_virtual_environment.py::test_run_python_nonblocking PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_venv_fails_after_three_tries PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_reset_pip PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter_version PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_splash_log_handler PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_installed_packages PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_run_python_blocking PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_reset_pip_used PASSED [ 90%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_does_not_exist PASSED [ 90%] tests/interface/test_themes.py::test_constants PASSED [ 91%] tests/interface/test_themes.py::test_Font PASSED [ 91%] tests/interface/test_themes.py::test_theme_apply_to PASSED [ 91%] tests/interface/test_themes.py::test_Font_loading PASSED [ 91%] tests/test_settings.py::test_default_file_location_no_files SKIPPED [ 91%] tests/test_settings.py::test_load_file_not_found PASSED [ 91%] tests/test_settings.py::test_getitem PASSED [ 91%] tests/test_settings.py::test_default_file_location_no_files_cannot_create SKIPPED [ 91%] tests/test_settings.py::test_expandvars_none PASSED [ 91%] tests/test_settings.py::test_default_file_location_frozen_osx PASSED [ 91%] tests/test_settings.py::test_get_item_exists PASSED [ 91%] tests/test_settings.py::test_expandvars_nonexistent_envvar PASSED [ 92%] tests/test_settings.py::test_as_string_changed_only PASSED [ 92%] tests/test_settings.py::test_default_file_location_not_frozen PASSED [ 92%] tests/test_settings.py::test_default_file_location_frozen PASSED [ 92%] tests/test_settings.py::test_creation PASSED [ 92%] tests/test_settings.py::test_default_file_location_with_data_path PASSED [ 92%] tests/test_settings.py::test_load_file_unable_to_read PASSED [ 92%] tests/test_settings.py::test_update PASSED [ 92%] tests/test_settings.py::test_update_is_changed PASSED [ 92%] tests/test_settings.py::test_setitem PASSED [ 92%] tests/test_settings.py::test_setitem_is_changed PASSED [ 93%] tests/test_settings.py::test_save_no_filepath PASSED [ 93%] tests/test_settings.py::test_repr PASSED [ 93%] tests/test_settings.py::test_creation_with_keywords PASSED [ 93%] tests/test_settings.py::test_save_readonly PASSED [ 93%] tests/test_settings.py::test_get_return_default PASSED [ 93%] tests/test_settings.py::test_delitem PASSED [ 93%] tests/test_settings.py::test_as_string PASSED [ 93%] tests/test_settings.py::test_reset_has_defaults PASSED [ 93%] tests/test_settings.py::test_get_return_none PASSED [ 93%] tests/test_settings.py::test_save_unable_to_encode PASSED [ 94%] tests/test_settings.py::test_keywords_are_changed PASSED [ 94%] tests/test_settings.py::test_save_unable_to_write PASSED [ 94%] tests/test_settings.py::test_save_only_changed PASSED [ 94%] tests/test_settings.py::test_expandvars_string PASSED [ 94%] tests/test_settings.py::test_delitem_is_not_changed PASSED [ 94%] tests/test_settings.py::test_as_string_unable_to_encode PASSED [ 94%] tests/test_settings.py::test_reset_nothing_changed PASSED [ 94%] tests/virtual_environment/test_process.py::test_set_up_run PASSED [ 94%] tests/virtual_environment/test_process.py::test_wait_shows_failure PASSED [ 94%] tests/virtual_environment/test_process.py::test_run_blocking PASSED [ 95%] tests/virtual_environment/test_process.py::test_run PASSED [ 95%] tests/virtual_environment/test_process.py::test_run_blocking_timeout PASSED [ 95%] tests/virtual_environment/test_process.py::test_creation_environment PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_set_zoom PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selection_follows_len_change PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_reset_debugger_highlight PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_show_annotations PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_hash_comment_lines PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_with_match[r\xe9sum\xe9 foo bar foo baz foo-foo] PASSED [ 95%] tests/interface/test_editor.py::test_EditorPane_debugger_at_line_windows_line_endings PASSED [ 95%] tests/interface/test_editor.py::test_Editor_connect_margin PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_toggle_line_preserves_multi_comment PASSED [ 96%] tests/interface/test_editor.py::test_csslexer_description_other PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_configure PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_hash_space_comment_lines PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_set_theme PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_wheelEvent PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_reset_annotations PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_toggle_line_starts_with_hash_space PASSED [ 96%] tests/interface/test_editor.py::test_Editor_connect_margin_1_works PASSED [ 96%] tests/interface/test_editor.py::test_EditorPane_toggle_line_preserves_embedded_comment PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_spans_two_or_more_lines PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_cursor_remains PASSED [ 97%] 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 [ 97%] tests/interface/test_editor.py::test_EditorPane_toggle_line_normal_line PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_init_html PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_wheelEvent_with_modifier_ignored PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_normal_lines PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_spaces_after_comment_mark PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_toggle_line_starts_with_hash PASSED [ 97%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_selected_spaces_before_comment_mark PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_label PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_init_python PASSED [ 98%] tests/interface/test_editor.py::test_pythonlexer_keywords PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_toggle_line_whitespace_line PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_reset_check_indicators PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_debugger_at_line PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_with_match[foo bar foo baz foo-foo] PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_reset_search_indicators PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_selection_change_listener PASSED [ 98%] tests/interface/test_editor.py::test_EditorPane_toggle_comments_no_selection PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_drop_event PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_find_next_match PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_multi_word PASSED [ 99%] tests/interface/test_editor.py::test_Editor_connect_margin_ignores_margin_4 PASSED [ 99%] tests/interface/test_editor.py::test_csslexer_description_comments PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_drop_event_not_file PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_init_css PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_annotate_code PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_incomplete_word PASSED [ 99%] tests/interface/test_editor.py::test_EditorPane_highlight_selected_matches_no_selection PASSED [100%]
=================================== FAILURES =================================== _ test_create_virtual_environment_on_disk __
self = <mu.virtual_environment.Pip object at 0xffff86309438>
def installed(self):
"""
Yield tuples of (package_name, version)
pip list gives a more consistent view of name/version
than pip freeze which uses different annotations for
file-installed wheels and editable (-e) installs
"""
lines = self.list().splitlines()
iterlines = iter(lines)
#
# The first two lines are headers
#
try:
next(iterlines)
E StopIteration
mu/virtual_environment.py:299: StopIteration
During handling of the above exception, another exception occurred:
venv_dirpath = '/tmp/pytest-of-travis/pytest-0/test_create_virtual_environmen2/93 6f' test_wheels = '/tmp/pytest-of-travis/pytest-0/test_create_virtual_environmen2/wheels'
def test_create_virtual_environment_on_disk(venv_dirpath, test_wheels):
"""Ensure that we're actually creating a working virtual environment
on the disk with wheels installed
"""
venv = mu.virtual_environment.VirtualEnvironment(venv_dirpath)
venv.create()
tests/virtual_environment/test_virtual_environment.py:142:
mu/virtual_environment.py:598: in create self.register_baseline_packages() mu/virtual_environment.py:665: in register_baseline_packages packages = list(self.pip.installed())
self = <mu.virtual_environment.Pip object at 0xffff86309438>
def installed(self):
"""
Yield tuples of (package_name, version)
pip list gives a more consistent view of name/version
than pip freeze which uses different annotations for
file-installed wheels and editable (-e) installs
"""
lines = self.list().splitlines()
iterlines = iter(lines)
#
# The first two lines are headers
#
try:
next(iterlines)
next(iterlines)
#
# cf https://lgtm.com/rules/11000086/
#
except StopIteration:
raise VirtualEnvironmentError("Unable to parse installed packages")
E mu.virtual_environment.VirtualEnvironmentError: Unable to parse installed packages
mu/virtual_environment.py:305: VirtualEnvironmentError ----------------------------- Captured stdout call ----------------------------- Already using interpreter /home/travis/build/mu-editor/mu/venv/bin/python3 Path not in prefix '/home/travis/build/mu-editor/mu/venv/include/python3.5m' '/usr'
TOTAL 5722 260 95%
=========================== short test summary info ============================ FAILED tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_on_disk ================== 1 failed, 979 passed, 43 skipped in 34.00s ================== Makefile:56: recipe for target 'coverage' failed make: *** [coverage] Error 1 travis_time : end : 27af3c40: start=1616423157748239574,finish=1616423195584479740,duration=37836240166,event=script [0K [31;1mThe command "if [ "$TRAVIS_PYTHON_VERSION" = "3.5" ]; then make coverage; fi" exited with 2. [0m travis_time : start : 05c1cfe6 [0K$ if [ "$TRAVIS_PYTHON_VERSION" != "3.5" ]; then make check; fi travis_time : end : 05c1cfe6: start=1616423195590905102,finish=1616423195595346458,duration=4441356,event=script [0K [32;1mThe command "if [ "$TRAVIS_PYTHON_VERSION" != "3.5" ]; then make check; fi" exited with 0. [0m
Done. Your build exited with 1.
Thanks @fmorton -- yes, @carlosperate pointed that one out to me earlier. I have no idea why it fails in Travis but succeeds in all the GH builds. I'll get to it later to see if I can work out what's happening
I've reverted the commit which -- for reasons I can't fathom -- was causing Travis to fail. It was a tentative solution to a problem I can't reproduce, so I can come at it some other way later on.
The Travis CI test now succeeds, but now Test Py 3.7 - macos-10.15 fails with a timeout in the install mu dependencies section:
Run pip install .[dev] Processing /Users/runner/work/mu/mu Collecting qtconsole==4.7.4 Downloading qtconsole-4.7.4-py2.py3-none-any.whl (118 kB) Collecting pyserial==3.4 Downloading pyserial-3.4-py2.py3-none-any.whl (193 kB) Collecting flake8>=3.8.3 Downloading flake8-3.9.0-py2.py3-none-any.whl (73 kB) Collecting appdirs>=1.4.3 Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Collecting semver>=2.8.0 Downloading semver-2.13.0-py2.py3-none-any.whl (12 kB) Collecting virtualenv Downloading virtualenv-20.4.3-py2.py3-none-any.whl (7.2 MB) Collecting wheel Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB) Collecting PyQt5==5.13.2 Downloading PyQt5-5.13.2-5.13.2-cp35.cp36.cp37.cp38-abi3-macosx_10_6_intel.whl (39.8 MB) Collecting QScintilla==2.11.3 Downloading QScintilla-2.11.3-cp35.cp36.cp37.cp38-abi3-macosx_10_6_intel.whl (2.3 MB) Collecting PyQtChart==5.13.1 Downloading PyQtChart-5.13.1-5.13.2-cp35.cp36.cp37.cp38-abi3-macosx_10_6_intel.whl (868 kB) Collecting black>=19.10b0 Downloading black-20.8b1.tar.gz (1.1 MB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'done' Collecting pytest>=4.6 Downloading pytest-6.2.2-py3-none-any.whl (280 kB) Collecting pytest-cov Downloading pytest_cov-2.11.1-py2.py3-none-any.whl (20 kB) Collecting pytest-random-order>=1.0.0 Downloading pytest_random_order-1.0.4-py3-none-any.whl (10 kB) Collecting pytest-faulthandler Downloading pytest_faulthandler-2.0.1-py2.py3-none-any.whl (2.7 kB) Collecting pytest-timeout Downloading pytest_timeout-1.4.2-py2.py3-none-any.whl (10 kB) Collecting coverage Downloading coverage-5.5-cp37-cp37m-macosx_10_9_x86_64.whl (207 kB) Collecting nudatus Downloading nudatus-0.0.5-py3-none-any.whl (5.3 kB) Collecting sphinx Downloading Sphinx-3.5.3-py3-none-any.whl (2.8 MB) Collecting twine Downloading twine-3.4.1-py3-none-any.whl (34 kB) Collecting PyQt5_sip<13,>=4.19.19 Downloading PyQt5_sip-12.8.1-cp37-cp37m-macosx_10_9_x86_64.whl (63 kB) Collecting ipykernel>=4.1 Downloading ipykernel-5.5.0-py3-none-any.whl (120 kB) Collecting traitlets Downloading traitlets-5.0.5-py3-none-any.whl (100 kB) Collecting ipython-genutils Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB) Collecting qtpy Downloading QtPy-1.9.0-py2.py3-none-any.whl (54 kB) Collecting pyzmq>=17.1 Downloading pyzmq-22.0.3-cp37-cp37m-macosx_10_9_x86_64.whl (1.0 MB) Collecting pygments Downloading Pygments-2.8.1-py3-none-any.whl (983 kB) Collecting jupyter-core Downloading jupyter_core-4.7.1-py3-none-any.whl (82 kB) Collecting jupyter-client>=4.1 Downloading jupyter_client-6.1.12-py3-none-any.whl (112 kB) Collecting pathspec<1,>=0.6 Using cached pathspec-0.8.1-py2.py3-none-any.whl (28 kB) Collecting click>=7.1.2 Downloading click-7.1.2-py2.py3-none-any.whl (82 kB) Collecting regex>=2020.1.8 Downloading regex-2021.3.17-cp37-cp37m-macosx_10_9_x86_64.whl (285 kB) Collecting typed-ast>=1.4.0 Downloading typed_ast-1.4.2-cp37-cp37m-macosx_10_9_x86_64.whl (223 kB) Collecting mypy-extensions>=0.4.3 Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB) Collecting typing-extensions>=3.7.4 Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Collecting toml>=0.10.1 Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB) Collecting importlib-metadata Downloading importlib_metadata-3.7.3-py3-none-any.whl (12 kB) Collecting pyflakes<2.4.0,>=2.3.0 Downloading pyflakes-2.3.0-py2.py3-none-any.whl (68 kB) Collecting pycodestyle<2.8.0,>=2.7.0 Downloading pycodestyle-2.7.0-py2.py3-none-any.whl (41 kB) Collecting mccabe<0.7.0,>=0.6.0 Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB) Collecting appnope Downloading appnope-0.1.2-py2.py3-none-any.whl (4.3 kB) Collecting tornado>=4.2 Downloading tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl (416 kB) Collecting ipython>=5.0.0 Downloading ipython-7.21.0-py3-none-any.whl (784 kB) Collecting pickleshare Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB) Requirement already satisfied: setuptools>=18.5 in /Users/runner/hostedtoolcache/Python/3.7.10/x64/lib/python3.7/site-packages (from ipython>=5.0.0->ipykernel>=4.1->qtconsole==4.7.4->mu-editor==1.1.0b2) (47.1.0) Collecting jedi>=0.16 Downloading jedi-0.18.0-py2.py3-none-any.whl (1.4 MB) Collecting pexpect>4.3 Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB) Collecting backcall Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) Collecting decorator Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 Downloading prompt_toolkit-3.0.18-py3-none-any.whl (367 kB) Collecting parso<0.9.0,>=0.8.0 Downloading parso-0.8.1-py2.py3-none-any.whl (93 kB) Collecting python-dateutil>=2.1 Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) Collecting ptyprocess>=0.5 Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) Collecting wcwidth Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB) Collecting attrs>=19.2.0 Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB) Collecting py>=1.8.2 Downloading py-1.10.0-py2.py3-none-any.whl (97 kB) Collecting packaging Downloading packaging-20.9-py2.py3-none-any.whl (40 kB) Collecting pluggy<1.0.0a1,>=0.12 Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB) Collecting iniconfig Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB) Collecting zipp>=0.5 Downloading zipp-3.4.1-py3-none-any.whl (5.2 kB) Collecting six>=1.5 Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting pyparsing>=2.0.2 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting docutils>=0.12 Downloading docutils-0.16-py2.py3-none-any.whl (548 kB) Collecting alabaster<0.8,>=0.7 Downloading alabaster-0.7.12-py2.py3-none-any.whl (14 kB) Collecting sphinxcontrib-qthelp Downloading sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB) Collecting snowballstemmer>=1.1 Downloading snowballstemmer-2.1.0-py2.py3-none-any.whl (93 kB) Collecting babel>=1.3 Downloading Babel-2.9.0-py2.py3-none-any.whl (8.8 MB) Collecting Jinja2>=2.3 Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB) Collecting sphinxcontrib-serializinghtml Downloading sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl (89 kB) Collecting imagesize Downloading imagesize-1.2.0-py2.py3-none-any.whl (4.8 kB) Collecting sphinxcontrib-htmlhelp Downloading sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl (96 kB) Collecting sphinxcontrib-jsmath Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Collecting sphinxcontrib-devhelp Downloading sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB) Collecting sphinxcontrib-applehelp Downloading sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB) Collecting requests>=2.5.0 Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB) Collecting pytz>=2015.7 Downloading pytz-2021.1-py2.py3-none-any.whl (510 kB) Collecting MarkupSafe>=0.23 Downloading MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl (16 kB) Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.4-py2.py3-none-any.whl (153 kB) Collecting certifi>=2017.4.17 Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB) Collecting idna<3,>=2.5 Downloading idna-2.10-py2.py3-none-any.whl (58 kB) Collecting chardet<5,>=3.0.2 Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB) Collecting colorama>=0.4.3 Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB) Collecting requests-toolbelt!=0.9.0,>=0.8.0 Downloading requests_toolbelt-0.9.1-py2.py3-none-any.whl (54 kB) Collecting keyring>=15.1 Downloading keyring-23.0.0-py3-none-any.whl (32 kB) Collecting rfc3986>=1.4.0 Downloading rfc3986-1.4.0-py2.py3-none-any.whl (31 kB) Collecting tqdm>=4.14 Downloading tqdm-4.59.0-py2.py3-none-any.whl (74 kB) Collecting pkginfo>=1.4.2 Downloading pkginfo-1.7.0-py2.py3-none-any.whl (25 kB) Collecting readme-renderer>=21.0 Downloading readme_renderer-29.0-py2.py3-none-any.whl (15 kB) Collecting bleach>=2.1.0 Downloading bleach-3.3.0-py2.py3-none-any.whl (283 kB) Collecting webencodings Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB) Collecting distlib<1,>=0.3.1 Downloading distlib-0.3.1-py2.py3-none-any.whl (335 kB) Collecting filelock<4,>=3.0.0 Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB) Using legacy 'setup.py install' for mu-editor, since package 'wheel' is not installed. Building wheels for collected packages: black Building wheel for black (PEP 517): started Building wheel for black (PEP 517): finished with status 'done' Created wheel for black: filename=black-20.8b1-py3-none-any.whl size=124184 sha256=86f358054afd539c7c004eeed5a73cb40435df6641481ea8a2b9a46b9b24aba0 Stored in directory: /Users/runner/Library/Caches/pip/wheels/c5/85/79/f3af8daaf8037c0bf14beb3b7a1511a39b6e6902ca2aaf494e Successfully built black Installing collected packages: ipython-genutils, wcwidth, traitlets, six, ptyprocess, parso, zipp, typing-extensions, tornado, pyzmq, python-dateutil, pyparsing, pygments, prompt-toolkit, pickleshare, pexpect, jupyter-core, jedi, decorator, backcall, appnope, webencodings, urllib3, PyQt5-sip, packaging, jupyter-client, ipython, importlib-metadata, idna, chardet, certifi, typed-ast, toml, requests, regex, qtpy, pytz, PyQt5, pyflakes, pycodestyle, py, pluggy, pathspec, mypy-extensions, mccabe, MarkupSafe, ipykernel, iniconfig, filelock, docutils, distlib, click, bleach, attrs, appdirs, wheel, virtualenv, tqdm, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, semver, rfc3986, requests-toolbelt, readme-renderer, qtconsole, QScintilla, pytest, pyserial, PyQtChart, pkginfo, keyring, Jinja2, imagesize, flake8, coverage, colorama, black, babel, alabaster, twine, sphinx, pytest-timeout, pytest-random-order, pytest-faulthandler, pytest-cov, nudatus, mu-editor Error: The action has timed out.
Thanks @fmorton, I've created PR https://github.com/mu-editor/mu/pull/1398 to increase the timeout.
Thanks @carlosperate. I merged the #1398 and all the tests were successful!
However, there is a strange thing you may understand. I received an email at the time of those tests stating that one of them failed even though it appears all the tests were successful:
Here is the log (and link to the run tests) for the test that says it was successful in one place and that it failed in another. Does this make sense somehow?
https://github.com/fmorton/mu/actions/runs/679649003
Run xvfb-run make check rm -rf build rm -rf dist rm -rf .coverage rm -rf .eggs rm -rf .egg-info rm -rf docs/_build rm -rf .pytest_cache rm -rf lib rm -rf .mp4 rm -rf .git/avatar/ find . ( -name '.py[co]' -o -name dropin.cache ) -delete find . ( -name '.bak' -o -name dropin.cache ) -delete find . ( -name '.tgz' -o -name dropin.cache ) -delete find . | grep -E "(pycache)" | xargs rm -rf python make.py black
black Black checks are not available in Python 3.5. flake8 export LANG=en_GB.utf8 pytest -v --random-order --cov-config .coveragerc --cov-report term-missing --cov=mu tests/ ============================= test session starts ============================== platform linux -- Python 3.5.10, pytest-6.1.2, py-1.10.0, pluggy-0.13.1 -- /opt/hostedtoolcache/Python/3.5.10/x64/bin/python cachedir: .pytest_cache Using --random-order-bucket=module Using --random-order-seed=25763
rootdir: /home/runner/work/mu/mu, configfile: pytest.ini plugins: random-order-1.0.4, timeout-1.4.2, cov-2.11.1 collecting ... collected 1023 items
tests/modes/test_pyboard.py::test_workspace_dir_unknown_os PASSED [ 0%] tests/modes/test_pyboard.py::test_api PASSED [ 0%] tests/modes/test_pyboard.py::test_pyboard_mode_no_charts PASSED [ 0%] tests/modes/test_pyboard.py::test_workspace_dir_posix_exists PASSED [ 0%] tests/modes/test_pyboard.py::test_workspace_dir_nt_exists PASSED [ 0%] tests/modes/test_pyboard.py::test_workspace_dir_posix_missing PASSED [ 0%] tests/modes/test_pyboard.py::test_workspace_dir_nt_missing PASSED [ 0%] tests/modes/test_pyboard.py::test_workspace_dir_posix_no_mount_command PASSED [ 0%] tests/modes/test_pyboard.py::test_pyboard_mode PASSED [ 0%] tests/test_resources.py::test_load_icon PASSED [ 0%] tests/test_resources.py::test_load_pixmap PASSED [ 1%] tests/test_resources.py::test_path PASSED [ 1%] tests/test_resources.py::test_load_font_data PASSED [ 1%] tests/test_resources.py::test_stylesheet PASSED [ 1%] tests/test_resources.py::test_load_movie PASSED [ 1%] tests/modes/test_esp.py::test_add_fs_no_device PASSED [ 1%] tests/modes/test_esp.py::test_toggle_repl_fail PASSED [ 1%] tests/modes/test_esp.py::test_toggle_repl_with_fs PASSED [ 1%] tests/modes/test_esp.py::test_ESPMode_actions_no_charts PASSED [ 1%] tests/modes/test_esp.py::test_add_fs PASSED [ 1%] tests/modes/test_esp.py::test_run_no_device PASSED [ 2%] tests/modes/test_esp.py::test_api PASSED [ 2%] tests/modes/test_esp.py::test_toggle_repl_off PASSED [ 2%] tests/modes/test_esp.py::test_toggle_files_with_repl PASSED [ 2%] tests/modes/test_esp.py::test_run_no_editor PASSED [ 2%] tests/modes/test_esp.py::test_run PASSED [ 2%] tests/modes/test_esp.py::test_toggle_files_off PASSED [ 2%] tests/modes/test_esp.py::test_device_changed PASSED [ 2%] tests/modes/test_esp.py::test_ESPMode_actions PASSED [ 2%] tests/modes/test_esp.py::test_on_data_flood PASSED [ 2%] tests/modes/test_esp.py::test_toggle_plotter PASSED [ 3%] tests/modes/test_esp.py::test_deactivate PASSED [ 3%] tests/modes/test_esp.py::test_toggle_plotter_with_fs PASSED [ 3%] tests/modes/test_esp.py::test_add_fs_project_path PASSED [ 3%] tests/modes/test_esp.py::test_toggle_plotter_no_repl_or_plotter PASSED [ 3%] tests/modes/test_esp.py::test_toggle_files_on PASSED [ 3%] tests/modes/test_esp.py::test_remove_fs PASSED [ 3%] tests/modes/test_esp.py::test_toggle_repl_on PASSED [ 3%] tests/modes/test_esp.py::test_ESPMode_init PASSED [ 3%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists_not_directory PASSED [ 3%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_on_disk PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_download_wheels_if_not_present PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_jupyter_kernel_installed PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_reset_pip PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_run_python_blocking PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_venv_second_try PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_base_packages_installed PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_name_obj PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_venv_fails_after_three_tries PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_created PASSED [ 4%] tests/virtual_environment/test_virtual_environment.py::test_installed_packages PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_create_virtual_environment_path PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_venv_is_singleton PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_ensure_interpreter_version PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_reset_pip_used PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_already_exists_not_venv PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_ensure_key_modules SKIPPED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_venv_folder_does_not_exist PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_install_user_packages PASSED [ 5%] tests/virtual_environment/test_virtual_environment.py::test_remove_user_packages PASSED [ 6%] tests/virtual_environment/test_virtual_environment.py::test_splash_log_handler PASSED [ 6%] tests/virtual_environment/test_virtual_environment.py::test_ensure_pip PASSED [ 6%] tests/virtual_environment/test_virtual_environment.py::test_run_python_nonblocking PASSED [ 6%] tests/modes/test_base.py::test_micropython_mode_remove_plotter_disconnects PASSED [ 6%] tests/modes/test_base.py::test_base_mode_activate_deactivate_change PASSED [ 6%] tests/modes/test_base.py::test_micropython_mode_port_path_nt PASSED [ 6%] tests/modes/test_base.py::test_base_mode_set_buttons PASSED [ 6%] tests/modes/test_base.py::test_base_mode_remove_plotter PASSED [ 6%] tests/modes/test_base.py::test_micropython_device_changed PASSED [ 6%] tests/modes/test_base.py::test_micropython_mode_remove_repl PASSED [ 7%] tests/modes/test_base.py::test_base_mode_open_file PASSED [ 7%] tests/modes/test_base.py::test_micropython_mode_find_device PASSED [ 7%] tests/modes/test_base.py::test_micropython_mode_add_plotter_ioerror PASSED [ 7%] tests/modes/test_base.py::test_REPLConnection_open PASSED [ 7%] tests/modes/test_base.py::test_REPLConnection_close PASSED [ 7%] tests/modes/test_base.py::test_REPLConnection_open_DTR_unset PASSED [ 7%] tests/modes/test_base.py::test_FileManager_delete PASSED [ 7%] tests/modes/test_base.py::test_micropython_mode_add_plotter_exception PASSED [ 7%] tests/modes/test_base.py::test_base_on_data_flood PASSED [ 7%] tests/modes/test_base.py::test_micropython_activate PASSED [ 8%] tests/modes/test_base.py::test_REPLConnection_send_interrupt PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_toggle_repl_on PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_add_plotter_no_port PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_toggle_plotter_off PASSED [ 8%] tests/modes/test_base.py::test_base_mode_workspace_invalid_json PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_remove_repl_active_plotter PASSED [ 8%] tests/modes/test_base.py::test_base_mode_add_plotter PASSED [ 8%] tests/modes/test_base.py::test_REPLConnection_send_commands PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_toggle_plotter_on PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_add_plotter PASSED [ 8%] tests/modes/test_base.py::test_micropython_mode_find_device_but_no_device PASSED [ 9%] tests/modes/test_base.py::test_micropython_deactivate PASSED [ 9%] tests/modes/test_base.py::test_REPLConnection_write PASSED [ 9%] tests/modes/test_base.py::test_FileManager_on_start_fails PASSED [ 9%] tests/modes/test_base.py::test_base_mode_write_csv PASSED [ 9%] tests/modes/test_base.py::test_micropython_mode_add_repl_no_port PASSED [ 9%] tests/modes/test_base.py::test_FileManager_get_fail PASSED [ 9%] tests/modes/test_base.py::test_base_mode_workspace_no_settings_file PASSED [ 9%] tests/modes/test_base.py::test_micropython_mode_add_repl_no_force_interrupt PASSED [ 9%] tests/modes/test_base.py::test_micropython_mode_find_device_no_ports PASSED [ 9%] tests/modes/test_base.py::test_REPLConnection_init_default_args PASSED [ 10%] tests/modes/test_base.py::test_micropython_mode_port_path_unknown PASSED [ 10%] tests/modes/test_base.py::test_FileManager_ls_fail PASSED [ 10%] tests/modes/test_base.py::test_micropython_mode_add_repl_ioerror PASSED [ 10%] tests/modes/test_base.py::test_base_mode PASSED [ 10%] tests/modes/test_base.py::test_base_mode_workspace_invalid_value PASSED [ 10%] tests/modes/test_base.py::test_micropython_mode_add_repl PASSED [ 10%] tests/modes/test_base.py::test_micropython_mode_find_device_darwin_remove_extraneous_devices PASSED [ 10%] tests/modes/test_base.py::test_FileManager_on_start PASSED [ 10%] tests/modes/test_base.py::test_FileManager_put_fail PASSED [ 10%] tests/modes/test_base.py::test_micropython_mode_add_repl_exception PASSED [ 11%] tests/modes/test_base.py::test_REPLConnection_open_unable_to_connect PASSED [ 11%] tests/modes/test_base.py::test_micropython_on_data_flood PASSED [ 11%] tests/modes/test_base.py::test_REPLConnection_on_serial_read PASSED [ 11%] tests/modes/test_base.py::test_FileManager_delete_fail PASSED [ 11%] tests/modes/test_base.py::test_base_mode_workspace_not_present PASSED [ 11%] tests/modes/test_base.py::test_FileManager_put PASSED [ 11%] tests/modes/test_base.py::test_micropython_mode_toggle_repl_off PASSED [ 11%] tests/modes/test_base.py::test_micropython_mode_port_path_posix PASSED [ 11%] tests/modes/test_base.py::test_micropython_mode_remove_repl_and_disconnect PASSED [ 11%] tests/modes/test_base.py::test_REPLConnection_execute PASSED [ 12%] tests/modes/test_base.py::test_base_mode_workspace_dir SKIPPED [ 12%] tests/modes/test_base.py::test_fileManager_get PASSED [ 12%] tests/modes/test_base.py::test_FileManager_ls PASSED [ 12%] tests/modes/test_base.py::test_micropython_mode_remove_plotter_active_repl PASSED [ 12%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_off PASSED [ 12%] tests/modes/test_pygamezero.py::test_pgzero_show_fonts_no_file PASSED [ 12%] tests/modes/test_pygamezero.py::test_pgzero_stop_game_no_runner PASSED [ 12%] tests/modes/test_pygamezero.py::test_pgzero_show_sounds PASSED [ 12%] tests/modes/test_pygamezero.py::test_pgzero_show_music PASSED [ 12%] tests/modes/test_pygamezero.py::test_pgzero_show_images_no_file PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_stop_game PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_api PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_run_game PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_show_music_no_file PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_show_sounds_no_file PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_on_cancelled PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_show_fonts PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_mode PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_run_game_no_editor PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_run_game_needs_saving PASSED [ 13%] tests/modes/test_pygamezero.py::test_pgzero_show_images PASSED [ 14%] tests/modes/test_pygamezero.py::test_pgzero_play_toggle_on PASSED [ 14%] tests/interface/test_main.py::test_Window_tab_count PASSED [ 14%] tests/interface/test_main.py::test_Window_remove_plotter PASSED [ 14%] tests/interface/test_main.py::test_Window_set_theme PASSED [ 14%] tests/interface/test_main.py::test_Window_sync_packages PASSED [ 14%] tests/interface/test_main.py::test_Window_setup PASSED [ 14%] tests/interface/test_main.py::test_FileTabs_removeTab_cancel PASSED [ 14%] tests/interface/test_main.py::test_Window_change_mode PASSED [ 14%] tests/interface/test_main.py::test_Window_replace_text_not_current_tab PASSED [ 14%] tests/interface/test_main.py::test_Window_add_tab PASSED [ 15%] tests/interface/test_main.py::test_Window_replace_text_not_global_missing PASSED [ 15%] tests/interface/test_main.py::test_Window_open_file_event PASSED [ 15%] tests/interface/test_main.py::test_FileTabs_addTab Fatal Python error: Segmentation fault
Thread 0x00007f88afeb9740 (most recent call first):
File "/opt/hostedtoolcache/Python/3.5.10/x64/lib/python3.5/unittest/mock.py", line 1833 in _mock_set_magics
File "/opt/hostedtoolcache/Python/3.5.10/x64/lib/python3.5/unittest/mock.py", line 1809 in init
File "/home/runner/work/mu/mu/tests/interface/test_main.py", line 270 in test_FileTabs_addTab
File "/opt/hostedtoolcache/Python/3.5.10/x64/lib/python3.5/site-packages/_pytest/python.py", line 184 in pytest_pyfunc_call
File "/opt/hostedtoolcache/Python/3.5.10/x64/lib/python3.5/site-packages/pluggy/callers.py", line 187 in _multicall
File "/opt/hostedtoolcache/Python/3.5.10/x64/lib/python3.5/site-packages/pluggy/manager.py", line 87 in
Tests all passed on my last merge. Very nice.
Great, thanks for all the testing @fmorton !
I was working to catch a pull request up-to-date and discovered when running "make check" that teset/test_app.py never finished (after letting it run for more than an hour). This is on a mac with MacOS 11.1 (Big Sur). So, I cloned the current version and discovered that the same issue is present on the current main branch.
Does anyone know about this? Here is the output from "make check" (also showing the clone):
bash-3.2$ git clone https://github.com/mu-editor/mu.git Cloning into 'mu'... remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (3/3), done. remote: Total 11211 (delta 0), reused 2 (delta 0), pack-reused 11208 Receiving objects: 100% (11211/11211), 19.28 MiB | 30.42 MiB/s, done. Resolving deltas: 100% (7858/7858), done. bash-3.2$ cd mu bash-3.2$ make check rm -rf build rm -rf dist rm -rf .coverage rm -rf .eggs rm -rf docs/_build rm -rf .pytest_cache rm -rf lib rm -rf .mp4 rm -rf .git/avatar/ find . ( -name '.py[co]' -o -name dropin.cache ) -delete find . ( -name '.bak' -o -name dropin.cache ) -delete find . ( -name '*.tgz' -o -name dropin.cache ) -delete find . | grep -E "(pycache)" | xargs rm -rf python make.py black
black black, version 20.8b1 All done! ⨠đ° ⨠1 file would be left unchanged. All done! ⨠đ° ⨠1 file would be left unchanged. All done! ⨠đ° ⨠49 files would be left unchanged. All done! ⨠đ° ⨠2 files would be left unchanged. All done! ⨠đ° ⨠36 files would be left unchanged. All done! ⨠đ° ⨠6 files would be left unchanged. flake8 export LANG=en_GB.utf8 pytest --random-order --cov-config .coveragerc --cov-report term-missing --cov=mu tests/ ================================================= test session starts ================================================== platform darwin -- Python 3.7.6, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 Using --random-order-bucket=module Using --random-order-seed=846489
rootdir: /Users/fmorton/tmp/tmp/mu, configfile: pytest.ini plugins: random-order-1.0.4, cov-2.10.1 collected 1008 items
tests/virtual_environment/test_process.py ...... [ 0%] tests/debugger/test_runner.py ................................................... [ 5%] tests/modes/test_esp.py ........................ [ 8%] tests/virtual_environment/test_pip.py .................. [ 9%] tests/interface/test_editor.py ................................................ [ 14%] tests/interface/test_main.py ................................................................................... [ 22%] ................ [ 24%] tests/virtual_environment/test_virtual_environment.py ....F............. [ 26%] tests/modes/test_pico.py . [ 26%] tests/interface/test_panes.py .................................................................................. [ 34%] ...................s................................................................. [ 42%] tests/debugger/test_client.py ............................................... [ 47%] tests/interface/test_themes.py .... [ 47%] tests/modes/test_base.py ...........................s.................................. [ 54%] tests/test_logic.py .......F................................................s................................... [ 63%] .......................................................s....................................... [ 72%] tests/interface/test_dialogs.py s.....ss..s.s...ss.sss.....s..s.s [ 75%] tests/modes/test_microbit.py .................................................... [ 81%] tests/modes/test_web.py .................... [ 83%] tests/debugger/test_utils.py ...... [ 83%] tests/modes/test_pygamezero.py .................. [ 85%] tests/test_resources.py ...... [ 86%] tests/modes/test_circuitpython.py ........... [ 87%] tests/modes/test_python3.py ........................... [ 89%] tests/modes/test_pyboard.py ......... [ 90%] tests/modes/test_lego.py . [ 90%] tests/interface/test_widgets.py ......... [ 91%] tests/test_app.py .
Never finished