Starting lpcraft, version 0.0.39 Logging execution to '/root/.local/state/lpcraft/log/lpcraft-20230109-171300.778012.log' Launching environment for focal/amd64 Running ['apt', 'update'] :: :: WARNING: apt does not have a stable CLI interface. Use with caution in scripts. :: :: Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease :: Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease :: Hit:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease :: Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease :: Reading package lists... :: Building dependency tree... :: Reading state information... :: 93 packages can be upgraded. Run 'apt list --upgradable' to see them. Installing system packages Running ['apt', 'install', '-y', 'python3-pip', 'git'] :: :: WARNING: apt does not have a stable CLI interface. Use with caution in scripts. :: :: Reading package lists... :: Building dependency tree... :: Reading state information... :: The following additional packages will be installed: :: git-man libcurl3-gnutls liberror-perl python-pip-whl python3-distutils :: python3-lib2to3 python3-pkg-resources python3-setuptools python3-wheel :: Suggested packages: :: gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email :: git-gui gitk gitweb git-cvs git-mediawiki git-svn python-setuptools-doc :: Recommended packages: :: less python3-dev :: The following NEW packages will be installed: :: git git-man libcurl3-gnutls liberror-perl python-pip-whl python3-distutils :: python3-lib2to3 python3-pip python3-pkg-resources python3-setuptools :: python3-wheel :: 0 upgraded, 11 newly installed, 0 to remove and 93 not upgraded. :: Need to get 8412 kB of archives. :: After this operation, 46.8 MB of additional disk space will be used. :: Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-pkg-resources all 45.2.0-1 [130 kB] :: Get:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl3-gnutls amd64 7.68.0-1ubuntu2.15 [232 kB] :: Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 liberror-perl all 0.17029-1 [26.5 kB] :: Get:4 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 git-man all 1:2.25.1-1ubuntu3.6 [887 kB] :: Get:5 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 git amd64 1:2.25.1-1ubuntu3.6 [4529 kB] :: Get:6 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 python-pip-whl all 20.0.2-5ubuntu1.6 [1805 kB] :: Get:7 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-lib2to3 all 3.8.10-0ubuntu1~20.04 [76.3 kB] :: Get:8 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-distutils all 3.8.10-0ubuntu1~20.04 [141 kB] :: Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-setuptools all 45.2.0-1 [330 kB] :: Get:10 http://archive.ubuntu.com/ubuntu focal/universe amd64 python3-wheel all 0.34.2-1 [23.8 kB] :: Get:11 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 python3-pip all 20.0.2-5ubuntu1.6 [231 kB] :: Fetched 8412 kB in 1s (7095 kB/s) :: Selecting previously unselected package python3-pkg-resources. :: (Reading database ... 14319 files and directories currently installed.) :: Preparing to unpack .../00-python3-pkg-resources_45.2.0-1_all.deb ... :: Unpacking python3-pkg-resources (45.2.0-1) ... :: Selecting previously unselected package libcurl3-gnutls:amd64. :: Preparing to unpack .../01-libcurl3-gnutls_7.68.0-1ubuntu2.15_amd64.deb ... :: Unpacking libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.15) ... :: Selecting previously unselected package liberror-perl. :: Preparing to unpack .../02-liberror-perl_0.17029-1_all.deb ... :: Unpacking liberror-perl (0.17029-1) ... :: Selecting previously unselected package git-man. :: Preparing to unpack .../03-git-man_1%3a2.25.1-1ubuntu3.6_all.deb ... :: Unpacking git-man (1:2.25.1-1ubuntu3.6) ... :: Selecting previously unselected package git. :: Preparing to unpack .../04-git_1%3a2.25.1-1ubuntu3.6_amd64.deb ... :: Unpacking git (1:2.25.1-1ubuntu3.6) ... :: Selecting previously unselected package python-pip-whl. :: Preparing to unpack .../05-python-pip-whl_20.0.2-5ubuntu1.6_all.deb ... :: Unpacking python-pip-whl (20.0.2-5ubuntu1.6) ... :: Selecting previously unselected package python3-lib2to3. :: Preparing to unpack .../06-python3-lib2to3_3.8.10-0ubuntu1~20.04_all.deb ... :: Unpacking python3-lib2to3 (3.8.10-0ubuntu1~20.04) ... :: Selecting previously unselected package python3-distutils. :: Preparing to unpack .../07-python3-distutils_3.8.10-0ubuntu1~20.04_all.deb ... :: Unpacking python3-distutils (3.8.10-0ubuntu1~20.04) ... :: Selecting previously unselected package python3-setuptools. :: Preparing to unpack .../08-python3-setuptools_45.2.0-1_all.deb ... :: Unpacking python3-setuptools (45.2.0-1) ... :: Selecting previously unselected package python3-wheel. :: Preparing to unpack .../09-python3-wheel_0.34.2-1_all.deb ... :: Unpacking python3-wheel (0.34.2-1) ... :: Selecting previously unselected package python3-pip. :: Preparing to unpack .../10-python3-pip_20.0.2-5ubuntu1.6_all.deb ... :: Unpacking python3-pip (20.0.2-5ubuntu1.6) ... :: Setting up python3-pkg-resources (45.2.0-1) ... :: Setting up libcurl3-gnutls:amd64 (7.68.0-1ubuntu2.15) ... :: Setting up python3-wheel (0.34.2-1) ... :: Setting up liberror-perl (0.17029-1) ... :: Setting up git-man (1:2.25.1-1ubuntu3.6) ... :: Setting up python-pip-whl (20.0.2-5ubuntu1.6) ... :: Setting up python3-lib2to3 (3.8.10-0ubuntu1~20.04) ... :: Setting up python3-distutils (3.8.10-0ubuntu1~20.04) ... :: Setting up python3-setuptools (45.2.0-1) ... :: Setting up git (1:2.25.1-1ubuntu3.6) ... :: Setting up python3-pip (20.0.2-5ubuntu1.6) ... :: Processing triggers for libc-bin (2.31-0ubuntu9) ... Running command for the job... Running ['bash', '--noprofile', '--norc', '-ec', 'python3 -m pip install tox==3.24.5; tox'] :: Collecting tox==3.24.5 :: Downloading tox-3.24.5-py2.py3-none-any.whl (85 kB) :: Collecting six>=1.14.0 :: Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) :: Collecting packaging>=14 :: Downloading packaging-23.0-py3-none-any.whl (42 kB) :: Collecting virtualenv!=20.0.0,!=20.0.1,!=20.0.2,!=20.0.3,!=20.0.4,!=20.0.5,!=20.0.6,!=20.0.7,>=16.0.0 :: Downloading virtualenv-20.17.1-py3-none-any.whl (8.8 MB) :: Collecting toml>=0.9.4 :: Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB) :: Collecting filelock>=3.0.0 :: Downloading filelock-3.9.0-py3-none-any.whl (9.7 kB) :: Collecting py>=1.4.17 :: Downloading py-1.11.0-py2.py3-none-any.whl (98 kB) :: Collecting pluggy>=0.12.0 :: Downloading pluggy-1.0.0-py2.py3-none-any.whl (13 kB) :: Collecting platformdirs<3,>=2.4 :: Downloading platformdirs-2.6.2-py3-none-any.whl (14 kB) :: Collecting distlib<1,>=0.3.6 :: Downloading distlib-0.3.6-py2.py3-none-any.whl (468 kB) :: Installing collected packages: six, packaging, filelock, platformdirs, distlib, virtualenv, toml, py, pluggy, tox :: Successfully installed distlib-0.3.6 filelock-3.9.0 packaging-23.0 platformdirs-2.6.2 pluggy-1.0.0 py-1.11.0 six-1.16.0 toml-0.10.2 tox-3.24.5 virtualenv-20.17.1 :: GLOB sdist-make: /build/lpcraft/project/setup.py :: lint create: /build/lpcraft/project/.tox/lint :: lint installdeps: pre-commit :: lint installed: cfgv==3.3.1,distlib==0.3.6,filelock==3.9.0,identify==2.5.12,nodeenv==1.7.0,platformdirs==2.6.2,pre-commit==2.21.0,PyYAML==6.0,virtualenv==20.17.1 :: lint run-test-pre: PYTHONHASHSEED='1907491067' :: lint run-test: commands[0] | pre-commit run -a :: [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. :: [INFO] Initializing environment for https://github.com/PyCQA/flake8. :: [INFO] Initializing environment for https://github.com/PyCQA/pydocstyle. :: [INFO] Initializing environment for https://github.com/PyCQA/pydocstyle:toml==0.10.2. :: [INFO] Initializing environment for https://github.com/PyCQA/isort. :: [INFO] Initializing environment for https://github.com/psf/black. :: [INFO] Initializing environment for https://github.com/asottile/setup-cfg-fmt. :: [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. :: [INFO] Once installed this environment will be reused. :: [INFO] This may take a few minutes... :: [INFO] Installing environment for https://github.com/PyCQA/flake8. :: [INFO] Once installed this environment will be reused. :: [INFO] This may take a few minutes... :: [INFO] Installing environment for https://github.com/PyCQA/pydocstyle. :: [INFO] Once installed this environment will be reused. :: [INFO] This may take a few minutes... :: [INFO] Installing environment for https://github.com/PyCQA/isort. :: [INFO] Once installed this environment will be reused. :: [INFO] This may take a few minutes... :: [INFO] Installing environment for https://github.com/psf/black. :: [INFO] Once installed this environment will be reused. :: [INFO] This may take a few minutes... :: [INFO] Installing environment for https://github.com/asottile/setup-cfg-fmt. :: [INFO] Once installed this environment will be reused. :: [INFO] This may take a few minutes... :: Check for added large files..............................................Passed :: Check python ast.........................................................Passed :: Check for merge conflicts................................................Passed :: Check Yaml...............................................................Passed :: Debug Statements (Python)................................................Passed :: Fix End of Files.........................................................Passed :: Trim Trailing Whitespace.................................................Passed :: flake8...................................................................Passed :: pydocstyle...............................................................Passed :: isort....................................................................Passed :: black....................................................................Passed :: setup-cfg-fmt............................................................Passed :: mypy create: /build/lpcraft/project/.tox/mypy :: mypy installdeps: -rrequirements.txt, .[test], mypy, types-PyYAML :: mypy inst: /build/lpcraft/project/.tox/.tmp/package/1/lpcraft-0.0.37.zip :: mypy installed: attrs==22.2.0,certifi==2022.6.15,charset-normalizer==2.1.0,coverage==7.0.4,craft-cli==1.2.0,craft-providers==1.4.2,exceptiongroup==1.1.0,extras==1.0.0,fakesleep==0.1,fancycompleter==0.9.1,fixtures==4.0.1,idna==3.3,iniconfig==2.0.0,Jinja2==3.1.2,lpcraft @ file:///build/lpcraft/project/.tox/.tmp/package/1/lpcraft-0.0.37.zip,MarkupSafe==2.1.1,mypy==0.991,mypy-extensions==0.4.3,packaging==23.0,pbr==5.11.0,pdbpp==0.10.3,platformdirs==2.5.2,pluggy==1.0.0,pydantic==1.9.2,Pygments==2.14.0,pyrepl==0.9.0,pytest==7.2.0,python-dotenv==0.20.0,PyYAML==6.0,requests==2.28.1,requests-mock==1.10.0,requests-unixsocket==0.3.0,responses==0.22.0,six==1.16.0,systemfixtures==0.6.7,testtools==2.5.0,toml==0.10.2,tomli==2.0.1,types-PyYAML==6.0.12.2,types-toml==0.10.8.1,typing_extensions==4.3.0,urllib3==1.26.11,wmctrl==0.4 :: mypy run-test-pre: PYTHONHASHSEED='1907491067' :: mypy run-test: commands[0] | mypy --cache-dir=/build/lpcraft/project/.tox/mypy/mypy_cache --strict lpcraft :: Success: no issues found in 39 source files :: py38 create: /build/lpcraft/project/.tox/py38 :: py38 installdeps: -rrequirements.txt, .[test] :: py38 inst: /build/lpcraft/project/.tox/.tmp/package/1/lpcraft-0.0.37.zip :: py38 installed: attrs==22.2.0,certifi==2022.6.15,charset-normalizer==2.1.0,coverage==7.0.4,craft-cli==1.2.0,craft-providers==1.4.2,exceptiongroup==1.1.0,extras==1.0.0,fakesleep==0.1,fancycompleter==0.9.1,fixtures==4.0.1,idna==3.3,iniconfig==2.0.0,Jinja2==3.1.2,lpcraft @ file:///build/lpcraft/project/.tox/.tmp/package/1/lpcraft-0.0.37.zip,MarkupSafe==2.1.1,packaging==23.0,pbr==5.11.0,pdbpp==0.10.3,platformdirs==2.5.2,pluggy==1.0.0,pydantic==1.9.2,Pygments==2.14.0,pyrepl==0.9.0,pytest==7.2.0,python-dotenv==0.20.0,PyYAML==6.0,requests==2.28.1,requests-mock==1.10.0,requests-unixsocket==0.3.0,responses==0.22.0,six==1.16.0,systemfixtures==0.6.7,testtools==2.5.0,toml==0.10.2,tomli==2.0.1,types-toml==0.10.8.1,typing_extensions==4.3.0,urllib3==1.26.11,wmctrl==0.4 :: py38 run-test-pre: PYTHONHASHSEED='1907491067' :: py38 run-test: commands[0] | pytest :: ============================= test session starts ============================== :: platform linux -- Python 3.8.10, pytest-7.2.0, pluggy-1.0.0 :: cachedir: .tox/py38/.pytest_cache :: rootdir: /build/lpcraft/project :: plugins: requests-mock-1.10.0, craft-cli-1.2.0 :: collected 188 items :: :: lpcraft/commands/tests/test_clean.py .... [ 2%] :: lpcraft/commands/tests/test_run.py ..................................... [ 21%] :: ...................................... [ 42%] :: lpcraft/commands/tests/test_version.py ... [ 43%] :: lpcraft/plugin/tests/test_plugins.py ................................ [ 60%] :: lpcraft/providers/tests/test_base.py ... [ 62%] :: lpcraft/providers/tests/test_buildd.py . [ 62%] :: lpcraft/providers/tests/test_get_provider.py . [ 63%] :: lpcraft/providers/tests/test_lxd.py .......................... [ 77%] :: lpcraft/tests/test_config.py ...................... [ 88%] :: lpcraft/tests/test_env.py .. [ 89%] :: lpcraft/tests/test_errors.py . [ 90%] :: lpcraft/tests/test_main.py ........ [ 94%] :: lpcraft/tests/test_utils.py .......... [100%] :: :: ============================= 188 passed in 2.55s ============================== :: py39 create: /build/lpcraft/project/.tox/py39 :: SKIPPED: InterpreterNotFound: python3.9 :: py310 create: /build/lpcraft/project/.tox/py310 :: SKIPPED: InterpreterNotFound: python3.10 :: coverage create: /build/lpcraft/project/.tox/coverage :: coverage installdeps: -rrequirements.txt, .[test] :: coverage inst: /build/lpcraft/project/.tox/.tmp/package/1/lpcraft-0.0.37.zip :: coverage installed: attrs==22.2.0,certifi==2022.6.15,charset-normalizer==2.1.0,coverage==7.0.4,craft-cli==1.2.0,craft-providers==1.4.2,exceptiongroup==1.1.0,extras==1.0.0,fakesleep==0.1,fancycompleter==0.9.1,fixtures==4.0.1,idna==3.3,iniconfig==2.0.0,Jinja2==3.1.2,lpcraft @ file:///build/lpcraft/project/.tox/.tmp/package/1/lpcraft-0.0.37.zip,MarkupSafe==2.1.1,packaging==23.0,pbr==5.11.0,pdbpp==0.10.3,platformdirs==2.5.2,pluggy==1.0.0,pydantic==1.9.2,Pygments==2.14.0,pyrepl==0.9.0,pytest==7.2.0,python-dotenv==0.20.0,PyYAML==6.0,requests==2.28.1,requests-mock==1.10.0,requests-unixsocket==0.3.0,responses==0.22.0,six==1.16.0,systemfixtures==0.6.7,testtools==2.5.0,toml==0.10.2,tomli==2.0.1,types-toml==0.10.8.1,typing_extensions==4.3.0,urllib3==1.26.11,wmctrl==0.4 :: coverage run-test-pre: PYTHONHASHSEED='1907491067' :: coverage run-test: commands[0] | coverage erase :: coverage run-test: commands[1] | coverage run -m pytest :: ============================= test session starts ============================== :: platform linux -- Python 3.8.10, pytest-7.2.0, pluggy-1.0.0 :: cachedir: .tox/coverage/.pytest_cache :: rootdir: /build/lpcraft/project :: plugins: requests-mock-1.10.0, craft-cli-1.2.0 :: collected 188 items :: :: lpcraft/commands/tests/test_clean.py .... [ 2%] :: lpcraft/commands/tests/test_run.py ..................................... [ 21%] :: ...................................... [ 42%] :: lpcraft/commands/tests/test_version.py ... [ 43%] :: lpcraft/plugin/tests/test_plugins.py ................................ [ 60%] :: lpcraft/providers/tests/test_base.py ... [ 62%] :: lpcraft/providers/tests/test_buildd.py . [ 62%] :: lpcraft/providers/tests/test_get_provider.py . [ 63%] :: lpcraft/providers/tests/test_lxd.py .......................... [ 77%] :: lpcraft/tests/test_config.py ...................... [ 88%] :: lpcraft/tests/test_env.py .. [ 89%] :: lpcraft/tests/test_errors.py . [ 90%] :: lpcraft/tests/test_main.py ........ [ 94%] :: lpcraft/tests/test_utils.py .......... [100%] :: :: ============================= 188 passed in 3.70s ============================== :: coverage run-test: commands[2] | coverage html :: Wrote HTML report to htmlcov/index.html :: coverage run-test: commands[3] | coverage report -m --fail-under=100 :: Name Stmts Miss Branch BrPart Cover Missing :: ------------------------------------------------------------------------------------------ :: lpcraft/__init__.py 0 0 0 0 100% :: lpcraft/_version.py 4 0 0 0 100% :: lpcraft/commands/__init__.py 0 0 0 0 100% :: lpcraft/commands/clean.py 21 0 0 0 100% :: lpcraft/commands/run.py 311 0 141 0 100% :: lpcraft/commands/tests/__init__.py 19 0 4 0 100% :: lpcraft/commands/tests/test_clean.py 42 0 2 0 100% :: lpcraft/commands/tests/test_run.py 1218 0 46 0 100% :: lpcraft/commands/tests/test_version.py 12 0 0 0 100% :: lpcraft/commands/version.py 11 0 0 0 100% :: lpcraft/config.py 138 0 30 0 100% :: lpcraft/env.py 6 0 0 0 100% :: lpcraft/errors.py 12 0 2 0 100% :: lpcraft/main.py 53 0 12 0 100% :: lpcraft/plugin/__init__.py 4 0 0 0 100% :: lpcraft/plugin/hookspecs.py 17 0 0 0 100% :: lpcraft/plugin/lib.py 17 0 4 0 100% :: lpcraft/plugin/manager.py 13 0 2 0 100% :: lpcraft/plugin/tests/__init__.py 0 0 0 0 100% :: lpcraft/plugin/tests/test_plugins.py 461 0 26 0 100% :: lpcraft/plugins/__init__.py 9 0 0 0 100% :: lpcraft/plugins/plugins.py 284 0 64 0 100% :: lpcraft/providers/__init__.py 5 0 0 0 100% :: lpcraft/providers/_base.py 32 0 4 0 100% :: lpcraft/providers/_buildd.py 11 0 2 0 100% :: lpcraft/providers/_lxd.py 102 0 14 0 100% :: lpcraft/providers/tests/__init__.py 25 0 8 0 100% :: lpcraft/providers/tests/test_base.py 5 0 0 0 100% :: lpcraft/providers/tests/test_buildd.py 7 0 0 0 100% :: lpcraft/providers/tests/test_get_provider.py 6 0 0 0 100% :: lpcraft/providers/tests/test_lxd.py 193 0 4 0 100% :: lpcraft/tests/__init__.py 0 0 0 0 100% :: lpcraft/tests/fixtures.py 22 0 4 0 100% :: lpcraft/tests/test_config.py 110 0 2 0 100% :: lpcraft/tests/test_env.py 8 0 0 0 100% :: lpcraft/tests/test_errors.py 5 0 0 0 100% :: lpcraft/tests/test_main.py 60 0 0 0 100% :: lpcraft/tests/test_utils.py 76 0 8 0 100% :: lpcraft/utils.py 33 0 12 0 100% :: ------------------------------------------------------------------------------------------ :: TOTAL 3352 0 391 0 100% :: docs create: /build/lpcraft/project/.tox/docs :: SKIPPED: InterpreterNotFound: python3.9 :: ___________________________________ summary ____________________________________ :: lint: commands succeeded :: mypy: commands succeeded :: py38: commands succeeded :: SKIPPED: py39: InterpreterNotFound: python3.9 :: SKIPPED: py310: InterpreterNotFound: python3.10 :: coverage: commands succeeded :: SKIPPED: docs: InterpreterNotFound: python3.9 :: congratulations :)