>>> py3-versioningit: Building testing/py3-versioningit 2.0.0-r0 (using abuild 3.9.0-r1) started Wed, 22 Jun 2022 15:34:53 +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-tomli py3-build py3-installer py3-wheel mercurial py3-pytest py3-tox (1/34) Installing libffi (3.4.2-r1) (2/34) Installing gdbm (1.23-r0) (3/34) Installing mpdecimal (2.5.1-r1) (4/34) Installing readline (8.1.2-r0) (5/34) Installing sqlite-libs (3.38.5-r0) (6/34) Installing python3 (3.10.5-r0) (7/34) Installing py3-appdirs (1.4.4-r3) (8/34) Installing py3-more-itertools (8.13.0-r0) (9/34) Installing py3-ordered-set (4.0.2-r3) (10/34) Installing py3-parsing (2.4.7-r3) (11/34) Installing py3-six (1.16.0-r1) (12/34) Installing py3-packaging (21.3-r0) (13/34) Installing py3-setuptools (59.4.0-r0) (14/34) Installing py3-tomli (2.0.1-r1) (15/34) Installing py3-pep517 (0.12.0-r2) (16/34) Installing py3-build (0.7.0-r2) (17/34) Installing py3-installer (0.5.1-r1) (18/34) Installing py3-wheel (0.37.1-r0) (19/34) Installing mercurial (6.1.1-r0) (20/34) Installing py3-atomicwrites (1.4.0-r2) (21/34) Installing py3-attrs (21.4.0-r0) (22/34) Installing py3-iniconfig (1.1.1-r2) (23/34) Installing py3-pluggy (1.0.0-r0) (24/34) Installing py3-py (1.10.0-r2) (25/34) Installing py3-pygments (2.11.2-r0) (26/34) Installing py3-wcwidth (0.2.5-r2) (27/34) Installing py3-pytest (7.1.2-r1) (28/34) Installing py3-platformdirs (2.5.2-r0) (29/34) Installing py3-distlib (0.3.4-r1) (30/34) Installing py3-filelock (3.4.2-r0) (31/34) Installing py3-virtualenv (20.14.1-r0) (32/34) Installing py3-toml (0.10.2-r3) (33/34) Installing py3-tox (3.24.3-r1) (34/34) Installing .makedepends-py3-versioningit (20220622.153455) Executing busybox-1.35.0-r17.trigger OK: 433 MiB in 134 packages >>> py3-versioningit: Cleaning up srcdir >>> py3-versioningit: Cleaning up pkgdir >>> py3-versioningit: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-versioningit-2.0.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 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> py3-versioningit: Fetching py3-versioningit-2.0.0.tar.gz::https://github.com/jwodder/versioningit/archive/refs/tags/v2.0.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 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 572k 0 572k 0 0 1028k 0 --:--:-- --:--:-- --:--:-- 1028k >>> py3-versioningit: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-versioningit-2.0.0.tar.gz >>> py3-versioningit: Checking sha512sums... py3-versioningit-2.0.0.tar.gz: OK >>> py3-versioningit: Unpacking /var/cache/distfiles/edge/py3-versioningit-2.0.0.tar.gz... running egg_info creating src/versioningit.egg-info writing src/versioningit.egg-info/PKG-INFO writing dependency_links to src/versioningit.egg-info/dependency_links.txt writing entry points to src/versioningit.egg-info/entry_points.txt writing requirements to src/versioningit.egg-info/requires.txt writing top-level names to src/versioningit.egg-info/top_level.txt writing manifest file 'src/versioningit.egg-info/SOURCES.txt' reading manifest file 'src/versioningit.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'CONTRIBUTORS.*' no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*.py[cod]' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'src/versioningit.egg-info/SOURCES.txt' running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/versioningit copying src/versioningit/cmdclasses.py -> build/lib/versioningit copying src/versioningit/git.py -> build/lib/versioningit copying src/versioningit/next_version.py -> build/lib/versioningit copying src/versioningit/onbuild.py -> build/lib/versioningit copying src/versioningit/core.py -> build/lib/versioningit copying src/versioningit/util.py -> build/lib/versioningit copying src/versioningit/basics.py -> build/lib/versioningit copying src/versioningit/errors.py -> build/lib/versioningit copying src/versioningit/logging.py -> build/lib/versioningit copying src/versioningit/__init__.py -> build/lib/versioningit copying src/versioningit/hg.py -> build/lib/versioningit copying src/versioningit/hook.py -> build/lib/versioningit copying src/versioningit/methods.py -> build/lib/versioningit copying src/versioningit/config.py -> build/lib/versioningit copying src/versioningit/__main__.py -> build/lib/versioningit running egg_info writing src/versioningit.egg-info/PKG-INFO writing dependency_links to src/versioningit.egg-info/dependency_links.txt writing entry points to src/versioningit.egg-info/entry_points.txt writing requirements to src/versioningit.egg-info/requires.txt writing top-level names to src/versioningit.egg-info/top_level.txt reading manifest file 'src/versioningit.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'CONTRIBUTORS.*' no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*.py[cod]' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'src/versioningit.egg-info/SOURCES.txt' copying src/versioningit/py.typed -> build/lib/versioningit installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/cmdclasses.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/git.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/next_version.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/onbuild.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/core.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/util.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/basics.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/errors.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/logging.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/__init__.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/hg.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/hook.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/py.typed -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/methods.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/config.py -> build/bdist.linux-x86_64/wheel/versioningit copying build/lib/versioningit/__main__.py -> build/bdist.linux-x86_64/wheel/versioningit running install_egg_info Copying src/versioningit.egg-info to build/bdist.linux-x86_64/wheel/versioningit-2.0.0-py3.10.egg-info running install_scripts adding license file "LICENSE" (matched pattern "LICENSE") creating build/bdist.linux-x86_64/wheel/versioningit-2.0.0.dist-info/WHEEL creating '/home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/dist/tmp_gest9an/versioningit-2.0.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'versioningit/__init__.py' adding 'versioningit/__main__.py' adding 'versioningit/basics.py' adding 'versioningit/cmdclasses.py' adding 'versioningit/config.py' adding 'versioningit/core.py' adding 'versioningit/errors.py' adding 'versioningit/git.py' adding 'versioningit/hg.py' adding 'versioningit/hook.py' adding 'versioningit/logging.py' adding 'versioningit/methods.py' adding 'versioningit/next_version.py' adding 'versioningit/onbuild.py' adding 'versioningit/py.typed' adding 'versioningit/util.py' adding 'versioningit-2.0.0.dist-info/LICENSE' adding 'versioningit-2.0.0.dist-info/METADATA' adding 'versioningit-2.0.0.dist-info/WHEEL' adding 'versioningit-2.0.0.dist-info/entry_points.txt' adding 'versioningit-2.0.0.dist-info/top_level.txt' adding 'versioningit-2.0.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel * Getting dependencies for wheel... * Building wheel... Successfully built versioningit-2.0.0-py3-none-any.whl .tox create: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/.tox/.tox .tox installdeps: tox >= 3.3.0 .package create: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/.tox/.package .package installdeps: setuptools >= 46.4.0, wheel ~= 0.32 warning: no files found matching 'CONTRIBUTORS.*' no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*.py[cod]' found anywhere in distribution py310 create: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/.tox/py310 py310 installdeps: build~=0.7, setuptools>=42, pip, pydantic~=1.8, pytest~=7.0, pytest-cov~=3.0, pytest-mock~=3.0, wheel py310 inst: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/.tox/.tmp/package/1/versioningit-2.0.0.tar.gz py310 installed: attrs==21.4.0,build==0.8.0,coverage==6.4.1,iniconfig==1.1.1,packaging==21.3,pep517==0.12.0,pluggy==1.0.0,py==1.11.0,pydantic==1.9.1,pyparsing==3.0.9,pytest==7.1.2,pytest-cov==3.0.0,pytest-mock==3.7.0,tomli==2.0.1,typing_extensions==4.2.0,versioningit @ file:///home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/.tox/.tmp/package/1/versioningit-2.0.0.tar.gz py310 run-test-pre: PYTHONHASHSEED='819916792' py310 run-test: commands[0] | pytest -v test ============================= test session starts ============================== platform linux -- Python 3.10.5, pytest-7.1.2, pluggy-1.0.0 -- /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0/.tox/py310/bin/python cachedir: .tox/py310/.pytest_cache rootdir: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.0.0, configfile: tox.ini plugins: mock-3.7.0, cov-3.0.0 collecting ... collected 491 items 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-bad] PASSED [ 6%] 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 [ 7%] 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 [ 8%] 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 [ 12%] 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 [ 13%] 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 [ 14%] 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_editable_mode[cmd0] PASSED [ 14%] test/test_end2end.py::test_editable_mode[cmd1] PASSED [ 15%] test/test_end2end.py::test_setup_py PASSED [ 15%] test/test_get_version.py::test_get_version_no_git_fallback PASSED [ 15%] 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 [ 16%] test/test_logging.py::test_parse_log_level[cRiTiCaL-50] PASSED [ 16%] test/test_logging.py::test_parse_log_level[50-50] 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[ErRoR-40] PASSED [ 17%] test/test_logging.py::test_parse_log_level[40-40] 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[WaRnInG-30] PASSED [ 17%] test/test_logging.py::test_parse_log_level[30-30] PASSED [ 18%] 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[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 [ 19%] test/test_logging.py::test_parse_log_level[debug-10] PASSED [ 19%] 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 [ 20%] test/test_logging.py::test_parse_log_level[NoTsEt-0] PASSED [ 20%] 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 [ 21%] test/test_logging.py::test_parse_log_level_bad[logging.INFO] PASSED [ 21%] 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 [ 22%] test/test_logging.py::test_warn_bad_version_good[0.1.0a] PASSED [ 22%] 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 [ 23%] test/test_logging.py::test_warn_bad_version_bad[0.1.] PASSED [ 23%] test/test_logging.py::test_warn_bad_version_bad[1!] PASSED [ 23%] 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 [ 24%] test/test_logging.py::test_warn_bad_version_bad[1!v1.2.3] PASSED [ 24%] test/test_logging.py::test_warn_bad_version_bad[1!2!3] PASSED [ 24%] 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 [ 25%] test/test_main.py::test_command_next_version PASSED [ 25%] 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 [ 26%] test/test_main.py::test_command_verbose[None-None-30] PASSED [ 26%] 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 [ 27%] test/test_main.py::test_command_verbose[-v-ERROR-20] PASSED [ 27%] 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 [ 28%] test/test_main.py::test_command_verbose[-vvv-DEBUG-10] PASSED [ 28%] 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 [ 29%] test/test_main.py::test_command_subprocess_error[git 'get details'-git 'get details'0] PASSED [ 29%] 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 [ 30%] test/test_util.py::test_strip_prefix[foobar--foobar] PASSED [ 30%] 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 [ 31%] test/test_util.py::test_strip_suffix[foobar-foo-foobar] PASSED [ 31%] 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 [ 32%] test/test_util.py::test_get_build_date_envvar PASSED [ 32%] 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 [ 33%] test/test_util.py::test_optional_str_guard_good[] PASSED [ 33%] 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 [ 34%] test/test_util.py::test_list_str_guard_good[xs1] PASSED [ 34%] 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 [ 35%] test/test_util.py::test_list_str_guard_bad[x3] PASSED [ 35%] 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 [ 36%] test/test_util.py::test_bool_guard_not_bool[yes] PASSED [ 36%] 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 [ 37%] test/test_util.py::test_bool_guard_not_bool[42] PASSED [ 37%] 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 [ 38%] test/test_util.py::test_showcmd[cmd1-git commit -m 'The commit message'] PASSED [ 38%] 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 [ 39%] test/test_util.py::test_parse_version_from_metadata[version-after-desc.eml-0.1.0.post2+g4d891e7] PASSED [ 39%] 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 [ 40%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:)$-opts1-args1] PASSED [ 40%] 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 [ 41%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:tags=Yes)$-opts6-args6] PASSED [ 41%] 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 [ 42%] 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 [ 43%] 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 [ 44%] 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 [ 45%] test/test_util.py::test_parse_describe_opts[$Format:%(describe:match=v*,exclude=*rc,match=rel*)$-opts25-args25] PASSED [ 45%] 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 [ 46%] 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,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 [ 47%] 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: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 [ 48%] test/test_util.py::test_split_version[1.2.3+local.2022-None-True-(1, 2, 3, "local", 2022)] PASSED [ 48%] 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 [ 49%] test/test_util.py::test_split_version[1.2.3_r2-None-False-(1, 2, 3, 'r2')] PASSED [ 49%] 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 [ 50%] 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 [ 51%] 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 [ 52%] 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 [ 53%] 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 [ 54%] 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 [ 55%] 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 [ 56%] test/test_methods/test_format.py::test_basic_format[description1-0.1.0-0.2.0-params1-0.1.0+d20380119] PASSED [ 56%] 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 [ 57%] 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 [ 57%] 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 [ 58%] test/test_methods/test_git.py::test_describe_git[default-tag-params3-description3] PASSED [ 58%] 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 [ 59%] 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 [ 60%] 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 [ 61%] 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 [ 62%] 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 [ 63%] 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 [ 64%] 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 [ 65%] 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 [ 66%] 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 [ 67%] 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 [ 68%] 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 [ 69%] 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 [ 70%] 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 [ 71%] 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 [ 72%] 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 [ 73%] 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 [ 74%] 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 [ 78%] 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 [ 79%] 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 [ 80%] 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 [ 81%] 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 [ 82%] 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 [ 83%] 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 [ 89%] 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 [ 90%] 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 [ 91%] 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.10.5-final-0 ----------- Name Stmts Miss Branch BrPart Cover Missing --------------------------------------------------------------------------------- src/versioningit/__init__.py 9 0 0 0 100.00% src/versioningit/__main__.py 50 2 18 2 94.12% 63, 69 src/versioningit/basics.py 100 0 28 0 100.00% src/versioningit/cmdclasses.py 33 0 8 0 100.00% src/versioningit/config.py 86 0 42 0 100.00% src/versioningit/core.py 144 6 32 6 93.18% 324, 341, 356, 381, 407, 448 src/versioningit/errors.py 18 0 18 0 100.00% src/versioningit/git.py 182 1 60 1 99.17% 153 src/versioningit/hg.py 75 1 28 1 98.06% 36 src/versioningit/hook.py 19 0 4 0 100.00% src/versioningit/logging.py 47 0 14 1 98.36% 30->32 src/versioningit/methods.py 67 7 28 5 85.26% 15, 61-62, 67, 75, 121, 139 src/versioningit/next_version.py 73 0 16 0 100.00% src/versioningit/onbuild.py 49 0 14 0 100.00% src/versioningit/util.py 105 0 43 0 100.00% --------------------------------------------------------------------------------- TOTAL 1057 17 353 16 97.52% ================== 488 passed, 3 skipped in 952.78s (0:15:52) ================== ___________________________________ summary ____________________________________ py310: commands succeeded congratulations :) >>> py3-versioningit: Entering fakeroot... >>> py3-versioningit*: Running postcheck for py3-versioningit >>> py3-versioningit*: Preparing package py3-versioningit... >>> py3-versioningit*: Tracing dependencies... >>> py3-versioningit*: Package size: 284.0 KB >>> py3-versioningit*: Compressing data... >>> py3-versioningit*: Create checksum... >>> py3-versioningit*: Create py3-versioningit-2.0.0-r0.apk >>> py3-versioningit: Build complete at Wed, 22 Jun 2022 15:51:38 +0000 elapsed time 0h 16m 45s >>> py3-versioningit: Cleaning up srcdir >>> py3-versioningit: Cleaning up pkgdir >>> py3-versioningit: Uninstalling dependencies... (1/34) Purging .makedepends-py3-versioningit (20220622.153455) (2/34) Purging py3-setuptools (59.4.0-r0) (3/34) Purging py3-appdirs (1.4.4-r3) (4/34) Purging py3-ordered-set (4.0.2-r3) (5/34) Purging py3-build (0.7.0-r2) (6/34) Purging py3-pep517 (0.12.0-r2) (7/34) Purging py3-installer (0.5.1-r1) (8/34) Purging py3-wheel (0.37.1-r0) (9/34) Purging mercurial (6.1.1-r0) (10/34) Purging py3-pytest (7.1.2-r1) (11/34) Purging py3-atomicwrites (1.4.0-r2) (12/34) Purging py3-attrs (21.4.0-r0) (13/34) Purging py3-iniconfig (1.1.1-r2) (14/34) Purging py3-more-itertools (8.13.0-r0) (15/34) Purging py3-pygments (2.11.2-r0) (16/34) Purging py3-tomli (2.0.1-r1) (17/34) Purging py3-wcwidth (0.2.5-r2) (18/34) Purging py3-tox (3.24.3-r1) (19/34) Purging py3-packaging (21.3-r0) (20/34) Purging py3-parsing (2.4.7-r3) (21/34) Purging py3-pluggy (1.0.0-r0) (22/34) Purging py3-py (1.10.0-r2) (23/34) Purging py3-virtualenv (20.14.1-r0) (24/34) Purging py3-platformdirs (2.5.2-r0) (25/34) Purging py3-distlib (0.3.4-r1) (26/34) Purging py3-six (1.16.0-r1) (27/34) Purging py3-toml (0.10.2-r3) (28/34) Purging py3-filelock (3.4.2-r0) (29/34) Purging python3 (3.10.5-r0) (30/34) Purging libffi (3.4.2-r1) (31/34) Purging gdbm (1.23-r0) (32/34) Purging mpdecimal (2.5.1-r1) (33/34) Purging readline (8.1.2-r0) (34/34) Purging sqlite-libs (3.38.5-r0) Executing busybox-1.35.0-r17.trigger OK: 333 MiB in 100 packages >>> py3-versioningit: Updating the testing/x86_64 repository index... >>> py3-versioningit: Signing the index...