>>> py3-versioningit: Building testing/py3-versioningit 2.1.0-r2 (using abuild 3.11.0-r1) started Sat, 13 May 2023 12:58:40 +0000 >>> py3-versioningit: Checking sanity of /home/buildozer/aports/testing/py3-versioningit/APKBUILD... >>> py3-versioningit: Analyzing dependencies... >>> py3-versioningit: Installing for build: build-base python3 py3-setuptools py3-packaging py3-pydantic py3-gpep517 py3-installer py3-wheel mercurial py3-build py3-pytest py3-pytest-mock py3-pytest-cov (1/51) Installing libbz2 (1.0.8-r5) (2/51) Installing libffi (3.4.4-r2) (3/51) Installing gdbm (1.23-r1) (4/51) Installing xz-libs (5.4.3-r0) (5/51) Installing mpdecimal (2.5.1-r2) (6/51) Installing libpanelw (6.4_p20230506-r1) (7/51) Installing readline (8.2.1-r1) (8/51) Installing sqlite-libs (3.41.2-r2) (9/51) Installing python3 (3.11.3-r11) (10/51) Installing python3-pycache-pyc0 (3.11.3-r11) (11/51) Installing pyc (0.1-r0) (12/51) Installing python3-pyc (3.11.3-r11) (13/51) Installing py3-parsing (3.0.9-r2) (14/51) Installing py3-parsing-pyc (3.0.9-r2) (15/51) Installing py3-packaging (23.1-r1) (16/51) Installing py3-packaging-pyc (23.1-r1) (17/51) Installing py3-setuptools (67.7.2-r0) (18/51) Installing py3-setuptools-pyc (67.7.2-r0) (19/51) Installing py3-typing-extensions (4.5.0-r1) (20/51) Installing py3-typing-extensions-pyc (4.5.0-r1) (21/51) Installing py3-pydantic (1.10.7-r1) (22/51) Installing py3-pydantic-pyc (1.10.7-r1) (23/51) Installing py3-installer (0.7.0-r1) (24/51) Installing py3-installer-pyc (0.7.0-r1) (25/51) Installing py3-gpep517 (13-r2) (26/51) Installing py3-gpep517-pyc (13-r2) (27/51) Installing py3-wheel (0.40.0-r1) (28/51) Installing py3-wheel-pyc (0.40.0-r1) (29/51) Installing mercurial (6.4.3-r0) (30/51) Installing mercurial-pyc (6.4.3-r0) (31/51) Installing py3-pyproject-hooks (1.0.0-r1) (32/51) Installing py3-pyproject-hooks-pyc (1.0.0-r1) (33/51) Installing py3-build (0.10.0-r1) (34/51) Installing py3-build-pyc (0.10.0-r1) (35/51) Installing py3-iniconfig (1.1.1-r6) (36/51) Installing py3-iniconfig-pyc (1.1.1-r6) (37/51) Installing py3-pluggy (1.0.0-r3) (38/51) Installing py3-pluggy-pyc (1.0.0-r3) (39/51) Installing py3-py (1.11.0-r2) (40/51) Installing py3-py-pyc (1.11.0-r2) (41/51) Installing py3-pytest (7.3.1-r1) (42/51) Installing py3-pytest-pyc (7.3.1-r1) (43/51) Installing py3-mock (5.0.2-r1) (44/51) Installing py3-mock-pyc (5.0.2-r1) (45/51) Installing py3-pytest-mock (3.10.0-r2) (46/51) Installing py3-pytest-mock-pyc (3.10.0-r2) (47/51) Installing py3-coverage (6.5.0-r4) (48/51) Installing py3-coverage-pyc (6.5.0-r4) (49/51) Installing py3-pytest-cov (4.0.0-r2) (50/51) Installing py3-pytest-cov-pyc (4.0.0-r2) (51/51) Installing .makedepends-py3-versioningit (20230513.125841) Executing busybox-1.36.0-r9.trigger OK: 407 MiB in 151 packages >>> py3-versioningit: Cleaning up srcdir >>> py3-versioningit: Cleaning up pkgdir >>> py3-versioningit: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-versioningit-2.1.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 58 573k 58 335k 0 0 320k 0 0:00:01 0:00:01 --:--:-- 320k 100 573k 100 573k 0 0 443k 0 0:00:01 0:00:01 --:--:-- 443k >>> py3-versioningit: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-versioningit-2.1.0.tar.gz >>> py3-versioningit: Checking sha512sums... py3-versioningit-2.1.0.tar.gz: OK >>> py3-versioningit: Unpacking /var/cache/distfiles/edge/py3-versioningit-2.1.0.tar.gz... 2023-05-13 12:58:43,399 gpep517 INFO Building wheel via backend setuptools.build_meta 2023-05-13 12:58:43,440 root INFO running bdist_wheel 2023-05-13 12:58:43,450 root INFO running build 2023-05-13 12:58:43,450 root INFO running build_py 2023-05-13 12:58:43,453 root INFO creating build 2023-05-13 12:58:43,453 root INFO creating build/lib 2023-05-13 12:58:43,453 root INFO creating build/lib/versioningit 2023-05-13 12:58:43,453 root INFO copying src/versioningit/__init__.py -> build/lib/versioningit 2023-05-13 12:58:43,453 root INFO copying src/versioningit/core.py -> build/lib/versioningit 2023-05-13 12:58:43,453 root INFO copying src/versioningit/logging.py -> build/lib/versioningit 2023-05-13 12:58:43,454 root INFO copying src/versioningit/basics.py -> build/lib/versioningit 2023-05-13 12:58:43,454 root INFO copying src/versioningit/next_version.py -> build/lib/versioningit 2023-05-13 12:58:43,454 root INFO copying src/versioningit/git.py -> build/lib/versioningit 2023-05-13 12:58:43,454 root INFO copying src/versioningit/cmdclasses.py -> build/lib/versioningit 2023-05-13 12:58:43,454 root INFO copying src/versioningit/hook.py -> build/lib/versioningit 2023-05-13 12:58:43,454 root INFO copying src/versioningit/__main__.py -> build/lib/versioningit 2023-05-13 12:58:43,455 root INFO copying src/versioningit/util.py -> build/lib/versioningit 2023-05-13 12:58:43,455 root INFO copying src/versioningit/errors.py -> build/lib/versioningit 2023-05-13 12:58:43,455 root INFO copying src/versioningit/methods.py -> build/lib/versioningit 2023-05-13 12:58:43,455 root INFO copying src/versioningit/config.py -> build/lib/versioningit 2023-05-13 12:58:43,455 root INFO copying src/versioningit/onbuild.py -> build/lib/versioningit 2023-05-13 12:58:43,455 root INFO copying src/versioningit/hg.py -> build/lib/versioningit 2023-05-13 12:58:43,456 root INFO running egg_info 2023-05-13 12:58:43,460 root INFO creating src/versioningit.egg-info 2023-05-13 12:58:43,461 root INFO writing src/versioningit.egg-info/PKG-INFO 2023-05-13 12:58:43,461 root INFO writing dependency_links to src/versioningit.egg-info/dependency_links.txt 2023-05-13 12:58:43,462 root INFO writing entry points to src/versioningit.egg-info/entry_points.txt 2023-05-13 12:58:43,462 root INFO writing requirements to src/versioningit.egg-info/requires.txt 2023-05-13 12:58:43,462 root INFO writing top-level names to src/versioningit.egg-info/top_level.txt 2023-05-13 12:58:43,462 root INFO writing manifest file 'src/versioningit.egg-info/SOURCES.txt' 2023-05-13 12:58:43,464 root INFO reading manifest file 'src/versioningit.egg-info/SOURCES.txt' 2023-05-13 12:58:43,464 root INFO reading manifest template 'MANIFEST.in' 2023-05-13 12:58:43,465 root WARNING warning: no files found matching 'CONTRIBUTORS.*' 2023-05-13 12:58:43,465 root WARNING no previously-included directories found matching 'docs/_build' 2023-05-13 12:58:43,468 root WARNING warning: no previously-included files matching '*.py[cod]' found anywhere in distribution 2023-05-13 12:58:43,468 root INFO adding license file 'LICENSE' 2023-05-13 12:58:43,470 root INFO writing manifest file 'src/versioningit.egg-info/SOURCES.txt' 2023-05-13 12:58:43,472 root INFO copying src/versioningit/py.typed -> build/lib/versioningit 2023-05-13 12:58:43,476 wheel INFO installing to build/bdist.linux-armv8l/wheel 2023-05-13 12:58:43,477 root INFO running install 2023-05-13 12:58:43,484 root INFO running install_lib 2023-05-13 12:58:43,486 root INFO creating build/bdist.linux-armv8l 2023-05-13 12:58:43,486 root INFO creating build/bdist.linux-armv8l/wheel 2023-05-13 12:58:43,486 root INFO creating build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,486 root INFO copying build/lib/versioningit/__init__.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,486 root INFO copying build/lib/versioningit/core.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,487 root INFO copying build/lib/versioningit/logging.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,487 root INFO copying build/lib/versioningit/basics.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,487 root INFO copying build/lib/versioningit/next_version.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,487 root INFO copying build/lib/versioningit/git.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,487 root INFO copying build/lib/versioningit/cmdclasses.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,487 root INFO copying build/lib/versioningit/hook.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/__main__.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/util.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/errors.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/methods.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/py.typed -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/config.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,488 root INFO copying build/lib/versioningit/onbuild.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,489 root INFO copying build/lib/versioningit/hg.py -> build/bdist.linux-armv8l/wheel/versioningit 2023-05-13 12:58:43,489 root INFO running install_egg_info 2023-05-13 12:58:43,492 root INFO Copying src/versioningit.egg-info to build/bdist.linux-armv8l/wheel/versioningit-2.1.0-py3.11.egg-info 2023-05-13 12:58:43,493 root INFO running install_scripts 2023-05-13 12:58:43,495 wheel INFO creating build/bdist.linux-armv8l/wheel/versioningit-2.1.0.dist-info/WHEEL 2023-05-13 12:58:43,495 wheel INFO creating '/home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/dist/.tmp-vzv08qe3/versioningit-2.1.0-py3-none-any.whl' and adding 'build/bdist.linux-armv8l/wheel' to it 2023-05-13 12:58:43,496 wheel INFO adding 'versioningit/__init__.py' 2023-05-13 12:58:43,496 wheel INFO adding 'versioningit/__main__.py' 2023-05-13 12:58:43,496 wheel INFO adding 'versioningit/basics.py' 2023-05-13 12:58:43,496 wheel INFO adding 'versioningit/cmdclasses.py' 2023-05-13 12:58:43,496 wheel INFO adding 'versioningit/config.py' 2023-05-13 12:58:43,497 wheel INFO adding 'versioningit/core.py' 2023-05-13 12:58:43,497 wheel INFO adding 'versioningit/errors.py' 2023-05-13 12:58:43,497 wheel INFO adding 'versioningit/git.py' 2023-05-13 12:58:43,497 wheel INFO adding 'versioningit/hg.py' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/hook.py' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/logging.py' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/methods.py' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/next_version.py' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/onbuild.py' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/py.typed' 2023-05-13 12:58:43,498 wheel INFO adding 'versioningit/util.py' 2023-05-13 12:58:43,499 wheel INFO adding 'versioningit-2.1.0.dist-info/LICENSE' 2023-05-13 12:58:43,499 wheel INFO adding 'versioningit-2.1.0.dist-info/METADATA' 2023-05-13 12:58:43,499 wheel INFO adding 'versioningit-2.1.0.dist-info/WHEEL' 2023-05-13 12:58:43,499 wheel INFO adding 'versioningit-2.1.0.dist-info/entry_points.txt' 2023-05-13 12:58:43,499 wheel INFO adding 'versioningit-2.1.0.dist-info/top_level.txt' 2023-05-13 12:58:43,499 wheel INFO adding 'versioningit-2.1.0.dist-info/RECORD' 2023-05-13 12:58:43,500 wheel INFO removing build/bdist.linux-armv8l/wheel 2023-05-13 12:58:43,500 gpep517 INFO The backend produced dist/versioningit-2.1.0-py3-none-any.whl versioningit-2.1.0-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.11.3, pytest-7.3.1, pluggy-1.0.0 -- /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/testenv/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0 configfile: tox.ini plugins: mock-3.10.0, cov-4.0.0 collecting ... collected 491 items / 3 deselected / 488 selected test/test_config.py::test_parse_toml_file[custom-methods] PASSED [ 0%] test/test_config.py::test_parse_toml_file[custom-paramless] PASSED [ 0%] test/test_config.py::test_parse_toml_file[empty] PASSED [ 0%] test/test_config.py::test_parse_toml_file[paramless] PASSED [ 0%] test/test_config.py::test_parse_toml_file[params] PASSED [ 1%] test/test_config.py::test_parse_toml_file[step-args] PASSED [ 1%] test/test_config.py::test_parse_bad_toml_file[bad-method] PASSED [ 1%] test/test_config.py::test_parse_bad_toml_file[bad-module-dir] PASSED [ 1%] test/test_config.py::test_parse_bad_toml_file[bad-module] PASSED [ 1%] test/test_config.py::test_parse_bad_toml_file[bad-section] PASSED [ 2%] test/test_config.py::test_parse_bad_toml_file[bad-value] PASSED [ 2%] test/test_config.py::test_parse_bad_toml_file[bad-ving] PASSED [ 2%] test/test_config.py::test_parse_bad_toml_file[no-module] PASSED [ 2%] test/test_config.py::test_parse_bad_toml_file[no-value] PASSED [ 2%] test/test_config.py::test_parse_bad_toml_file[no-ving] PASSED [ 3%] test/test_config.py::test_parse_obj_callable_methods PASSED [ 3%] test/test_end2end.py::test_end2end[git/added-no-commits-default-tag] PASSED [ 3%] test/test_end2end.py::test_end2end[git/archive-repo-exclude] PASSED [ 3%] test/test_end2end.py::test_end2end[git/archive-repo-match] PASSED [ 3%] test/test_end2end.py::test_end2end[git/archive-repo-mixed-tags] PASSED [ 4%] test/test_end2end.py::test_end2end[git/archive-repo-mixed] PASSED [ 4%] test/test_end2end.py::test_end2end[git/archive-repo] PASSED [ 4%] test/test_end2end.py::test_end2end[git/custom-format-dirty] PASSED [ 4%] test/test_end2end.py::test_end2end[git/custom-format-distance-dirty] PASSED [ 4%] test/test_end2end.py::test_end2end[git/custom-format-distance] PASSED [ 5%] test/test_end2end.py::test_end2end[git/custom-method-pkg] PASSED [ 5%] test/test_end2end.py::test_end2end[git/custom-method-src] PASSED [ 5%] test/test_end2end.py::test_end2end[git/custom-method] PASSED [ 5%] test/test_end2end.py::test_end2end[git/default-tag] PASSED [ 5%] test/test_end2end.py::test_end2end[git/default-version-onbuild-write] PASSED [ 6%] test/test_end2end.py::test_end2end[git/default-version] PASSED [ 6%] test/test_end2end.py::test_end2end[git/detached-exact] PASSED [ 6%] test/test_end2end.py::test_end2end[git/dirty] PASSED [ 6%] test/test_end2end.py::test_end2end[git/distance-dirty] PASSED [ 6%] test/test_end2end.py::test_end2end[git/distance] PASSED [ 7%] test/test_end2end.py::test_end2end[git/exact-annotated] PASSED [ 7%] test/test_end2end.py::test_end2end[git/exact] PASSED [ 7%] test/test_end2end.py::test_end2end[git/exclude] PASSED [ 7%] test/test_end2end.py::test_end2end[git/match] PASSED [ 7%] test/test_end2end.py::test_end2end[git/onbuild-bases] PASSED [ 8%] test/test_end2end.py::test_end2end[git/onbuild-nonidem] PASSED [ 8%] test/test_end2end.py::test_end2end[git/onbuild-write-fields] PASSED [ 8%] test/test_end2end.py::test_end2end[git/onbuild-write] PASSED [ 8%] test/test_end2end.py::test_end2end[git/onbuild] PASSED [ 9%] test/test_end2end.py::test_end2end[git/write-encoding] PASSED [ 9%] test/test_end2end.py::test_end2end[git/write-py] PASSED [ 9%] test/test_end2end.py::test_end2end[git/write-template] PASSED [ 9%] test/test_end2end.py::test_end2end[git/write-txt] PASSED [ 9%] test/test_end2end.py::test_end2end[hg/added-no-commits-default-tag] PASSED [ 10%] test/test_end2end.py::test_end2end[hg/default-tag] PASSED [ 10%] test/test_end2end.py::test_end2end[hg/dirty] PASSED [ 10%] test/test_end2end.py::test_end2end[hg/distance-dirty] PASSED [ 10%] test/test_end2end.py::test_end2end[hg/distance] PASSED [ 10%] test/test_end2end.py::test_end2end[hg/exact] PASSED [ 11%] test/test_end2end.py::test_end2end[hg/multi-tag] PASSED [ 11%] test/test_end2end.py::test_end2end[hg/pattern] PASSED [ 11%] test/test_end2end.py::test_end2end[archives/git-archive-distance] PASSED [ 11%] test/test_end2end.py::test_end2end[archives/git-archive-exact] PASSED [ 11%] test/test_end2end.py::test_end2end[archives/hg-archive-default-tag] PASSED [ 12%] test/test_end2end.py::test_end2end[archives/hg-archive-distance] PASSED [ 12%] test/test_end2end.py::test_end2end[archives/hg-archive-exact] PASSED [ 12%] test/test_end2end.py::test_end2end_no_versioningit PASSED [ 12%] test/test_end2end.py::test_end2end_no_pyproject PASSED [ 12%] test/test_end2end.py::test_get_version_config_only[no-versioningit.zip-0.1.0.post1+g1300c65] PASSED [ 13%] test/test_end2end.py::test_get_version_config_only[no-pyproject.zip-0.1.0.post1+g6bedd1f] PASSED [ 13%] test/test_end2end.py::test_end2end_error[errors/no-tag] PASSED [ 13%] test/test_end2end.py::test_end2end_error[errors/template-fields-error] PASSED [ 13%] test/test_end2end.py::test_end2end_version_not_found[no-git.zip] PASSED [ 13%] test/test_end2end.py::test_end2end_version_not_found[shallow.zip] PASSED [ 14%] test/test_end2end.py::test_build_from_sdist PASSED [ 14%] test/test_end2end.py::test_build_wheel_directly PASSED [ 14%] test/test_end2end.py::test_setup_py PASSED [ 14%] test/test_get_version.py::test_get_version_no_git_fallback PASSED [ 14%] test/test_get_version.py::test_get_version_no_git_no_fallback PASSED [ 15%] test/test_logging.py::test_parse_log_level[CRITICAL-50] PASSED [ 15%] test/test_logging.py::test_parse_log_level[critical-50] PASSED [ 15%] test/test_logging.py::test_parse_log_level[cRiTiCaL-50] PASSED [ 15%] test/test_logging.py::test_parse_log_level[50-50] PASSED [ 15%] test/test_logging.py::test_parse_log_level[ERROR-40] PASSED [ 16%] test/test_logging.py::test_parse_log_level[error-40] PASSED [ 16%] test/test_logging.py::test_parse_log_level[ErRoR-40] PASSED [ 16%] test/test_logging.py::test_parse_log_level[40-40] PASSED [ 16%] test/test_logging.py::test_parse_log_level[WARNING-30] PASSED [ 17%] test/test_logging.py::test_parse_log_level[warning-30] PASSED [ 17%] test/test_logging.py::test_parse_log_level[WaRnInG-30] PASSED [ 17%] test/test_logging.py::test_parse_log_level[30-30] PASSED [ 17%] test/test_logging.py::test_parse_log_level[INFO-20] PASSED [ 17%] test/test_logging.py::test_parse_log_level[info-20] PASSED [ 18%] test/test_logging.py::test_parse_log_level[iNfO-20] PASSED [ 18%] test/test_logging.py::test_parse_log_level[20-20] PASSED [ 18%] test/test_logging.py::test_parse_log_level[DEBUG-10] PASSED [ 18%] test/test_logging.py::test_parse_log_level[debug-10] PASSED [ 18%] test/test_logging.py::test_parse_log_level[dEbUg-10] PASSED [ 19%] test/test_logging.py::test_parse_log_level[10-10] PASSED [ 19%] test/test_logging.py::test_parse_log_level[NOTSET-0] PASSED [ 19%] test/test_logging.py::test_parse_log_level[notset-0] PASSED [ 19%] test/test_logging.py::test_parse_log_level[NoTsEt-0] PASSED [ 19%] test/test_logging.py::test_parse_log_level[0-0] PASSED [ 20%] test/test_logging.py::test_parse_log_level[42-42] PASSED [ 20%] test/test_logging.py::test_parse_log_level[ 42 -42] PASSED [ 20%] test/test_logging.py::test_parse_log_level_bad[x] PASSED [ 20%] test/test_logging.py::test_parse_log_level_bad[logging.INFO] PASSED [ 20%] test/test_logging.py::test_parse_log_level_bad[VERBOSE] PASSED [ 21%] test/test_logging.py::test_warn_extra_fields_empty PASSED [ 21%] test/test_logging.py::test_warn_extra_fields_some PASSED [ 21%] test/test_logging.py::test_warn_bad_version_good[0.1.0] PASSED [ 21%] test/test_logging.py::test_warn_bad_version_good[0.1.0a] PASSED [ 21%] test/test_logging.py::test_warn_bad_version_good[01.02.03] PASSED [ 22%] test/test_logging.py::test_warn_bad_version_good[v0.1.0] PASSED [ 22%] test/test_logging.py::test_warn_bad_version_bad[] PASSED [ 22%] test/test_logging.py::test_warn_bad_version_bad[0.1.] PASSED [ 22%] test/test_logging.py::test_warn_bad_version_bad[1!] PASSED [ 22%] test/test_logging.py::test_warn_bad_version_bad[0.1.0j] PASSED [ 23%] test/test_logging.py::test_warn_bad_version_bad[0.1.0-extra] PASSED [ 23%] test/test_logging.py::test_warn_bad_version_bad[rel-0.1.0] PASSED [ 23%] test/test_logging.py::test_warn_bad_version_bad[1!v1.2.3] PASSED [ 23%] test/test_logging.py::test_warn_bad_version_bad[1!2!3] PASSED [ 23%] test/test_main.py::test_command PASSED [ 24%] test/test_main.py::test_command_arg PASSED [ 24%] test/test_main.py::test_command_write PASSED [ 24%] test/test_main.py::test_command_next_version PASSED [ 24%] test/test_main.py::test_command_next_version_arg PASSED [ 25%] test/test_main.py::test_command_verbose[-v-None-20] PASSED [ 25%] test/test_main.py::test_command_verbose[-vv-None-10] PASSED [ 25%] test/test_main.py::test_command_verbose[-vvv-None-10] PASSED [ 25%] test/test_main.py::test_command_verbose[None-None-30] PASSED [ 25%] test/test_main.py::test_command_verbose[None-ERROR-40] PASSED [ 26%] test/test_main.py::test_command_verbose[None-WARNING-30] PASSED [ 26%] test/test_main.py::test_command_verbose[None-INFO-20] PASSED [ 26%] test/test_main.py::test_command_verbose[None-DEBUG-10] PASSED [ 26%] test/test_main.py::test_command_verbose[-v-ERROR-20] PASSED [ 26%] test/test_main.py::test_command_verbose[-v-WARNING-20] PASSED [ 27%] test/test_main.py::test_command_verbose[-v-DEBUG-10] PASSED [ 27%] test/test_main.py::test_command_verbose[-vv-INFO-10] PASSED [ 27%] test/test_main.py::test_command_verbose[-vv-5-5] PASSED [ 27%] test/test_main.py::test_command_verbose[-vvv-DEBUG-10] PASSED [ 27%] test/test_main.py::test_command_error PASSED [ 28%] test/test_main.py::test_command_subprocess_error[argv0-git 'get details'] PASSED [ 28%] test/test_main.py::test_command_subprocess_error[argv1-git 'get details'] PASSED [ 28%] test/test_main.py::test_command_subprocess_error[argv2-git -C foo gitify] PASSED [ 28%] test/test_main.py::test_command_subprocess_error[git 'get details'-git 'get details'0] PASSED [ 28%] test/test_main.py::test_command_subprocess_error[git 'get details'-git 'get details'1] PASSED [ 29%] test/test_main.py::test_command_subprocess_error[argv5-git-get-details] PASSED [ 29%] test/test_util.py::test_strip_prefix[foobar-foo-bar] PASSED [ 29%] test/test_util.py::test_strip_prefix[foobar-bar-foobar] PASSED [ 29%] test/test_util.py::test_strip_prefix[foobar--foobar] PASSED [ 29%] test/test_util.py::test_strip_prefix[foobar-foobar-] PASSED [ 30%] test/test_util.py::test_strip_prefix[foobar-foobarx-foobar] PASSED [ 30%] test/test_util.py::test_strip_prefix[foobar-xfoobar-foobar] PASSED [ 30%] test/test_util.py::test_strip_suffix[foobar-bar-foo] PASSED [ 30%] test/test_util.py::test_strip_suffix[foobar-foo-foobar] PASSED [ 30%] test/test_util.py::test_strip_suffix[foobar--foobar] PASSED [ 31%] test/test_util.py::test_strip_suffix[foobar-foobar-] PASSED [ 31%] test/test_util.py::test_strip_suffix[foobar-foobarx-foobar] PASSED [ 31%] test/test_util.py::test_strip_suffix[foobar-xfoobar-foobar] PASSED [ 31%] test/test_util.py::test_get_build_date_envvar PASSED [ 31%] test/test_util.py::test_get_build_date_now PASSED [ 32%] test/test_util.py::test_get_build_date_bad_epoch PASSED [ 32%] test/test_util.py::test_str_guard_str PASSED [ 32%] test/test_util.py::test_str_guard_not_str PASSED [ 32%] test/test_util.py::test_optional_str_guard_good[] PASSED [ 32%] test/test_util.py::test_optional_str_guard_good[None] PASSED [ 33%] test/test_util.py::test_optional_str_guard_not_bad PASSED [ 33%] test/test_util.py::test_list_str_guard_good[xs0] PASSED [ 33%] test/test_util.py::test_list_str_guard_good[xs1] PASSED [ 33%] test/test_util.py::test_list_str_guard_good[xs2] PASSED [ 34%] test/test_util.py::test_list_str_guard_bad[foo] PASSED [ 34%] test/test_util.py::test_list_str_guard_bad[x1] PASSED [ 34%] test/test_util.py::test_list_str_guard_bad[x2] PASSED [ 34%] test/test_util.py::test_list_str_guard_bad[x3] PASSED [ 34%] test/test_util.py::test_bool_guard_bool[True] PASSED [ 35%] test/test_util.py::test_bool_guard_bool[False] PASSED [ 35%] test/test_util.py::test_bool_guard_not_bool[None] PASSED [ 35%] test/test_util.py::test_bool_guard_not_bool[1] PASSED [ 35%] test/test_util.py::test_bool_guard_not_bool[yes] PASSED [ 35%] test/test_util.py::test_bool_guard_not_bool[0] PASSED [ 36%] test/test_util.py::test_bool_guard_not_bool[no] PASSED [ 36%] test/test_util.py::test_bool_guard_not_bool[v5] PASSED [ 36%] test/test_util.py::test_bool_guard_not_bool[bar] PASSED [ 36%] test/test_util.py::test_bool_guard_not_bool[42] PASSED [ 36%] test/test_util.py::test_fromtimestamp[1234567890-dt0] PASSED [ 37%] test/test_util.py::test_fromtimestamp[1625686098-dt1] PASSED [ 37%] test/test_util.py::test_fromtimestamp[2147483647-dt2] PASSED [ 37%] test/test_util.py::test_showcmd[cmd0-git commit] PASSED [ 37%] test/test_util.py::test_showcmd[cmd1-git commit -m 'The commit message'] PASSED [ 37%] test/test_util.py::test_showcmd[cmd2-git add dir/file.txt] PASSED [ 38%] test/test_util.py::test_showcmd[cmd3-git add 'dir\\file.txt'] SKIPPED [ 38%] test/test_util.py::test_parse_version_from_metadata[desc-in-header.eml-0.1.0.post2+g4d891e7] PASSED [ 38%] test/test_util.py::test_parse_version_from_metadata[desc-in-payload.eml-0.1.0.post2+g4d891e7] PASSED [ 38%] test/test_util.py::test_parse_version_from_metadata[version-after-desc.eml-0.1.0.post2+g4d891e7] PASSED [ 38%] test/test_util.py::test_parse_version_from_metadata_bad[no-version.eml] PASSED [ 39%] test/test_util.py::test_parse_version_from_metadata_bad[no-version-payload.eml] PASSED [ 39%] test/test_util.py::test_parse_version_from_metadata_bad[version-in-desc.eml] PASSED [ 39%] test/test_util.py::test_parse_describe_opts[$Format:%(describe)$-opts0-args0] PASSED [ 39%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:)$-opts1-args1] PASSED [ 39%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags)$-opts2-args2] PASSED [ 40%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags,)$-opts3-args3] PASSED [ 40%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=yes)$-opts4-args4] PASSED [ 40%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=YES)$-opts5-args5] PASSED [ 40%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=Yes)$-opts6-args6] PASSED [ 40%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=on)$-opts7-args7] PASSED [ 41%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=ON)$-opts8-args8] PASSED [ 41%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=true)$-opts9-args9] PASSED [ 41%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=True)$-opts10-args10] PASSED [ 41%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=1)$-opts11-args11] PASSED [ 42%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=no)$-opts12-args12] PASSED [ 42%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=No)$-opts13-args13] PASSED [ 42%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=off)$-opts14-args14] PASSED [ 42%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=OFF)$-opts15-args15] PASSED [ 42%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=false)$-opts16-args16] PASSED [ 43%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=fAlsE)$-opts17-args17] PASSED [ 43%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=0)$-opts18-args18] PASSED [ 43%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=)$-opts19-args19] PASSED [ 43%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=ja)$-opts20-args20] PASSED [ 43%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=yes,tags=)$-opts21-args21] PASSED [ 44%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=,tags=yes)$-opts22-args22] PASSED [ 44%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:match=v*)$-opts23-args23] PASSED [ 44%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:match=v*,match=rel*)$-opts24-args24] PASSED [ 44%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:match=v*,exclude=*rc,match=rel*)$-opts25-args25] PASSED [ 44%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:match=v*,tags,exclude=*rc,match=rel*)$-opts26-args26] PASSED [ 45%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:exclude=\\,)$-opts27-args27] PASSED [ 45%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:exclude=\\*,)$-opts28-args28] PASSED [ 45%] test/test_util.py::test_parse_bad_describe_opts[%(describe)-Expected string in format '$Format:%(describe[:options])$', got '%(describe)'] PASSED [ 45%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe=tags)$-Expected string in format '$Format:%(describe[:options])$', got '$Format:%(describe=tags)$'] PASSED [ 45%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe,tags)$-Expected string in format '$Format:%(describe[:options])$', got '$Format:%(describe,tags)$'] PASSED [ 46%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:,)$-Unknown option: ''] PASSED [ 46%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:,tags)$-Unknown option: ''] PASSED [ 46%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:tags,,)$-Unknown option: ''] PASSED [ 46%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:match)$-Option missing value: 'match'] PASSED [ 46%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:match=)$-Option missing value: 'match='] PASSED [ 47%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:exclude)$-Option missing value: 'exclude'] PASSED [ 47%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:exclude=)$-Option missing value: 'exclude='] PASSED [ 47%] test/test_util.py::test_parse_bad_describe_opts[$Format:%(describe:unknown=value)$-Unknown option: 'unknown=value'] PASSED [ 47%] test/test_util.py::test_split_version[1.2.3+local.2022-None-True-(1, 2, 3, "local", 2022)] PASSED [ 47%] test/test_util.py::test_split_version[1.2.3-1-None-True-(1, 2, 3, 1)] PASSED [ 48%] test/test_util.py::test_split_version[1.2.3_r2-None-True-(1, 2, 3, "r2")] PASSED [ 48%] test/test_util.py::test_split_version[1!2.3.4-None-True-(1, 2, 3, 4)] PASSED [ 48%] test/test_util.py::test_split_version[1.2.3+local.2022-\\.|(\\+.+)-True-(1, 2, 3, "+local.2022")] PASSED [ 48%] test/test_util.py::test_split_version[1.2.3_r2-None-False-(1, 2, 3, 'r2')] PASSED [ 48%] test/test_util.py::test_split_version[1.2.3j-None-True-(1, 2, "3j")] PASSED [ 49%] test/test_util.py::test_split_pep440_version[1.2.3-True-None-(1, 2, 3)] PASSED [ 49%] test/test_util.py::test_split_pep440_version[1.2.3-True-True-(0, 1, 2, 3)] PASSED [ 49%] test/test_util.py::test_split_pep440_version[1.2.3-True-False-(1, 2, 3)] PASSED [ 49%] test/test_util.py::test_split_pep440_version[1!2.3.4-True-None-(1, 2, 3, 4)] PASSED [ 50%] test/test_util.py::test_split_pep440_version[1!2.3.4-True-True-(1, 2, 3, 4)] PASSED [ 50%] test/test_util.py::test_split_pep440_version[1!2.3.4-True-False-(2, 3, 4)] PASSED [ 50%] test/test_util.py::test_split_pep440_version[0.1.0-True-None-(0, 1, 0)] PASSED [ 50%] test/test_util.py::test_split_pep440_version[1.0.0.0-True-None-(1, 0, 0, 0)] PASSED [ 50%] test/test_util.py::test_split_pep440_version[1.2.3a0-True-None-(1, 2, 3, "a0")] PASSED [ 51%] test/test_util.py::test_split_pep440_version[1.2.3a0.dev1-True-None-(1, 2, 3, "a0", "dev1")] PASSED [ 51%] test/test_util.py::test_split_pep440_version[1.2.3a0.dev1-False-None-(1, 2, 3, 'a0', 'dev1')] PASSED [ 51%] test/test_util.py::test_split_pep440_version[1.2.3a0.post1-True-None-(1, 2, 3, "a0", "post1")] PASSED [ 51%] test/test_util.py::test_split_pep440_version[1.2.3-1-True-None-(1, 2, 3, "post1")] PASSED [ 51%] test/test_util.py::test_split_pep440_version[1.2.3a0.post1.dev1-True-None-(1, 2, 3, "a0", "post1", "dev1")] PASSED [ 52%] test/test_util.py::test_split_pep440_version[1.2.3a0.post1.dev1+local-True-None-(1, 2, 3, "a0", "post1", "dev1", "+local")] PASSED [ 52%] test/test_util.py::test_split_pep440_version[1.2.3.dev1-True-None-(1, 2, 3, "dev1")] PASSED [ 52%] test/test_util.py::test_split_pep440_version[1.2.3+local-True-None-(1, 2, 3, "+local")] PASSED [ 52%] test/test_util.py::test_split_pep440_version_bad_version PASSED [ 52%] test/test_util.py::test_qqrepr[foo-"foo"] PASSED [ 53%] test/test_util.py::test_qqrepr[they're-"they're"] PASSED [ 53%] test/test_util.py::test_qqrepr["Beware the Jabberwock, my son!"-"\\"Beware the Jabberwock, my son!\\""] PASSED [ 53%] test/test_util.py::test_ensure_terminated[-\n] PASSED [ 53%] test/test_util.py::test_ensure_terminated[\n-\n] PASSED [ 53%] test/test_util.py::test_ensure_terminated[\u2028-\u2028] PASSED [ 54%] test/test_util.py::test_ensure_terminated[foobar-foobar\n] PASSED [ 54%] test/test_util.py::test_ensure_terminated[foobar\n-foobar\n] PASSED [ 54%] test/test_util.py::test_ensure_terminated[foobar\u2028-foobar\u2028] PASSED [ 54%] test/test_util.py::test_ensure_terminated[foobar\r-foobar\r] PASSED [ 54%] test/test_util.py::test_ensure_terminated[foobar\r\n-foobar\r\n] PASSED [ 55%] test/test_util.py::test_ensure_terminated[foobar\n\r-foobar\n\r] PASSED [ 55%] test/test_util.py::test_ensure_terminated[foo\nbar-foo\nbar\n] PASSED [ 55%] test/test_methods/test_format.py::test_basic_format[description0-0.1.0-0.2.0-params0-0.1.0.post5+gabcdef0] PASSED [ 55%] test/test_methods/test_format.py::test_basic_format[description1-0.1.0-0.2.0-params1-0.1.0+d20380119] PASSED [ 55%] test/test_methods/test_format.py::test_basic_format[description2-0.1.0-0.2.0-params2-0.1.0.post5+gabcdef0.d20380119] PASSED [ 56%] test/test_methods/test_format.py::test_basic_format[description3-0.1.0-0.2.0-params3-0.2.0.dev5+gabcdef0] PASSED [ 56%] test/test_methods/test_format.py::test_basic_format[description4-0.1.0-0.2.0-params4-0.2.0+feature.acme.abcdef0] PASSED [ 56%] test/test_methods/test_format.py::test_basic_format[description5-0.1.0-0.2.0-params5-0.2.0+None.abcdef0] PASSED [ 56%] test/test_methods/test_format.py::test_basic_format[description6-0.1.0-0.2.0-params6-0.1.0+main.2038.01.19] PASSED [ 56%] test/test_methods/test_format.py::test_basic_format_invalid_state PASSED [ 57%] test/test_methods/test_git.py::test_describe_git[exact-params0-description0] PASSED [ 57%] test/test_methods/test_git.py::test_describe_git[distance-params1-description1] PASSED [ 57%] test/test_methods/test_git.py::test_describe_git[distance-dirty-params2-description2] PASSED [ 57%] test/test_methods/test_git.py::test_describe_git[default-tag-params3-description3] PASSED [ 57%] test/test_methods/test_git.py::test_describe_git[match-params4-description4] PASSED [ 58%] test/test_methods/test_git.py::test_describe_git[match-params5-description5] PASSED [ 58%] test/test_methods/test_git.py::test_describe_git[exclude-params6-description6] PASSED [ 58%] test/test_methods/test_git.py::test_describe_git[exclude-params7-description7] PASSED [ 58%] test/test_methods/test_git.py::test_describe_git[detached-exact-params8-description8] PASSED [ 59%] test/test_methods/test_git.py::test_describe_git_no_tag PASSED [ 59%] test/test_methods/test_git.py::test_describe_git_no_repo PASSED [ 59%] test/test_methods/test_git.py::test_describe_git_no_commits[params0] PASSED [ 59%] test/test_methods/test_git.py::test_describe_git_no_commits[params1] PASSED [ 59%] test/test_methods/test_git.py::test_describe_git_added_no_commits PASSED [ 60%] test/test_methods/test_git.py::test_describe_git_no_clamp_dates PASSED [ 60%] test/test_methods/test_git.py::test_describe_git_archive_no_describe_subst PASSED [ 60%] test/test_methods/test_git.py::test_describe_git_archive_empty_describe_subst PASSED [ 60%] test/test_methods/test_git.py::test_describe_git_archive_unexpanded_describe_subst[False] PASSED [ 60%] test/test_methods/test_git.py::test_describe_git_archive_unexpanded_describe_subst[True] PASSED [ 61%] test/test_methods/test_git.py::test_describe_git_archive_bad_expanded_describe_subst[%(describe)-False] PASSED [ 61%] test/test_methods/test_git.py::test_describe_git_archive_bad_expanded_describe_subst[%(describe)-True] PASSED [ 61%] test/test_methods/test_git.py::test_describe_git_archive_bad_expanded_describe_subst[%(describe:unknown=value)-False] PASSED [ 61%] test/test_methods/test_git.py::test_describe_git_archive_bad_expanded_describe_subst[%(describe:unknown=value)-True] PASSED [ 61%] test/test_methods/test_git.py::test_describe_git_archive_repo_unset_describe_subst PASSED [ 62%] test/test_methods/test_git.py::test_describe_git_archive_repo_bad_describe_subst PASSED [ 62%] test/test_methods/test_git.py::test_describe_git_archive_added_no_commits_default_tag PASSED [ 62%] test/test_methods/test_git.py::test_describe_git_archive_lightweight_only PASSED [ 62%] test/test_methods/test_git.py::test_describe_git_archive_lightweight_only_default_tag PASSED [ 62%] test/test_methods/test_git.py::test_ensure_is_repo_not_tracked PASSED [ 63%] test/test_methods/test_git.py::test_ensure_is_repo_dot_git_dir PASSED [ 63%] test/test_methods/test_git.py::test_ensure_is_repo_git_not_installed SKIPPED [ 63%] test/test_methods/test_hg.py::test_describe_hg[exact-params0-description0] PASSED [ 63%] test/test_methods/test_hg.py::test_describe_hg[distance-params1-description1] PASSED [ 63%] test/test_methods/test_hg.py::test_describe_hg[distance-dirty-params2-description2] PASSED [ 64%] test/test_methods/test_hg.py::test_describe_hg[default-tag-params3-description3] PASSED [ 64%] test/test_methods/test_hg.py::test_describe_hg[pattern-params4-description4] PASSED [ 64%] test/test_methods/test_hg.py::test_describe_hg[pattern-params5-description5] PASSED [ 64%] test/test_methods/test_hg.py::test_describe_hg_no_tag[hg/default-tag.zip] PASSED [ 64%] test/test_methods/test_hg.py::test_describe_hg_no_tag[archives/hg-archive-default-tag.zip] PASSED [ 65%] test/test_methods/test_hg.py::test_describe_hg_no_repo PASSED [ 65%] test/test_methods/test_hg.py::test_describe_hg_no_commits[params0] PASSED [ 65%] test/test_methods/test_hg.py::test_describe_hg_no_commits[params1] PASSED [ 65%] test/test_methods/test_hg.py::test_describe_hg_added_no_commits PASSED [ 65%] test/test_methods/test_hg.py::test_describe_hg_added_no_commits_default_tag PASSED [ 66%] test/test_methods/test_hg.py::test_ensure_is_repo_not_tracked PASSED [ 66%] test/test_methods/test_hg.py::test_ensure_is_repo_dot_hg_dir PASSED [ 66%] test/test_methods/test_hg.py::test_ensure_is_repo_hg_not_installed SKIPPED [ 66%] test/test_methods/test_hg.py::test_parse_hg_archival[distance] PASSED [ 67%] test/test_methods/test_hg.py::test_parse_hg_archival[exact] PASSED [ 67%] test/test_methods/test_hg.py::test_parse_hg_archival[multi-latesttag] PASSED [ 67%] test/test_methods/test_hg.py::test_parse_hg_archival[multi-tag] PASSED [ 67%] test/test_methods/test_hg.py::test_parse_hg_archival[null-latesttag] PASSED [ 67%] test/test_methods/test_next_version.py::test_basic_version[1.2.3-bv0-1.2.3] PASSED [ 68%] test/test_methods/test_next_version.py::test_basic_version[0!1.2.3-bv1-1.2.3] PASSED [ 68%] test/test_methods/test_next_version.py::test_basic_version[1!1.2.3-bv2-1!1.2.3] PASSED [ 68%] test/test_methods/test_next_version.py::test_basic_version[21.07.05-bv3-21.7.5] PASSED [ 68%] test/test_methods/test_next_version.py::test_basic_version[1.2.3.0.0-bv4-1.2.3.0.0] PASSED [ 68%] test/test_methods/test_next_version.py::test_basic_version[42-bv5-42] PASSED [ 69%] test/test_methods/test_next_version.py::test_basic_version[1.2.3.post1-bv6-1.2.3] PASSED [ 69%] test/test_methods/test_next_version.py::test_basic_version[1.2.3a0-bv7-1.2.3] PASSED [ 69%] test/test_methods/test_next_version.py::test_basic_version[1.2.3.dev1-bv8-1.2.3] PASSED [ 69%] test/test_methods/test_next_version.py::test_basic_version[v1.2.3-bv9-1.2.3] PASSED [ 69%] test/test_methods/test_next_version.py::test_basic_version[1!2-bv10-1!2] PASSED [ 70%] test/test_methods/test_next_version.py::test_bad_basic_version[] PASSED [ 70%] test/test_methods/test_next_version.py::test_bad_basic_version[rel1.2.3] PASSED [ 70%] test/test_methods/test_next_version.py::test_bad_basic_version[1!] PASSED [ 70%] test/test_methods/test_next_version.py::test_bad_basic_version[1!v1.2.3] PASSED [ 70%] test/test_methods/test_next_version.py::test_bad_basic_version[1!2!3] PASSED [ 71%] test/test_methods/test_next_version.py::test_next_minor_version[1.2.3.4-1.3.0] PASSED [ 71%] test/test_methods/test_next_version.py::test_next_minor_version[1.2-1.3.0] PASSED [ 71%] test/test_methods/test_next_version.py::test_next_minor_version[1-1.1.0] PASSED [ 71%] test/test_methods/test_next_version.py::test_next_minor_version[0-0.1.0] PASSED [ 71%] test/test_methods/test_next_version.py::test_next_minor_version[1.2.3a0-1.3.0] PASSED [ 72%] test/test_methods/test_next_version.py::test_next_minor_version[1.2.3.post1-1.3.0] PASSED [ 72%] test/test_methods/test_next_version.py::test_next_minor_version[1.2.3.dev1-1.3.0] PASSED [ 72%] test/test_methods/test_next_version.py::test_next_minor_version[1.2.3.0.0-1.3.0] PASSED [ 72%] test/test_methods/test_next_version.py::test_next_minor_version[0.5.0-0.6.0] PASSED [ 72%] test/test_methods/test_next_version.py::test_next_minor_version[0.5.1-0.6.0] PASSED [ 73%] test/test_methods/test_next_version.py::test_next_smallest_version[1.2.3.4-1.2.3.5] PASSED [ 73%] test/test_methods/test_next_version.py::test_next_smallest_version[1.2-1.3] PASSED [ 73%] test/test_methods/test_next_version.py::test_next_smallest_version[1-2] PASSED [ 73%] test/test_methods/test_next_version.py::test_next_smallest_version[0-1] PASSED [ 73%] test/test_methods/test_next_version.py::test_next_smallest_version[1.2.3a0-1.2.4] PASSED [ 74%] test/test_methods/test_next_version.py::test_next_smallest_version[1.2.3.post1-1.2.4] PASSED [ 74%] test/test_methods/test_next_version.py::test_next_smallest_version[1.2.3.dev1-1.2.4] PASSED [ 74%] test/test_methods/test_next_version.py::test_next_smallest_version[1.2.3.0.0-1.2.3.0.1] PASSED [ 74%] test/test_methods/test_next_version.py::test_next_smallest_version[0.5.0-0.5.1] PASSED [ 75%] test/test_methods/test_next_version.py::test_next_smallest_version[0.5.1-0.5.2] PASSED [ 75%] test/test_methods/test_next_version.py::test_null_next_version[1.2.3.4] PASSED [ 75%] test/test_methods/test_next_version.py::test_null_next_version[1.2] PASSED [ 75%] test/test_methods/test_next_version.py::test_null_next_version[1] PASSED [ 75%] test/test_methods/test_next_version.py::test_null_next_version[0] PASSED [ 76%] test/test_methods/test_next_version.py::test_null_next_version[1.2.3a0] PASSED [ 76%] test/test_methods/test_next_version.py::test_null_next_version[1.2.3.post1] PASSED [ 76%] test/test_methods/test_next_version.py::test_null_next_version[1.2.3.dev1] PASSED [ 76%] test/test_methods/test_next_version.py::test_null_next_version[1.2.3.0.0] PASSED [ 76%] test/test_methods/test_next_version.py::test_null_next_version[] PASSED [ 77%] test/test_methods/test_next_version.py::test_null_next_version[rel1.2.3] PASSED [ 77%] test/test_methods/test_next_version.py::test_null_next_version[1!0] PASSED [ 77%] test/test_methods/test_next_version.py::test_null_next_version[1!v1.2.3] PASSED [ 77%] test/test_methods/test_next_version.py::test_null_next_version[1!2!3] PASSED [ 77%] test/test_methods/test_next_version.py::test_null_next_version[0.1.] PASSED [ 78%] test/test_methods/test_next_version.py::test_null_next_version[1!1] PASSED [ 78%] test/test_methods/test_next_version.py::test_null_next_version[0.1.0j] PASSED [ 78%] test/test_methods/test_next_version.py::test_null_next_version[0.1.0-extra] PASSED [ 78%] test/test_methods/test_next_version.py::test_next_minor_release_version[1.2.3.4-1.3.0] PASSED [ 78%] test/test_methods/test_next_version.py::test_next_minor_release_version[1.2-1.3.0] PASSED [ 79%] test/test_methods/test_next_version.py::test_next_minor_release_version[1-1.1.0] PASSED [ 79%] test/test_methods/test_next_version.py::test_next_minor_release_version[0-0.1.0] PASSED [ 79%] test/test_methods/test_next_version.py::test_next_minor_release_version[1.2.3.0.0-1.3.0] PASSED [ 79%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.0-0.6.0] PASSED [ 79%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5-0.6.0] PASSED [ 80%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.0.0.0-0.6.0] PASSED [ 80%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.1-0.6.0] PASSED [ 80%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.0.post1-0.6.0] PASSED [ 80%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.1.post1-0.6.0] PASSED [ 80%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.0a1-0.5.0] PASSED [ 81%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.1a1-0.5.1] PASSED [ 81%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.0.dev1-0.5.0] PASSED [ 81%] test/test_methods/test_next_version.py::test_next_minor_release_version[0.5.1.dev1-0.5.1] PASSED [ 81%] test/test_methods/test_next_version.py::test_next_minor_release_version[1!0.5.0-1!0.6.0] PASSED [ 81%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[] PASSED [ 82%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[0.1.] PASSED [ 82%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[1!] PASSED [ 82%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[0.1.0j] PASSED [ 82%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[0.1.0-extra] PASSED [ 82%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[rel-0.1.0] PASSED [ 83%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[1!v1.2.3] PASSED [ 83%] test/test_methods/test_next_version.py::test_next_minor_release_version_bad[1!2!3] PASSED [ 83%] test/test_methods/test_next_version.py::test_next_smallest_release_version[1.2.3.4-1.2.3.5] PASSED [ 83%] test/test_methods/test_next_version.py::test_next_smallest_release_version[1.2-1.3] PASSED [ 84%] test/test_methods/test_next_version.py::test_next_smallest_release_version[1-2] PASSED [ 84%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0-1] PASSED [ 84%] test/test_methods/test_next_version.py::test_next_smallest_release_version[1.2.3.0.0-1.2.3.0.1] PASSED [ 84%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.0-0.5.1] PASSED [ 84%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5-0.6] PASSED [ 85%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.0.0.0-0.5.0.0.1] PASSED [ 85%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.1-0.5.2] PASSED [ 85%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.0.post1-0.5.1] PASSED [ 85%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.1.post1-0.5.2] PASSED [ 85%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.0a1-0.5.0] PASSED [ 86%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.1a1-0.5.1] PASSED [ 86%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.0.dev1-0.5.0] PASSED [ 86%] test/test_methods/test_next_version.py::test_next_smallest_release_version[0.5.1.dev1-0.5.1] PASSED [ 86%] test/test_methods/test_next_version.py::test_next_smallest_release_version[1!0.5.0-1!0.5.1] PASSED [ 86%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[] PASSED [ 87%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[0.1.] PASSED [ 87%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[1!] PASSED [ 87%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[0.1.0j] PASSED [ 87%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[0.1.0-extra] PASSED [ 87%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[rel-0.1.0] PASSED [ 88%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[1!v1.2.3] PASSED [ 88%] test/test_methods/test_next_version.py::test_next_smallest_release_version_bad[1!2!3] PASSED [ 88%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[source.py-True-params0] PASSED [ 88%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[not-source.py-False-params1] PASSED [ 88%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[replacement.py-True-params2] PASSED [ 89%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[with-date.py-True-params3] PASSED [ 89%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[line2block.py-True-params4] PASSED [ 89%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[nomatch.py-True-params5] PASSED [ 89%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[append.py-True-params6] PASSED [ 89%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[append-with-date.py-True-params7] PASSED [ 90%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[append-newline.py-True-params8] PASSED [ 90%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[multi-matches.py-True-params9] PASSED [ 90%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[latin1-edited.txt-True-params10] PASSED [ 90%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[still-empty.py-True-params11] PASSED [ 90%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[set-line.py-True-params12] PASSED [ 91%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[replace-nonl.py-True-params13] PASSED [ 91%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[nl-append.txt-True-params14] PASSED [ 91%] test/test_methods/test_onbuild.py::test_replace_version_onbuild[line-sepped.py-True-params15] PASSED [ 91%] test/test_methods/test_onbuild.py::test_replace_version_onbuild_require_match PASSED [ 92%] test/test_methods/test_onbuild.py::test_replace_version_onbuild_bad_regex PASSED [ 92%] test/test_methods/test_onbuild.py::test_replace_version_onbuild_version_not_captured PASSED [ 92%] test/test_methods/test_tag2version.py::test_basic_tag2version[v01.02.03-params0-01.02.03] PASSED [ 92%] test/test_methods/test_tag2version.py::test_basic_tag2version[01.02.03-params1-01.02.03] PASSED [ 92%] test/test_methods/test_tag2version.py::test_basic_tag2version[vbad-params2-bad] PASSED [ 93%] test/test_methods/test_tag2version.py::test_basic_tag2version[v-params3-] PASSED [ 93%] test/test_methods/test_tag2version.py::test_basic_tag2version[rel-1.2.3-params4-rel-1.2.3] PASSED [ 93%] test/test_methods/test_tag2version.py::test_basic_tag2version[rel-1.2.3-params5-1.2.3] PASSED [ 93%] test/test_methods/test_tag2version.py::test_basic_tag2version[1.2.3-final-params6-1.2.3-final] PASSED [ 93%] test/test_methods/test_tag2version.py::test_basic_tag2version[1.2.3-final-params7-1.2.3] PASSED [ 94%] test/test_methods/test_tag2version.py::test_basic_tag2version[rel-1.2.3-final-params8-1.2.3] PASSED [ 94%] test/test_methods/test_tag2version.py::test_basic_tag2version[rel-1.2.3-final-params9-1.2.3] PASSED [ 94%] test/test_methods/test_tag2version.py::test_basic_tag2version[rel-1.2.3-final-params10-1.2.3-final] PASSED [ 94%] test/test_methods/test_tag2version.py::test_basic_tag2version_no_version_captured PASSED [ 94%] test/test_methods/test_tag2version.py::test_basic_tag2version_require_match PASSED [ 95%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params0-(0, 1, 0, "post5", "gabcdef0")-warnings0] PASSED [ 95%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params1-(0, 1, 0, 'post5', 'gabcdef0')-warnings1] PASSED [ 95%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params2-(0, 1, 0, "post5+gabcdef0")-warnings2] PASSED [ 95%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params3-(0, 1, 0, "post5", "gabcdef0")-warnings3] PASSED [ 95%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params4-(0, 1, 0, "post5", "+gabcdef0")-warnings4] PASSED [ 96%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params5-(0, 0, 1, 0, "post5", "+gabcdef0")-warnings5] PASSED [ 96%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params6-(0, 1, 0, 'post5', '+gabcdef0')-warnings6] PASSED [ 96%] test/test_methods/test_template_fields.py::test_basic_template_fields[0.1.0.post5+gabcdef0-params7-(0, 1, 0, "post5", "+gabcdef0")-warnings7] PASSED [ 96%] test/test_methods/test_template_fields.py::test_basic_template_fields[1.2.3j-params8-(1, 2, "3j")-warnings8] PASSED [ 96%] test/test_methods/test_template_fields.py::test_basic_template_fields_bad_version_tuple[True] PASSED [ 97%] test/test_methods/test_template_fields.py::test_basic_template_fields_bad_version_tuple[1.2.3] PASSED [ 97%] test/test_methods/test_template_fields.py::test_basic_template_fields_bad_version_tuple[cfg2] PASSED [ 97%] test/test_methods/test_template_fields.py::test_basic_template_fields_bad_pep440_version PASSED [ 97%] test/test_methods/test_template_fields.py::test_basic_template_fields_none_inputs[None-None-None-fields0] PASSED [ 97%] test/test_methods/test_template_fields.py::test_basic_template_fields_none_inputs[description1-None-None-fields1] PASSED [ 98%] test/test_methods/test_template_fields.py::test_basic_template_fields_none_inputs[description2-1.2.3-None-fields2] PASSED [ 98%] test/test_methods/test_write.py::test_basic_write[foo/bar.txt-params0-1.2.3\n] PASSED [ 98%] test/test_methods/test_write.py::test_basic_write[foo/bar.py-params1-__version__ = "1.2.3"\n] PASSED [ 98%] test/test_methods/test_write.py::test_basic_write[foo/bar-params2-1.2.3\n] PASSED [ 98%] test/test_methods/test_write.py::test_basic_write[foo/bar.py-params3-__version__ = '1.2.3'\n] PASSED [ 99%] test/test_methods/test_write.py::test_basic_write[foo/bar.tex-params4-$v = 1.2.3$\\bye\n] PASSED [ 99%] test/test_methods/test_write.py::test_basic_write[foo/bar.py-params5-__version__ = '1.2.3'\n__build_date__ = "2038-01-19T03:14:07Z"\n] PASSED [ 99%] test/test_methods/test_write.py::test_basic_write_no_file PASSED [ 99%] test/test_methods/test_write.py::test_basic_write_bad_ext PASSED [100%] ---------- coverage: platform linux, python 3.11.3-final-0 ----------- Name Stmts Miss Branch BrPart Cover Missing ------------------------------------------------------------------------------------------------------------------ testenv/lib/python3.11/site-packages/versioningit/__init__.py 9 0 0 0 100.00% testenv/lib/python3.11/site-packages/versioningit/__main__.py 51 2 18 2 94.20% 64, 70 testenv/lib/python3.11/site-packages/versioningit/basics.py 101 0 28 0 100.00% testenv/lib/python3.11/site-packages/versioningit/cmdclasses.py 35 0 4 0 100.00% testenv/lib/python3.11/site-packages/versioningit/config.py 90 1 52 1 98.59% 20 testenv/lib/python3.11/site-packages/versioningit/core.py 145 6 36 6 93.37% 323, 340, 355, 380, 406, 447 testenv/lib/python3.11/site-packages/versioningit/errors.py 18 0 0 0 100.00% testenv/lib/python3.11/site-packages/versioningit/git.py 183 1 62 1 99.18% 154 testenv/lib/python3.11/site-packages/versioningit/hg.py 76 1 28 1 98.08% 37 testenv/lib/python3.11/site-packages/versioningit/hook.py 20 0 4 0 100.00% testenv/lib/python3.11/site-packages/versioningit/logging.py 48 0 14 1 98.39% 31->33 testenv/lib/python3.11/site-packages/versioningit/methods.py 69 7 28 5 85.57% 17, 63-64, 69, 77, 123, 141 testenv/lib/python3.11/site-packages/versioningit/next_version.py 74 0 18 0 100.00% testenv/lib/python3.11/site-packages/versioningit/onbuild.py 50 0 14 0 100.00% testenv/lib/python3.11/site-packages/versioningit/util.py 107 0 43 0 100.00% ------------------------------------------------------------------------------------------------------------------ TOTAL 1076 18 349 17 97.40% =========== 485 passed, 3 skipped, 3 deselected in 145.38s (0:02:25) =========== >>> py3-versioningit: Entering fakeroot... >>> py3-versioningit-pyc*: Running split function pyc... '/home/buildozer/aports/testing/py3-versioningit/pkg/py3-versioningit/usr/lib/python3.11/site-packages/versioningit/__pycache__' -> '/home/buildozer/aports/testing/py3-versioningit/pkg/py3-versioningit-pyc/usr/lib/python3.11/site-packages/versioningit/__pycache__' >>> py3-versioningit-pyc*: Preparing subpackage py3-versioningit-pyc... >>> py3-versioningit-pyc*: Running postcheck for py3-versioningit-pyc >>> py3-versioningit*: Running postcheck for py3-versioningit >>> py3-versioningit*: Preparing package py3-versioningit... >>> py3-versioningit-pyc*: Tracing dependencies... python3 py3-setuptools py3-packaging py3-pydantic python3~3.11 >>> py3-versioningit-pyc*: Package size: 176.0 KB >>> py3-versioningit-pyc*: Compressing data... >>> py3-versioningit-pyc*: Create checksum... >>> py3-versioningit-pyc*: Create py3-versioningit-pyc-2.1.0-r2.apk >>> py3-versioningit*: Tracing dependencies... python3 py3-setuptools py3-packaging py3-pydantic python3~3.11 >>> py3-versioningit*: Package size: 180.0 KB >>> py3-versioningit*: Compressing data... >>> py3-versioningit*: Create checksum... >>> py3-versioningit*: Create py3-versioningit-2.1.0-r2.apk >>> py3-versioningit: Build complete at Sat, 13 May 2023 13:01:09 +0000 elapsed time 0h 2m 29s >>> py3-versioningit: Cleaning up srcdir >>> py3-versioningit: Cleaning up pkgdir >>> py3-versioningit: Uninstalling dependencies... (1/51) Purging .makedepends-py3-versioningit (20230513.125841) (2/51) Purging py3-setuptools-pyc (67.7.2-r0) (3/51) Purging py3-setuptools (67.7.2-r0) (4/51) Purging py3-pydantic-pyc (1.10.7-r1) (5/51) Purging py3-pydantic (1.10.7-r1) (6/51) Purging py3-typing-extensions-pyc (4.5.0-r1) (7/51) Purging py3-typing-extensions (4.5.0-r1) (8/51) Purging py3-gpep517-pyc (13-r2) (9/51) Purging py3-gpep517 (13-r2) (10/51) Purging py3-installer-pyc (0.7.0-r1) (11/51) Purging py3-installer (0.7.0-r1) (12/51) Purging py3-wheel-pyc (0.40.0-r1) (13/51) Purging py3-wheel (0.40.0-r1) (14/51) Purging mercurial-pyc (6.4.3-r0) (15/51) Purging mercurial (6.4.3-r0) (16/51) Purging py3-build-pyc (0.10.0-r1) (17/51) Purging py3-build (0.10.0-r1) (18/51) Purging py3-pyproject-hooks-pyc (1.0.0-r1) (19/51) Purging py3-pyproject-hooks (1.0.0-r1) (20/51) Purging py3-pytest-mock-pyc (3.10.0-r2) (21/51) Purging py3-pytest-mock (3.10.0-r2) (22/51) Purging py3-mock-pyc (5.0.2-r1) (23/51) Purging py3-mock (5.0.2-r1) (24/51) Purging py3-pytest-cov-pyc (4.0.0-r2) (25/51) Purging py3-pytest-cov (4.0.0-r2) (26/51) Purging py3-pytest-pyc (7.3.1-r1) (27/51) Purging py3-pytest (7.3.1-r1) (28/51) Purging py3-iniconfig-pyc (1.1.1-r6) (29/51) Purging py3-iniconfig (1.1.1-r6) (30/51) Purging py3-packaging-pyc (23.1-r1) (31/51) Purging py3-packaging (23.1-r1) (32/51) Purging py3-parsing-pyc (3.0.9-r2) (33/51) Purging py3-parsing (3.0.9-r2) (34/51) Purging py3-pluggy-pyc (1.0.0-r3) (35/51) Purging py3-pluggy (1.0.0-r3) (36/51) Purging py3-py-pyc (1.11.0-r2) (37/51) Purging py3-py (1.11.0-r2) (38/51) Purging py3-coverage-pyc (6.5.0-r4) (39/51) Purging py3-coverage (6.5.0-r4) (40/51) Purging python3-pyc (3.11.3-r11) (41/51) Purging python3-pycache-pyc0 (3.11.3-r11) (42/51) Purging pyc (0.1-r0) (43/51) Purging python3 (3.11.3-r11) (44/51) Purging gdbm (1.23-r1) (45/51) Purging libbz2 (1.0.8-r5) (46/51) Purging libffi (3.4.4-r2) (47/51) Purging libpanelw (6.4_p20230506-r1) (48/51) Purging mpdecimal (2.5.1-r2) (49/51) Purging readline (8.2.1-r1) (50/51) Purging sqlite-libs (3.41.2-r2) (51/51) Purging xz-libs (5.4.3-r0) Executing busybox-1.36.0-r9.trigger OK: 326 MiB in 100 packages >>> py3-versioningit: Updating the testing/armhf repository index... >>> py3-versioningit: Signing the index...