>>> py3-versioningit: Building testing/py3-versioningit 2.1.0-r0 (using abuild 3.10.0_rc1-r2) started Wed, 09 Nov 2022 23:54:33 +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/30) Installing libbz2 (1.0.8-r3) (2/30) Installing libffi (3.4.4-r0) (3/30) Installing gdbm (1.23-r0) (4/30) Installing xz-libs (5.2.7-r0) (5/30) Installing mpdecimal (2.5.1-r1) (6/30) Installing readline (8.2.0-r0) (7/30) Installing sqlite-libs (3.39.4-r0) (8/30) Installing python3 (3.10.8-r3) (9/30) Installing py3-parsing (3.0.9-r0) (10/30) Installing py3-packaging (21.3-r2) (11/30) Installing py3-setuptools (65.5.1-r0) (12/30) Installing py3-tomli (2.0.1-r1) (13/30) Installing py3-pep517 (0.13.0-r0) (14/30) Installing py3-build (0.8.0-r1) (15/30) Installing py3-installer (0.5.1-r1) (16/30) Installing py3-wheel (0.38.3-r0) (17/30) Installing mercurial (6.2.3-r0) (18/30) Installing py3-attrs (22.1.0-r0) (19/30) Installing py3-exceptiongroup (1.0.1-r0) (20/30) Installing py3-iniconfig (1.1.1-r3) (21/30) Installing py3-pluggy (1.0.0-r1) (22/30) Installing py3-py (1.11.0-r0) (23/30) Installing py3-pytest (7.2.0-r1) (24/30) Installing py3-six (1.16.0-r3) (25/30) Installing py3-platformdirs (2.5.3-r0) (26/30) Installing py3-distlib (0.3.6-r0) (27/30) Installing py3-filelock (3.8.0-r0) (28/30) Installing py3-virtualenv (20.16.5-r1) (29/30) Installing py3-tox (3.27.0-r0) (30/30) Installing .makedepends-py3-versioningit (20221109.235435) Executing busybox-1.35.0-r27.trigger OK: 490 MiB in 128 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 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> py3-versioningit: Fetching py3-versioningit-2.1.0.tar.gz::https://github.com/jwodder/versioningit/archive/refs/tags/v2.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 100 573k 0 573k 0 0 844k 0 --:--:-- --:--:-- --:--:-- 844k >>> 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... 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.1.0-py3.10.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/versioningit-2.1.0.dist-info/WHEEL creating '/home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/dist/tmpe02l5c2s/versioningit-2.1.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.1.0.dist-info/LICENSE' adding 'versioningit-2.1.0.dist-info/METADATA' adding 'versioningit-2.1.0.dist-info/WHEEL' adding 'versioningit-2.1.0.dist-info/entry_points.txt' adding 'versioningit-2.1.0.dist-info/top_level.txt' adding 'versioningit-2.1.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel * Getting dependencies for wheel... * Building wheel... Successfully built versioningit-2.1.0-py3-none-any.whl .tox create: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/.tox/.tox .tox installdeps: tox >= 3.3.0 .package create: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/.tox/.package .package installdeps: setuptools >= 46.4.0 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 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.1.0/.tox/py310 py310 installdeps: build>=0.7, setuptools>=42, pip, pydantic, pytest, pytest-cov, pytest-mock, wheel py310 inst: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/.tox/.tmp/package/1/versioningit-2.1.0.tar.gz py310 installed: attrs==22.1.0,build==0.9.0,coverage==6.5.0,exceptiongroup==1.0.1,iniconfig==1.1.1,packaging==21.3,pep517==0.13.0,pluggy==1.0.0,pydantic==1.10.2,pyparsing==3.0.9,pytest==7.2.0,pytest-cov==4.0.0,pytest-mock==3.10.0,tomli==2.0.1,typing_extensions==4.4.0,versioningit @ file:///home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/.tox/.tmp/package/1/versioningit-2.1.0.tar.gz py310 run-test-pre: PYTHONHASHSEED='3492423340' py310 run-test: commands[0] | pytest -v test ============================= test session starts ============================== platform linux -- Python 3.10.8, pytest-7.2.0, pluggy-1.0.0 -- /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0/.tox/py310/bin/python cachedir: .tox/py310/.pytest_cache rootdir: /home/buildozer/aports/testing/py3-versioningit/src/versioningit-2.1.0, configfile: tox.ini plugins: cov-4.0.0, mock-3.10.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.8-final-0 ----------- Name Stmts Miss Branch BrPart Cover Missing --------------------------------------------------------------------------------- src/versioningit/__init__.py 9 0 0 0 100.00% src/versioningit/__main__.py 51 2 18 2 94.20% 64, 70 src/versioningit/basics.py 101 0 28 0 100.00% src/versioningit/cmdclasses.py 35 0 4 0 100.00% src/versioningit/config.py 90 1 44 1 98.51% 18 src/versioningit/core.py 145 6 32 6 93.22% 323, 340, 355, 380, 406, 447 src/versioningit/errors.py 18 0 0 0 100.00% src/versioningit/git.py 183 1 58 1 99.17% 154 src/versioningit/hg.py 76 1 28 1 98.08% 37 src/versioningit/hook.py 20 0 4 0 100.00% src/versioningit/logging.py 48 0 14 1 98.39% 31->33 src/versioningit/methods.py 69 7 26 5 85.26% 17, 63-64, 69, 77, 123, 141 src/versioningit/next_version.py 74 0 16 0 100.00% src/versioningit/onbuild.py 50 0 14 0 100.00% src/versioningit/util.py 107 0 43 0 100.00% --------------------------------------------------------------------------------- TOTAL 1076 18 329 17 97.37% ================== 488 passed, 3 skipped in 284.18s (0:04:44) ================== ___________________________________ 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.1.0-r0.apk >>> py3-versioningit: Build complete at Wed, 09 Nov 2022 23:59:54 +0000 elapsed time 0h 5m 21s >>> py3-versioningit: Cleaning up srcdir >>> py3-versioningit: Cleaning up pkgdir >>> py3-versioningit: Uninstalling dependencies... (1/30) Purging .makedepends-py3-versioningit (20221109.235435) (2/30) Purging py3-setuptools (65.5.1-r0) (3/30) Purging py3-build (0.8.0-r1) (4/30) Purging py3-pep517 (0.13.0-r0) (5/30) Purging py3-installer (0.5.1-r1) (6/30) Purging py3-wheel (0.38.3-r0) (7/30) Purging mercurial (6.2.3-r0) (8/30) Purging py3-pytest (7.2.0-r1) (9/30) Purging py3-attrs (22.1.0-r0) (10/30) Purging py3-exceptiongroup (1.0.1-r0) (11/30) Purging py3-iniconfig (1.1.1-r3) (12/30) Purging py3-tox (3.27.0-r0) (13/30) Purging py3-packaging (21.3-r2) (14/30) Purging py3-parsing (3.0.9-r0) (15/30) Purging py3-pluggy (1.0.0-r1) (16/30) Purging py3-py (1.11.0-r0) (17/30) Purging py3-six (1.16.0-r3) (18/30) Purging py3-virtualenv (20.16.5-r1) (19/30) Purging py3-platformdirs (2.5.3-r0) (20/30) Purging py3-distlib (0.3.6-r0) (21/30) Purging py3-tomli (2.0.1-r1) (22/30) Purging py3-filelock (3.8.0-r0) (23/30) Purging python3 (3.10.8-r3) (24/30) Purging libbz2 (1.0.8-r3) (25/30) Purging libffi (3.4.4-r0) (26/30) Purging gdbm (1.23-r0) (27/30) Purging xz-libs (5.2.7-r0) (28/30) Purging mpdecimal (2.5.1-r1) (29/30) Purging readline (8.2.0-r0) (30/30) Purging sqlite-libs (3.39.4-r0) Executing busybox-1.35.0-r27.trigger OK: 393 MiB in 98 packages >>> py3-versioningit: Updating the testing/x86_64 repository index... >>> py3-versioningit: Signing the index...