>>> py3-cookiecutter: Building testing/py3-cookiecutter 2.6.0-r1 (using abuild 3.12.0-r5) started Mon, 15 Apr 2024 16:07:33 +0000 >>> py3-cookiecutter: Checking sanity of /home/buildozer/aports/testing/py3-cookiecutter/APKBUILD... >>> py3-cookiecutter: Analyzing dependencies... >>> py3-cookiecutter: Installing for build: build-base bash py3-arrow py3-binaryornot py3-click py3-freezegun py3-jinja2 py3-pyaml py3-requests py3-rich py3-slugify py3-gpep517 py3-setuptools py3-wheel py3-pytest py3-pytest-cov py3-pytest-mock (1/89) Installing readline (8.2.10-r0) (2/89) Installing bash (5.2.26-r0) Executing bash-5.2.26-r0.post-install (3/89) Installing libbz2 (1.0.8-r6) (4/89) Installing libffi (3.4.6-r0) (5/89) Installing gdbm (1.23-r1) (6/89) Installing xz-libs (5.6.1-r3) (7/89) Installing mpdecimal (4.0.0-r0) (8/89) Installing libpanelw (6.4_p20240330-r0) (9/89) Installing sqlite-libs (3.45.2-r0) (10/89) Installing python3 (3.12.3-r0) (11/89) Installing python3-pycache-pyc0 (3.12.3-r0) (12/89) Installing pyc (3.12.3-r0) (13/89) Installing py3-six (1.16.0-r9) (14/89) Installing py3-six-pyc (1.16.0-r9) (15/89) Installing py3-dateutil-pyc (2.9.0-r1) (16/89) Installing py3-arrow-pyc (1.3.0-r1) (17/89) Installing python3-pyc (3.12.3-r0) (18/89) Installing py3-dateutil (2.9.0-r1) (19/89) Installing py3-arrow (1.3.0-r1) (20/89) Installing py3-chardet (5.2.0-r1) (21/89) Installing py3-chardet-pyc (5.2.0-r1) (22/89) Installing py3-binaryornot (0.4.4-r5) (23/89) Installing py3-binaryornot-pyc (0.4.4-r5) (24/89) Installing py3-click (8.1.7-r2) (25/89) Installing py3-click-pyc (8.1.7-r2) (26/89) Installing py3-freezegun (1.4.0-r1) (27/89) Installing py3-freezegun-pyc (1.4.0-r1) (28/89) Installing py3-markupsafe (2.1.5-r1) (29/89) Installing py3-markupsafe-pyc (2.1.5-r1) (30/89) Installing py3-jinja2 (3.1.3-r1) (31/89) Installing py3-jinja2-pyc (3.1.3-r1) (32/89) Installing yaml (0.2.5-r2) (33/89) Installing py3-yaml (6.0.1-r3) (34/89) Installing py3-yaml-pyc (6.0.1-r3) (35/89) Installing py3-pyaml (23.12.0-r1) (36/89) Installing py3-pyaml-pyc (23.12.0-r1) (37/89) Installing py3-certifi (2024.2.2-r1) (38/89) Installing py3-certifi-pyc (2024.2.2-r1) (39/89) Installing py3-charset-normalizer (3.3.2-r1) (40/89) Installing py3-charset-normalizer-pyc (3.3.2-r1) (41/89) Installing py3-idna (3.7-r0) (42/89) Installing py3-idna-pyc (3.7-r0) (43/89) Installing py3-urllib3 (1.26.18-r1) (44/89) Installing py3-urllib3-pyc (1.26.18-r1) (45/89) Installing py3-requests (2.31.0-r2) (46/89) Installing py3-requests-pyc (2.31.0-r2) (47/89) Installing py3-attrs (23.2.0-r1) (48/89) Installing py3-attrs-pyc (23.2.0-r1) (49/89) Installing py3-mdurl (0.1.2-r3) (50/89) Installing py3-mdurl-pyc (0.1.2-r3) (51/89) Installing py3-markdown-it-py (3.0.0-r1) (52/89) Installing py3-markdown-it-py-pyc (3.0.0-r1) (53/89) Installing py3-pygments (2.17.2-r1) (54/89) Installing py3-pygments-pyc (2.17.2-r1) (55/89) Installing py3-rich (13.7.1-r1) (56/89) Installing py3-rich-pyc (13.7.1-r1) (57/89) Installing py3-unidecode (1.3.8-r1) (58/89) Installing py3-unidecode-pyc (1.3.8-r1) (59/89) Installing py3-slugify (8.0.4-r1) (60/89) Installing py3-slugify-pyc (8.0.4-r1) (61/89) Installing py3-installer (0.7.0-r2) (62/89) Installing py3-installer-pyc (0.7.0-r2) (63/89) Installing py3-gpep517 (15-r2) (64/89) Installing py3-gpep517-pyc (15-r2) (65/89) Installing py3-parsing (3.1.2-r1) (66/89) Installing py3-parsing-pyc (3.1.2-r1) (67/89) Installing py3-packaging (24.0-r1) (68/89) Installing py3-packaging-pyc (24.0-r1) (69/89) Installing py3-setuptools (69.2.0-r2) (70/89) Installing py3-setuptools-pyc (69.2.0-r2) (71/89) Installing py3-wheel (0.42.0-r1) (72/89) Installing py3-wheel-pyc (0.42.0-r1) (73/89) Installing py3-iniconfig (2.0.0-r1) (74/89) Installing py3-iniconfig-pyc (2.0.0-r1) (75/89) Installing py3-pluggy (1.4.0-r1) (76/89) Installing py3-pluggy-pyc (1.4.0-r1) (77/89) Installing py3-py (1.11.0-r3) (78/89) Installing py3-py-pyc (1.11.0-r3) (79/89) Installing py3-pytest (8.1.1-r1) (80/89) Installing py3-pytest-pyc (8.1.1-r1) (81/89) Installing py3-coverage (6.5.0-r6) (82/89) Installing py3-coverage-pyc (6.5.0-r6) (83/89) Installing py3-pytest-cov (4.1.0-r1) (84/89) Installing py3-pytest-cov-pyc (4.1.0-r1) (85/89) Installing py3-mock (5.1.0-r2) (86/89) Installing py3-mock-pyc (5.1.0-r2) (87/89) Installing py3-pytest-mock (3.10.0-r3) (88/89) Installing py3-pytest-mock-pyc (3.10.0-r3) (89/89) Installing .makedepends-py3-cookiecutter (20240415.160735) Executing busybox-1.36.1-r25.trigger OK: 348 MiB in 192 packages >>> py3-cookiecutter: Cleaning up srcdir >>> py3-cookiecutter: Cleaning up pkgdir >>> py3-cookiecutter: Cleaning up tmpdir >>> py3-cookiecutter: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-cookiecutter-2.6.0.tar.gz >>> py3-cookiecutter: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-cookiecutter-2.6.0.tar.gz >>> py3-cookiecutter: Checking sha512sums... py3-cookiecutter-2.6.0.tar.gz: OK >>> py3-cookiecutter: Unpacking /var/cache/distfiles/py3-cookiecutter-2.6.0.tar.gz... 2024-04-15 16:07:36,016 gpep517 INFO Building wheel via backend setuptools.build_meta:__legacy__ 2024-04-15 16:07:36,052 root INFO running bdist_wheel 2024-04-15 16:07:36,076 root INFO running build 2024-04-15 16:07:36,076 root INFO running build_py 2024-04-15 16:07:36,081 root INFO creating build 2024-04-15 16:07:36,081 root INFO creating build/lib 2024-04-15 16:07:36,081 root INFO creating build/lib/cookiecutter 2024-04-15 16:07:36,081 root INFO copying cookiecutter/__init__.py -> build/lib/cookiecutter 2024-04-15 16:07:36,081 root INFO copying cookiecutter/log.py -> build/lib/cookiecutter 2024-04-15 16:07:36,082 root INFO copying cookiecutter/cli.py -> build/lib/cookiecutter 2024-04-15 16:07:36,082 root INFO copying cookiecutter/find.py -> build/lib/cookiecutter 2024-04-15 16:07:36,082 root INFO copying cookiecutter/exceptions.py -> build/lib/cookiecutter 2024-04-15 16:07:36,082 root INFO copying cookiecutter/vcs.py -> build/lib/cookiecutter 2024-04-15 16:07:36,082 root INFO copying cookiecutter/extensions.py -> build/lib/cookiecutter 2024-04-15 16:07:36,083 root INFO copying cookiecutter/replay.py -> build/lib/cookiecutter 2024-04-15 16:07:36,083 root INFO copying cookiecutter/utils.py -> build/lib/cookiecutter 2024-04-15 16:07:36,083 root INFO copying cookiecutter/repository.py -> build/lib/cookiecutter 2024-04-15 16:07:36,083 root INFO copying cookiecutter/environment.py -> build/lib/cookiecutter 2024-04-15 16:07:36,083 root INFO copying cookiecutter/generate.py -> build/lib/cookiecutter 2024-04-15 16:07:36,084 root INFO copying cookiecutter/hooks.py -> build/lib/cookiecutter 2024-04-15 16:07:36,084 root INFO copying cookiecutter/prompt.py -> build/lib/cookiecutter 2024-04-15 16:07:36,084 root INFO copying cookiecutter/__main__.py -> build/lib/cookiecutter 2024-04-15 16:07:36,084 root INFO copying cookiecutter/zipfile.py -> build/lib/cookiecutter 2024-04-15 16:07:36,084 root INFO copying cookiecutter/main.py -> build/lib/cookiecutter 2024-04-15 16:07:36,085 root INFO copying cookiecutter/config.py -> build/lib/cookiecutter 2024-04-15 16:07:36,085 root INFO running egg_info 2024-04-15 16:07:36,085 root INFO creating cookiecutter.egg-info 2024-04-15 16:07:36,088 root INFO writing cookiecutter.egg-info/PKG-INFO 2024-04-15 16:07:36,089 root INFO writing dependency_links to cookiecutter.egg-info/dependency_links.txt 2024-04-15 16:07:36,089 root INFO writing entry points to cookiecutter.egg-info/entry_points.txt 2024-04-15 16:07:36,089 root INFO writing requirements to cookiecutter.egg-info/requires.txt 2024-04-15 16:07:36,089 root INFO writing top-level names to cookiecutter.egg-info/top_level.txt 2024-04-15 16:07:36,089 root INFO writing manifest file 'cookiecutter.egg-info/SOURCES.txt' 2024-04-15 16:07:36,094 root INFO reading manifest file 'cookiecutter.egg-info/SOURCES.txt' 2024-04-15 16:07:36,094 root INFO reading manifest template 'MANIFEST.in' 2024-04-15 16:07:36,095 root WARNING warning: no previously-included files found matching 'Makefile' 2024-04-15 16:07:36,095 root WARNING warning: no previously-included files found matching '__main__.py' 2024-04-15 16:07:36,095 root WARNING warning: no previously-included files found matching '.*' 2024-04-15 16:07:36,095 root WARNING warning: no previously-included files found matching 'codecov.yml' 2024-04-15 16:07:36,095 root WARNING warning: no previously-included files found matching 'test_requirements.txt' 2024-04-15 16:07:36,095 root WARNING warning: no previously-included files found matching 'tox.ini' 2024-04-15 16:07:36,102 root WARNING warning: no previously-included files matching '__pycache__' found under directory '*' 2024-04-15 16:07:36,103 root WARNING warning: no previously-included files matching '*.py[co]' found under directory '*' 2024-04-15 16:07:36,103 root WARNING warning: no previously-included files matching '*' found under directory 'docs' 2024-04-15 16:07:36,103 root WARNING warning: no previously-included files matching '*' found under directory 'logo' 2024-04-15 16:07:36,103 root INFO adding license file 'LICENSE' 2024-04-15 16:07:36,103 root INFO adding license file 'AUTHORS.md' 2024-04-15 16:07:36,106 root INFO writing manifest file 'cookiecutter.egg-info/SOURCES.txt' 2024-04-15 16:07:36,108 root INFO copying cookiecutter/VERSION.txt -> build/lib/cookiecutter 2024-04-15 16:07:36,117 wheel INFO installing to build/bdist.linux-armv8l/wheel 2024-04-15 16:07:36,117 root INFO running install 2024-04-15 16:07:36,125 root INFO running install_lib 2024-04-15 16:07:36,129 root INFO creating build/bdist.linux-armv8l 2024-04-15 16:07:36,129 root INFO creating build/bdist.linux-armv8l/wheel 2024-04-15 16:07:36,129 root INFO creating build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,130 root INFO copying build/lib/cookiecutter/__init__.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,130 root INFO copying build/lib/cookiecutter/log.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,130 root INFO copying build/lib/cookiecutter/cli.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,130 root INFO copying build/lib/cookiecutter/find.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,130 root INFO copying build/lib/cookiecutter/exceptions.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,130 root INFO copying build/lib/cookiecutter/vcs.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,131 root INFO copying build/lib/cookiecutter/extensions.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,131 root INFO copying build/lib/cookiecutter/replay.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,131 root INFO copying build/lib/cookiecutter/utils.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,131 root INFO copying build/lib/cookiecutter/repository.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,131 root INFO copying build/lib/cookiecutter/environment.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,131 root INFO copying build/lib/cookiecutter/generate.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/hooks.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/prompt.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/__main__.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/zipfile.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/VERSION.txt -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/main.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,132 root INFO copying build/lib/cookiecutter/config.py -> build/bdist.linux-armv8l/wheel/cookiecutter 2024-04-15 16:07:36,133 root INFO running install_egg_info 2024-04-15 16:07:36,138 root INFO Copying cookiecutter.egg-info to build/bdist.linux-armv8l/wheel/cookiecutter-2.6.0-py3.12.egg-info 2024-04-15 16:07:36,139 root INFO running install_scripts 2024-04-15 16:07:36,142 wheel INFO creating build/bdist.linux-armv8l/wheel/cookiecutter-2.6.0.dist-info/WHEEL 2024-04-15 16:07:36,142 wheel INFO creating '/home/buildozer/aports/testing/py3-cookiecutter/src/cookiecutter-2.6.0/.dist/.tmp-1gzijsml/cookiecutter-2.6.0-py3-none-any.whl' and adding 'build/bdist.linux-armv8l/wheel' to it 2024-04-15 16:07:36,143 wheel INFO adding 'cookiecutter/VERSION.txt' 2024-04-15 16:07:36,143 wheel INFO adding 'cookiecutter/__init__.py' 2024-04-15 16:07:36,143 wheel INFO adding 'cookiecutter/__main__.py' 2024-04-15 16:07:36,143 wheel INFO adding 'cookiecutter/cli.py' 2024-04-15 16:07:36,143 wheel INFO adding 'cookiecutter/config.py' 2024-04-15 16:07:36,143 wheel INFO adding 'cookiecutter/environment.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/exceptions.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/extensions.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/find.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/generate.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/hooks.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/log.py' 2024-04-15 16:07:36,144 wheel INFO adding 'cookiecutter/main.py' 2024-04-15 16:07:36,145 wheel INFO adding 'cookiecutter/prompt.py' 2024-04-15 16:07:36,145 wheel INFO adding 'cookiecutter/replay.py' 2024-04-15 16:07:36,145 wheel INFO adding 'cookiecutter/repository.py' 2024-04-15 16:07:36,145 wheel INFO adding 'cookiecutter/utils.py' 2024-04-15 16:07:36,145 wheel INFO adding 'cookiecutter/vcs.py' 2024-04-15 16:07:36,145 wheel INFO adding 'cookiecutter/zipfile.py' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/AUTHORS.md' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/LICENSE' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/METADATA' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/WHEEL' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/entry_points.txt' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/top_level.txt' 2024-04-15 16:07:36,146 wheel INFO adding 'cookiecutter-2.6.0.dist-info/RECORD' 2024-04-15 16:07:36,147 wheel INFO removing build/bdist.linux-armv8l/wheel 2024-04-15 16:07:36,147 gpep517 INFO The backend produced .dist/cookiecutter-2.6.0-py3-none-any.whl cookiecutter-2.6.0-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.1.1, pluggy-1.4.0 -- /home/buildozer/aports/testing/py3-cookiecutter/src/cookiecutter-2.6.0/.testenv/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/testing/py3-cookiecutter/src/cookiecutter-2.6.0 configfile: setup.cfg testpaths: tests plugins: mock-3.10.0, cov-4.1.0 collecting ... collected 371 items tests/replay/test_dump.py::test_type_error_if_no_template_name PASSED [ 0%] tests/replay/test_dump.py::test_type_error_if_not_dict_context PASSED [ 0%] tests/replay/test_dump.py::test_value_error_if_key_missing_in_context PASSED [ 0%] tests/replay/test_dump.py::test_ioerror_if_replay_dir_creation_fails PASSED [ 1%] tests/replay/test_dump.py::test_run_json_dump PASSED [ 1%] tests/replay/test_load.py::test_type_error_if_no_template_name PASSED [ 1%] tests/replay/test_load.py::test_value_error_if_key_missing_in_context PASSED [ 1%] tests/replay/test_load.py::test_io_error_if_no_replay_file PASSED [ 2%] tests/replay/test_load.py::test_run_json_load PASSED [ 2%] tests/replay/test_replay.py::test_get_replay_file_name[bar] PASSED [ 2%] tests/replay/test_replay.py::test_get_replay_file_name[bar.json] PASSED [ 2%] tests/replay/test_replay.py::test_raise_on_invalid_mode[invalid_kwargs0] PASSED [ 3%] tests/replay/test_replay.py::test_raise_on_invalid_mode[invalid_kwargs1] PASSED [ 3%] tests/replay/test_replay.py::test_raise_on_invalid_mode[invalid_kwargs2] PASSED [ 3%] tests/replay/test_replay.py::test_main_does_not_invoke_dump_but_load PASSED [ 4%] tests/replay/test_replay.py::test_main_does_not_invoke_load_but_dump PASSED [ 4%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Simple expansion] PASSED [ 4%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Skip expansion (expansion not an abbreviation)] PASSED [ 4%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Expansion prefix] PASSED [ 5%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[expansion_override_builtin] PASSED [ 5%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[expansion_prefix_ignores_suffix] PASSED [ 5%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Correct expansion for builtin abbreviations (github)] PASSED [ 5%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Correct expansion for builtin abbreviations (gitlab)] PASSED [ 6%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion[Correct expansion for builtin abbreviations (bitbucket)] PASSED [ 6%] tests/repository/test_abbreviation_expansion.py::test_abbreviation_expansion_prefix_not_0_in_braces PASSED [ 6%] tests/repository/test_determine_repo_dir_clones_repo.py::test_zipfile_unzip[/path/to/zipfile.zip-False] PASSED [ 7%] tests/repository/test_determine_repo_dir_clones_repo.py::test_zipfile_unzip[https://example.com/path/to/zipfile.zip-True] PASSED [ 7%] tests/repository/test_determine_repo_dir_clones_repo.py::test_zipfile_unzip[http://example.com/path/to/zipfile.zip-True] PASSED [ 7%] tests/repository/test_determine_repo_dir_clones_repo.py::test_repository_url_should_clone PASSED [ 7%] tests/repository/test_determine_repo_dir_clones_repo.py::test_repository_url_with_no_context_file PASSED [ 8%] tests/repository/test_determine_repo_dir_finds_existing_cookiecutter.py::test_should_find_existing_cookiecutter PASSED [ 8%] tests/repository/test_determine_repo_dir_finds_subdirectories.py::test_should_find_existing_cookiecutter PASSED [ 8%] tests/repository/test_determine_repo_dir_finds_subdirectories.py::test_local_repo_typo PASSED [ 8%] tests/repository/test_determine_repository_should_use_local_repo.py::test_finds_local_repo PASSED [ 9%] tests/repository/test_determine_repository_should_use_local_repo.py::test_local_repo_with_no_context_raises PASSED [ 9%] tests/repository/test_determine_repository_should_use_local_repo.py::test_local_repo_typo PASSED [ 9%] tests/repository/test_is_repo_url.py::test_is_zip_file[/path/to/zipfile.zip] PASSED [ 9%] tests/repository/test_is_repo_url.py::test_is_zip_file[https://example.com/path/to/zipfile.zip] PASSED [ 10%] tests/repository/test_is_repo_url.py::test_is_zip_file[http://example.com/path/to/zipfile.zip] PASSED [ 10%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[gitolite@server:team/repo] PASSED [ 10%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[git@github.com:audreyfeldroy/cookiecutter.git] PASSED [ 11%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[https://github.com/cookiecutter/cookiecutter.git] PASSED [ 11%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[git+https://private.com/gitrepo] PASSED [ 11%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[hg+https://private.com/mercurialrepo] PASSED [ 11%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[https://bitbucket.org/pokoli/cookiecutter.hg] PASSED [ 12%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_remote_urls[file://server/path/to/repo.git] PASSED [ 12%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_local_urls[/audreyr/cookiecutter.git] PASSED [ 12%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_local_urls[/home/audreyr/cookiecutter] PASSED [ 12%] tests/repository/test_is_repo_url.py::test_is_repo_url_for_local_urls[c:\\users\\foo\\appdata\\local\\temp\\1\\pytest-0\\test_default_output_dir0\\template] PASSED [ 13%] tests/repository/test_is_repo_url.py::test_expand_abbreviations PASSED [ 13%] tests/repository/test_repository_has_cookiecutter_json.py::test_valid_repository PASSED [ 13%] tests/repository/test_repository_has_cookiecutter_json.py::test_invalid_repository[tests/fake-repo-bad] PASSED [ 14%] tests/repository/test_repository_has_cookiecutter_json.py::test_invalid_repository[tests/unknown-repo] PASSED [ 14%] tests/test_abort_generate_on_hook_error.py::test_hooks_raises_errors[pre_gen_hook_raises_error] PASSED [ 14%] tests/test_abort_generate_on_hook_error.py::test_hooks_raises_errors[post_gen_hook_raises_error] PASSED [ 14%] tests/test_cli.py::test_cli_version[-V] PASSED [ 15%] tests/test_cli.py::test_cli_version[--version] PASSED [ 15%] tests/test_cli.py::test_cli_error_on_existing_output_directory PASSED [ 15%] tests/test_cli.py::test_cli PASSED [ 15%] tests/test_cli.py::test_cli_verbose PASSED [ 16%] tests/test_cli.py::test_cli_replay PASSED [ 16%] tests/test_cli.py::test_cli_replay_file PASSED [ 16%] tests/test_cli.py::test_cli_replay_generated PASSED [ 16%] tests/test_cli.py::test_cli_exit_on_noinput_and_replay PASSED [ 17%] tests/test_cli.py::test_run_cookiecutter_on_overwrite_if_exists_and_replay[-f] PASSED [ 17%] tests/test_cli.py::test_run_cookiecutter_on_overwrite_if_exists_and_replay[--overwrite-if-exists] PASSED [ 17%] tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_does_not_exist[-f] PASSED [ 18%] tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_does_not_exist[--overwrite-if-exists] PASSED [ 18%] tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_exists[-f] PASSED [ 18%] tests/test_cli.py::test_cli_overwrite_if_exists_when_output_dir_exists[--overwrite-if-exists] PASSED [ 18%] tests/test_cli.py::test_cli_output_dir[-o] PASSED [ 19%] tests/test_cli.py::test_cli_output_dir[--output-dir] PASSED [ 19%] tests/test_cli.py::test_cli_help[-h] PASSED [ 19%] tests/test_cli.py::test_cli_help[--help] PASSED [ 19%] tests/test_cli.py::test_cli_help[help] PASSED [ 20%] tests/test_cli.py::test_user_config PASSED [ 20%] tests/test_cli.py::test_default_user_config_overwrite PASSED [ 20%] tests/test_cli.py::test_default_user_config PASSED [ 21%] tests/test_cli.py::test_echo_undefined_variable_error PASSED [ 21%] tests/test_cli.py::test_echo_unknown_extension_error PASSED [ 21%] tests/test_cli.py::test_local_extension PASSED [ 21%] tests/test_cli.py::test_local_extension_not_available PASSED [ 22%] tests/test_cli.py::test_cli_extra_context PASSED [ 22%] tests/test_cli.py::test_cli_extra_context_invalid_format PASSED [ 22%] tests/test_cli.py::test_debug_file_non_verbose PASSED [ 22%] tests/test_cli.py::test_debug_file_verbose PASSED [ 23%] tests/test_cli.py::test_debug_list_installed_templates PASSED [ 23%] tests/test_cli.py::test_debug_list_installed_templates_failure PASSED [ 23%] tests/test_cli.py::test_directory_repo PASSED [ 23%] tests/test_cli.py::test_cli_accept_hooks[-o---accept-hooks=yes-None-True] PASSED [ 24%] tests/test_cli.py::test_cli_accept_hooks[-o---accept-hooks=no-None-False] PASSED [ 24%] tests/test_cli.py::test_cli_accept_hooks[-o---accept-hooks=ask-yes-True] PASSED [ 24%] tests/test_cli.py::test_cli_accept_hooks[-o---accept-hooks=ask-no-False] PASSED [ 25%] tests/test_cli.py::test_cli_accept_hooks[--output-dir---accept-hooks=yes-None-True] PASSED [ 25%] tests/test_cli.py::test_cli_accept_hooks[--output-dir---accept-hooks=no-None-False] PASSED [ 25%] tests/test_cli.py::test_cli_accept_hooks[--output-dir---accept-hooks=ask-yes-True] PASSED [ 25%] tests/test_cli.py::test_cli_accept_hooks[--output-dir---accept-hooks=ask-no-False] PASSED [ 26%] tests/test_cli.py::test_cli_with_json_decoding_error PASSED [ 26%] tests/test_cli.py::test_cli_with_pre_prompt_hook PASSED [ 26%] tests/test_cli.py::test_cli_with_pre_prompt_hook_fail PASSED [ 26%] tests/test_cookiecutter_invocation.py::test_should_invoke_main PASSED [ 27%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_return_project_dir[tests/fake-repo-pre/] PASSED [ 27%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_return_project_dir[tests/fake-repo-pre] PASSED [ 27%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_extra_context PASSED [ 28%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_templated_context PASSED [ 28%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_no_input_return_rendered_file PASSED [ 28%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_dict_values_in_context PASSED [ 28%] tests/test_cookiecutter_local_no_input.py::test_cookiecutter_template_cleanup PASSED [ 29%] tests/test_cookiecutter_local_with_input.py::test_cookiecutter_local_with_input PASSED [ 29%] tests/test_cookiecutter_local_with_input.py::test_cookiecutter_input_extra_context PASSED [ 29%] tests/test_cookiecutter_nested_templates.py::test_cookiecutter_nested_templates[fake-nested-templates-fake-project] PASSED [ 29%] tests/test_cookiecutter_nested_templates.py::test_cookiecutter_nested_templates[fake-nested-templates-old-style-fake-package] PASSED [ 30%] tests/test_custom_extensions_in_hooks.py::test_hook_with_extension[pre_gen_hook] PASSED [ 30%] tests/test_custom_extensions_in_hooks.py::test_hook_with_extension[post_gen_hook] PASSED [ 30%] tests/test_default_extensions.py::test_jinja2_time_extension PASSED [ 30%] tests/test_default_extensions.py::test_jinja2_slugify_extension PASSED [ 31%] tests/test_default_extensions.py::test_jinja2_uuid_extension PASSED [ 31%] tests/test_environment.py::test_env_should_raise_for_unknown_extension PASSED [ 31%] tests/test_environment.py::test_env_should_come_with_default_extensions PASSED [ 32%] tests/test_exceptions.py::test_undefined_variable_to_str PASSED [ 32%] tests/test_find.py::test_find_template[template with default jinja strings] PASSED [ 32%] tests/test_find.py::test_find_template[template with custom jinja strings] PASSED [ 32%] tests/test_find.py::test_find_template[template with custom jinja strings but folder with default jinja strings] PASSED [ 33%] tests/test_find.py::test_find_template[template missing folder] PASSED [ 33%] tests/test_generate_context.py::test_generate_context[input_params0-expected_context0] PASSED [ 33%] tests/test_generate_context.py::test_generate_context[input_params1-expected_context1] PASSED [ 33%] tests/test_generate_context.py::test_generate_context[input_params2-expected_context2] PASSED [ 34%] tests/test_generate_context.py::test_generate_context[input_params3-expected_context3] PASSED [ 34%] tests/test_generate_context.py::test_generate_context_with_json_decoding_error PASSED [ 34%] tests/test_generate_context.py::test_default_context_replacement_in_generate_context PASSED [ 35%] tests/test_generate_context.py::test_generate_context_decodes_non_ascii_chars PASSED [ 35%] tests/test_generate_context.py::test_apply_overwrites_does_include_unused_variables PASSED [ 35%] tests/test_generate_context.py::test_apply_overwrites_sets_non_list_value PASSED [ 35%] tests/test_generate_context.py::test_apply_overwrites_does_not_modify_choices_for_invalid_overwrite PASSED [ 36%] tests/test_generate_context.py::test_apply_overwrites_invalid_overwrite PASSED [ 36%] tests/test_generate_context.py::test_apply_overwrites_sets_multichoice_values PASSED [ 36%] tests/test_generate_context.py::test_apply_overwrites_invalid_multichoice_values PASSED [ 36%] tests/test_generate_context.py::test_apply_overwrites_error_additional_values PASSED [ 37%] tests/test_generate_context.py::test_apply_overwrites_in_dictionaries PASSED [ 37%] tests/test_generate_context.py::test_apply_overwrites_sets_default_for_choice_variable PASSED [ 37%] tests/test_generate_context.py::test_apply_overwrites_in_nested_dict PASSED [ 38%] tests/test_generate_context.py::test_apply_overwrite_context_as_in_nested_dict_with_additional_values PASSED [ 38%] tests/test_generate_context.py::test_apply_overwrites_in_nested_dict_additional_values PASSED [ 38%] tests/test_generate_copy_without_render.py::test_generate_copy_without_render_extensions PASSED [ 38%] tests/test_generate_copy_without_render_override.py::test_generate_copy_without_render_extensions PASSED [ 39%] tests/test_generate_file.py::test_generate_file PASSED [ 39%] tests/test_generate_file.py::test_generate_file_jsonify_filter PASSED [ 39%] tests/test_generate_file.py::test_generate_file_random_ascii_string[True-10] PASSED [ 39%] tests/test_generate_file.py::test_generate_file_random_ascii_string[True-40] PASSED [ 40%] tests/test_generate_file.py::test_generate_file_random_ascii_string[False-10] PASSED [ 40%] tests/test_generate_file.py::test_generate_file_random_ascii_string[False-40] PASSED [ 40%] tests/test_generate_file.py::test_generate_file_with_true_condition PASSED [ 40%] tests/test_generate_file.py::test_generate_file_with_false_condition PASSED [ 41%] tests/test_generate_file.py::test_generate_file_verbose_template_syntax_error PASSED [ 41%] tests/test_generate_file.py::test_generate_file_does_not_translate_lf_newlines_to_crlf PASSED [ 41%] tests/test_generate_file.py::test_generate_file_does_not_translate_crlf_newlines_to_lf PASSED [ 42%] tests/test_generate_file.py::test_generate_file_handles_mixed_line_endings PASSED [ 42%] tests/test_generate_files.py::test_generate_files_nontemplated_exception PASSED [ 42%] tests/test_generate_files.py::test_generate_files PASSED [ 42%] tests/test_generate_files.py::test_generate_files_with_linux_newline PASSED [ 43%] tests/test_generate_files.py::test_generate_files_with_jinja2_environment PASSED [ 43%] tests/test_generate_files.py::test_generate_files_with_trailing_newline_forced_to_linux_by_context PASSED [ 43%] tests/test_generate_files.py::test_generate_files_with_windows_newline PASSED [ 43%] tests/test_generate_files.py::test_generate_files_with_windows_newline_forced_to_linux_by_context PASSED [ 44%] tests/test_generate_files.py::test_generate_files_binaries PASSED [ 44%] tests/test_generate_files.py::test_generate_files_absolute_path PASSED [ 44%] tests/test_generate_files.py::test_generate_files_output_dir PASSED [ 45%] tests/test_generate_files.py::test_generate_files_permissions PASSED [ 45%] tests/test_generate_files.py::test_generate_files_with_overwrite_if_exists_with_skip_if_file_exists PASSED [ 45%] tests/test_generate_files.py::test_generate_files_with_skip_if_file_exists PASSED [ 45%] tests/test_generate_files.py::test_generate_files_with_overwrite_if_exists PASSED [ 46%] tests/test_generate_files.py::test_raise_undefined_variable_file_name PASSED [ 46%] tests/test_generate_files.py::test_raise_undefined_variable_file_name_existing_project PASSED [ 46%] tests/test_generate_files.py::test_raise_undefined_variable_file_content PASSED [ 46%] tests/test_generate_files.py::test_raise_undefined_variable_dir_name PASSED [ 47%] tests/test_generate_files.py::test_keep_project_dir_on_failure PASSED [ 47%] tests/test_generate_files.py::test_raise_undefined_variable_dir_name_existing_project PASSED [ 47%] tests/test_generate_files.py::test_raise_undefined_variable_project_dir PASSED [ 47%] tests/test_generate_hooks.py::test_ignore_hooks_dirs PASSED [ 48%] tests/test_generate_hooks.py::test_run_python_hooks PASSED [ 48%] tests/test_generate_hooks.py::test_run_python_hooks_cwd PASSED [ 48%] tests/test_generate_hooks.py::test_empty_hooks PASSED [ 49%] tests/test_generate_hooks.py::test_oserror_hooks PASSED [ 49%] tests/test_generate_hooks.py::test_run_failing_hook_removes_output_directory PASSED [ 49%] tests/test_generate_hooks.py::test_run_failing_hook_preserves_existing_output_directory PASSED [ 49%] tests/test_generate_hooks.py::test_run_shell_hooks PASSED [ 50%] tests/test_generate_hooks.py::test_run_shell_hooks_win SKIPPED (Win only test) [ 50%] tests/test_generate_hooks.py::test_ignore_shell_hooks PASSED [ 50%] tests/test_generate_hooks.py::test_deprecate_run_hook_from_repo_dir PASSED [ 50%] tests/test_get_config.py::test_merge_configs PASSED [ 51%] tests/test_get_config.py::test_get_config PASSED [ 51%] tests/test_get_config.py::test_get_config_does_not_exist PASSED [ 51%] tests/test_get_config.py::test_invalid_config PASSED [ 52%] tests/test_get_config.py::test_get_config_with_defaults PASSED [ 52%] tests/test_get_config.py::test_get_config_empty_config_file PASSED [ 52%] tests/test_get_config.py::test_get_config_invalid_file_with_array_as_top_level_element PASSED [ 52%] tests/test_get_config.py::test_get_config_invalid_file_with_multiple_docs PASSED [ 53%] tests/test_get_user_config.py::test_get_user_config_valid PASSED [ 53%] tests/test_get_user_config.py::test_get_user_config_invalid PASSED [ 53%] tests/test_get_user_config.py::test_get_user_config_nonexistent PASSED [ 53%] tests/test_get_user_config.py::test_specify_config_path PASSED [ 54%] tests/test_get_user_config.py::test_default_config_path PASSED [ 54%] tests/test_get_user_config.py::test_default_config_from_env_variable PASSED [ 54%] tests/test_get_user_config.py::test_force_default_config PASSED [ 54%] tests/test_get_user_config.py::test_expand_user_for_directories_in_config PASSED [ 55%] tests/test_get_user_config.py::test_expand_vars_for_directories_in_config PASSED [ 55%] tests/test_get_user_config.py::test_specify_config_values PASSED [ 55%] tests/test_hooks.py::TestFindHooks::test_find_hook PASSED [ 56%] tests/test_hooks.py::TestFindHooks::test_no_hooks PASSED [ 56%] tests/test_hooks.py::TestFindHooks::test_unknown_hooks_dir PASSED [ 56%] tests/test_hooks.py::TestFindHooks::test_hook_not_found PASSED [ 56%] tests/test_hooks.py::TestExternalHooks::test_run_script PASSED [ 57%] tests/test_hooks.py::TestExternalHooks::test_run_failing_script PASSED [ 57%] tests/test_hooks.py::TestExternalHooks::test_run_failing_script_enoexec PASSED [ 57%] tests/test_hooks.py::TestExternalHooks::test_run_script_cwd PASSED [ 57%] tests/test_hooks.py::TestExternalHooks::test_run_script_with_context PASSED [ 58%] tests/test_hooks.py::TestExternalHooks::test_run_hook PASSED [ 58%] tests/test_hooks.py::TestExternalHooks::test_run_failing_hook PASSED [ 58%] tests/test_hooks.py::test_ignore_hook_backup_files PASSED [ 59%] tests/test_log.py::test_info_stdout_logging PASSED [ 59%] tests/test_log.py::test_debug_stdout_logging PASSED [ 59%] tests/test_log.py::test_debug_file_logging PASSED [ 59%] tests/test_main.py::test_original_cookiecutter_options_preserved_in__cookiecutter PASSED [ 60%] tests/test_main.py::test_replay_dump_template_name PASSED [ 60%] tests/test_main.py::test_replay_load_template_name PASSED [ 60%] tests/test_main.py::test_custom_replay_file PASSED [ 60%] tests/test_output_folder.py::test_output_folder PASSED [ 61%] tests/test_output_folder.py::test_exception_when_output_folder_exists PASSED [ 61%] tests/test_pre_prompt_hooks.py::test_run_pre_prompt_python_hook PASSED [ 61%] tests/test_pre_prompt_hooks.py::test_run_pre_prompt_python_hook_fail PASSED [ 61%] tests/test_pre_prompt_hooks.py::test_run_pre_prompt_shell_hook PASSED [ 62%] tests/test_preferred_encoding.py::test_not_ascii PASSED [ 62%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str[1-1] PASSED [ 62%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str[True-True] PASSED [ 63%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str[foo-foo] PASSED [ 63%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str[{{cookiecutter.project}}-foobar] PASSED [ 63%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str[None-None] PASSED [ 63%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str_complex_variables[raw_var0-rendered_var0] PASSED [ 64%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str_complex_variables[raw_var1-rendered_var1] PASSED [ 64%] tests/test_prompt.py::TestRenderVariable::test_convert_to_str_complex_variables[raw_var2-rendered_var2] PASSED [ 64%] tests/test_prompt.py::TestPrompt::test_prompt_for_config[ASCII default prompt/input] PASSED [ 64%] tests/test_prompt.py::TestPrompt::test_prompt_for_config[Unicode default prompt/input] PASSED [ 65%] tests/test_prompt.py::TestPrompt::test_prompt_for_config_with_human_prompts[ASCII default prompt/input] PASSED [ 65%] tests/test_prompt.py::TestPrompt::test_prompt_for_config_with_human_choices[context0] PASSED [ 65%] tests/test_prompt.py::TestPrompt::test_prompt_for_config_with_human_choices[context1] PASSED [ 66%] tests/test_prompt.py::TestPrompt::test_prompt_for_config_with_human_choices[context2] PASSED [ 66%] tests/test_prompt.py::TestPrompt::test_prompt_for_config_dict PASSED [ 66%] tests/test_prompt.py::TestPrompt::test_should_render_dict PASSED [ 66%] tests/test_prompt.py::TestPrompt::test_should_render_deep_dict PASSED [ 67%] tests/test_prompt.py::TestPrompt::test_should_render_deep_dict_with_human_prompts PASSED [ 67%] tests/test_prompt.py::TestPrompt::test_internal_use_no_human_prompts PASSED [ 67%] tests/test_prompt.py::TestPrompt::test_prompt_for_templated_config PASSED [ 67%] tests/test_prompt.py::TestPrompt::test_dont_prompt_for_private_context_var PASSED [ 68%] tests/test_prompt.py::TestPrompt::test_should_render_private_variables_with_two_underscores PASSED [ 68%] tests/test_prompt.py::TestPrompt::test_should_not_render_private_variables PASSED [ 68%] tests/test_prompt.py::TestReadUserChoice::test_should_invoke_read_user_choice PASSED [ 69%] tests/test_prompt.py::TestReadUserChoice::test_should_invoke_read_user_variable PASSED [ 69%] tests/test_prompt.py::TestReadUserChoice::test_should_render_choices PASSED [ 69%] tests/test_prompt.py::TestPromptChoiceForConfig::test_should_return_first_option_if_no_input PASSED [ 69%] tests/test_prompt.py::TestPromptChoiceForConfig::test_should_read_user_choice PASSED [ 70%] tests/test_prompt.py::TestReadUserYesNo::test_should_invoke_read_user_yes_no[True] PASSED [ 70%] tests/test_prompt.py::TestReadUserYesNo::test_should_invoke_read_user_yes_no[False] PASSED [ 70%] tests/test_prompt.py::TestReadUserYesNo::test_boolean_parameter_no_input PASSED [ 70%] tests/test_prompt.py::test_undefined_variable[Undefined variable in cookiecutter dict] PASSED [ 71%] tests/test_prompt.py::test_undefined_variable[Undefined variable in cookiecutter dict with choices] PASSED [ 71%] tests/test_prompt.py::test_undefined_variable[Undefined variable in cookiecutter dict with dict_key] PASSED [ 71%] tests/test_prompt.py::test_undefined_variable[Undefined variable in cookiecutter dict with key_value] PASSED [ 71%] tests/test_prompt.py::test_cookiecutter_nested_templates[fake-nested-templates-fake-project] PASSED [ 72%] tests/test_prompt.py::test_cookiecutter_nested_templates[fake-nested-templates-old-style-fake-package] PASSED [ 72%] tests/test_prompt.py::test_cookiecutter_nested_templates_invalid_paths[] PASSED [ 72%] tests/test_prompt.py::test_cookiecutter_nested_templates_invalid_paths[/tmp] PASSED [ 73%] tests/test_prompt.py::test_cookiecutter_nested_templates_invalid_paths[/foo] PASSED [ 73%] tests/test_prompt.py::test_cookiecutter_nested_templates_invalid_win_paths[] SKIPPED [ 73%] tests/test_prompt.py::test_cookiecutter_nested_templates_invalid_win_paths[C:/tmp] SKIPPED [ 73%] tests/test_prompt.py::test_cookiecutter_nested_templates_invalid_win_paths[D:/tmp] SKIPPED [ 74%] tests/test_prompt.py::test_prompt_should_ask_and_rm_repo_dir PASSED [ 74%] tests/test_prompt.py::test_prompt_should_ask_and_exit_on_user_no_answer PASSED [ 74%] tests/test_prompt.py::test_prompt_should_ask_and_rm_repo_file PASSED [ 74%] tests/test_prompt.py::test_prompt_should_ask_and_keep_repo_on_no_reuse PASSED [ 75%] tests/test_prompt.py::test_prompt_should_ask_and_keep_repo_on_reuse PASSED [ 75%] tests/test_prompt.py::test_prompt_should_not_ask_if_no_input_and_rm_repo_dir PASSED [ 75%] tests/test_prompt.py::test_prompt_should_not_ask_if_no_input_and_rm_repo_file PASSED [ 76%] tests/test_read_repo_password.py::test_click_invocation PASSED [ 76%] tests/test_read_user_choice.py::test_click_invocation[1-hello] PASSED [ 76%] tests/test_read_user_choice.py::test_click_invocation[2-world] PASSED [ 76%] tests/test_read_user_choice.py::test_click_invocation[3-foo] PASSED [ 77%] tests/test_read_user_choice.py::test_click_invocation[4-bar] PASSED [ 77%] tests/test_read_user_choice.py::test_raise_if_options_is_not_a_non_empty_list PASSED [ 77%] tests/test_read_user_dict.py::test_process_json_invalid_json PASSED [ 77%] tests/test_read_user_dict.py::test_process_json_non_dict PASSED [ 78%] tests/test_read_user_dict.py::test_process_json_valid_json PASSED [ 78%] tests/test_read_user_dict.py::test_process_json_deep_dict PASSED [ 78%] tests/test_read_user_dict.py::test_should_raise_type_error PASSED [ 78%] tests/test_read_user_dict.py::test_should_call_prompt_with_process_json PASSED [ 79%] tests/test_read_user_dict.py::test_should_not_load_json_from_sentinel PASSED [ 79%] tests/test_read_user_dict.py::test_read_user_dict_default_value[\n] PASSED [ 79%] tests/test_read_user_dict.py::test_read_user_dict_default_value[\ndefault\n] PASSED [ 80%] tests/test_read_user_dict.py::test_json_prompt_process_response PASSED [ 80%] tests/test_read_user_variable.py::test_click_invocation PASSED [ 80%] tests/test_read_user_variable.py::test_input_loop_with_null_default_value PASSED [ 80%] tests/test_read_user_yes_no.py::test_click_invocation PASSED [ 81%] tests/test_read_user_yes_no.py::test_yesno_prompt_process_response PASSED [ 81%] tests/test_repo_not_found.py::test_should_raise_error_if_repo_does_not_exist PASSED [ 81%] tests/test_specify_output_dir.py::test_api_invocation PASSED [ 81%] tests/test_specify_output_dir.py::test_default_output_dir PASSED [ 82%] tests/test_templates.py::test_build_templates[include] PASSED [ 82%] tests/test_templates.py::test_build_templates[no-templates] PASSED [ 82%] tests/test_templates.py::test_build_templates[extends] PASSED [ 83%] tests/test_templates.py::test_build_templates[super] PASSED [ 83%] tests/test_time_extension.py::test_tz_is_required PASSED [ 83%] tests/test_time_extension.py::test_utc_default_datetime_format PASSED [ 83%] tests/test_time_extension.py::test_accept_valid_timezones[utc] PASSED [ 84%] tests/test_time_extension.py::test_accept_valid_timezones[local] PASSED [ 84%] tests/test_time_extension.py::test_accept_valid_timezones[Europe/Berlin] PASSED [ 84%] tests/test_time_extension.py::test_environment_datetime_format PASSED [ 84%] tests/test_time_extension.py::test_add_time PASSED [ 85%] tests/test_time_extension.py::test_substract_time PASSED [ 85%] tests/test_time_extension.py::test_offset_with_format PASSED [ 85%] tests/test_utils.py::test_force_delete PASSED [ 85%] tests/test_utils.py::test_rmtree PASSED [ 86%] tests/test_utils.py::test_make_sure_path_exists PASSED [ 86%] tests/test_utils.py::test_make_sure_path_exists_correctly_handle_os_error PASSED [ 86%] tests/test_utils.py::test_work_in PASSED [ 87%] tests/test_utils.py::test_work_in_without_path PASSED [ 87%] tests/test_utils.py::test_create_tmp_repo_dir PASSED [ 87%] tests/vcs/test_clone.py::test_clone_should_raise_if_vcs_not_installed PASSED [ 87%] tests/vcs/test_clone.py::test_clone_should_rstrip_trailing_slash_in_repo_url PASSED [ 88%] tests/vcs/test_clone.py::test_clone_should_abort_if_user_does_not_want_to_reclone PASSED [ 88%] tests/vcs/test_clone.py::test_clone_should_silent_exit_if_ok_to_reuse PASSED [ 88%] tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[git-https://github.com/hello/world.git-world] PASSED [ 88%] tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[hg-https://bitbucket.org/foo/bar-bar] PASSED [ 89%] tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[git-git@host:gitoliterepo-gitoliterepo] PASSED [ 89%] tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[git-git@gitlab.com:cookiecutter/cookiecutter.git-cookiecutter] PASSED [ 89%] tests/vcs/test_clone.py::test_clone_should_invoke_vcs_command[git-git@github.com:cookiecutter/cookiecutter.git-cookiecutter] PASSED [ 90%] tests/vcs/test_clone.py::test_clone_handles_repo_typo[fatal: repository 'https://github.com/hackebro/cookiedozer' not found] PASSED [ 90%] tests/vcs/test_clone.py::test_clone_handles_repo_typo[hg: abort: HTTP Error 404: Not Found] PASSED [ 90%] tests/vcs/test_clone.py::test_clone_handles_branch_typo[error: pathspec 'unknown_branch' did not match any file(s) known to git] PASSED [ 90%] tests/vcs/test_clone.py::test_clone_handles_branch_typo[hg: abort: unknown revision 'unknown_branch'!] PASSED [ 91%] tests/vcs/test_clone.py::test_clone_unknown_subprocess_error PASSED [ 91%] tests/vcs/test_identify_repo.py::test_identify_known_repo[git+https://github.com/pytest-dev/cookiecutter-pytest-plugin.git-git-https://github.com/pytest-dev/cookiecutter-pytest-plugin.git] PASSED [ 91%] tests/vcs/test_identify_repo.py::test_identify_known_repo[hg+https://bitbucket.org/foo/bar.hg-hg-https://bitbucket.org/foo/bar.hg] PASSED [ 91%] tests/vcs/test_identify_repo.py::test_identify_known_repo[https://github.com/pytest-dev/cookiecutter-pytest-plugin.git-git-https://github.com/pytest-dev/cookiecutter-pytest-plugin.git] PASSED [ 92%] tests/vcs/test_identify_repo.py::test_identify_known_repo[https://bitbucket.org/foo/bar.hg-hg-https://bitbucket.org/foo/bar.hg] PASSED [ 92%] tests/vcs/test_identify_repo.py::test_identify_known_repo[https://github.com/audreyfeldroy/cookiecutter-pypackage.git-git-https://github.com/audreyfeldroy/cookiecutter-pypackage.git] PASSED [ 92%] tests/vcs/test_identify_repo.py::test_identify_known_repo[https://github.com/audreyfeldroy/cookiecutter-pypackage-git-https://github.com/audreyfeldroy/cookiecutter-pypackage] PASSED [ 92%] tests/vcs/test_identify_repo.py::test_identify_known_repo[git@gitorious.org:cookiecutter-gitorious/cookiecutter-gitorious.git-git-git@gitorious.org:cookiecutter-gitorious/cookiecutter-gitorious.git] PASSED [ 93%] tests/vcs/test_identify_repo.py::test_identify_known_repo[https://audreyr@bitbucket.org/audreyr/cookiecutter-bitbucket-hg-https://audreyr@bitbucket.org/audreyr/cookiecutter-bitbucket] PASSED [ 93%] tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foo+git] PASSED [ 93%] tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foo+hg] PASSED [ 94%] tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foo+bar] PASSED [ 94%] tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[foobar] PASSED [ 94%] tests/vcs/test_identify_repo.py::test_identify_raise_on_unknown_repo[http://norepotypespecified.com] PASSED [ 94%] tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[-False] PASSED [ 95%] tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[None-False] PASSED [ 95%] tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[False-False] PASSED [ 95%] tests/vcs/test_is_vcs_installed.py::test_is_vcs_installed[/usr/local/bin/git-True] PASSED [ 95%] tests/zipfile/test_unzip.py::test_unzip_local_file PASSED [ 96%] tests/zipfile/test_unzip.py::test_unzip_protected_local_file_environment_password PASSED [ 96%] tests/zipfile/test_unzip.py::test_unzip_protected_local_file_bad_environment_password PASSED [ 96%] tests/zipfile/test_unzip.py::test_unzip_protected_local_file_user_password_with_noinput PASSED [ 97%] tests/zipfile/test_unzip.py::test_unzip_protected_local_file_user_password PASSED [ 97%] tests/zipfile/test_unzip.py::test_unzip_protected_local_file_user_bad_password PASSED [ 97%] tests/zipfile/test_unzip.py::test_empty_zip_file PASSED [ 97%] tests/zipfile/test_unzip.py::test_non_repo_zip_file PASSED [ 98%] tests/zipfile/test_unzip.py::test_bad_zip_file PASSED [ 98%] tests/zipfile/test_unzip.py::test_unzip_url PASSED [ 98%] tests/zipfile/test_unzip.py::test_unzip_url_with_empty_chunks PASSED [ 98%] tests/zipfile/test_unzip.py::test_unzip_url_existing_cache PASSED [ 99%] tests/zipfile/test_unzip.py::test_unzip_url_existing_cache_no_input PASSED [ 99%] tests/zipfile/test_unzip.py::test_unzip_should_abort_if_no_redownload PASSED [ 99%] tests/zipfile/test_unzip.py::test_unzip_is_ok_to_reuse PASSED [100%] ---------- coverage: platform linux, python 3.12.3-final-0 ----------- Name Stmts Miss Cover Missing ----------------------------------------------------------- cookiecutter/__init__.py 6 0 100% cookiecutter/__main__.py 1 0 100% cookiecutter/cli.py 74 0 100% cookiecutter/config.py 57 0 100% cookiecutter/environment.py 20 0 100% cookiecutter/exceptions.py 23 0 100% cookiecutter/extensions.py 66 0 100% cookiecutter/find.py 15 0 100% cookiecutter/generate.py 187 0 100% cookiecutter/hooks.py 89 0 100% cookiecutter/log.py 21 0 100% cookiecutter/main.py 72 0 100% cookiecutter/prompt.py 182 0 100% cookiecutter/replay.py 27 0 100% cookiecutter/repository.py 39 0 100% cookiecutter/utils.py 50 0 100% cookiecutter/vcs.py 60 0 100% cookiecutter/zipfile.py 58 0 100% ----------------------------------------------------------- TOTAL 1047 0 100% ======================= 367 passed, 4 skipped in 24.02s ======================== >>> py3-cookiecutter: Entering fakeroot... >>> py3-cookiecutter-doc*: Running split function doc... >>> py3-cookiecutter-doc*: Preparing subpackage py3-cookiecutter-doc... >>> py3-cookiecutter-doc*: Running postcheck for py3-cookiecutter-doc >>> py3-cookiecutter-pyc*: Running split function pyc... '/home/buildozer/aports/testing/py3-cookiecutter/pkg/py3-cookiecutter/usr/lib/python3.12/site-packages/cookiecutter/__pycache__' -> '/home/buildozer/aports/testing/py3-cookiecutter/pkg/py3-cookiecutter-pyc/usr/lib/python3.12/site-packages/cookiecutter/__pycache__' >>> py3-cookiecutter-pyc*: Preparing subpackage py3-cookiecutter-pyc... >>> py3-cookiecutter-pyc*: Running postcheck for py3-cookiecutter-pyc >>> py3-cookiecutter*: Running postcheck for py3-cookiecutter >>> py3-cookiecutter*: Preparing package py3-cookiecutter... >>> py3-cookiecutter-doc*: Tracing dependencies... >>> py3-cookiecutter-doc*: Package size: 28.0 KB >>> py3-cookiecutter-doc*: Compressing data... >>> py3-cookiecutter-doc*: Create checksum... >>> py3-cookiecutter-doc*: Create py3-cookiecutter-doc-2.6.0-r1.apk >>> py3-cookiecutter-pyc*: Tracing dependencies... bash py3-arrow py3-binaryornot py3-click py3-freezegun py3-jinja2 py3-pyaml py3-requests py3-rich py3-slugify python3~3.12 >>> py3-cookiecutter-pyc*: Package size: 168.0 KB >>> py3-cookiecutter-pyc*: Compressing data... >>> py3-cookiecutter-pyc*: Create checksum... >>> py3-cookiecutter-pyc*: Create py3-cookiecutter-pyc-2.6.0-r1.apk >>> py3-cookiecutter*: Tracing dependencies... bash py3-arrow py3-binaryornot py3-click py3-freezegun py3-jinja2 py3-pyaml py3-requests py3-rich py3-slugify python3~3.12 >>> py3-cookiecutter*: Package size: 208.0 KB >>> py3-cookiecutter*: Compressing data... >>> py3-cookiecutter*: Create checksum... >>> py3-cookiecutter*: Create py3-cookiecutter-2.6.0-r1.apk >>> py3-cookiecutter: Build complete at Mon, 15 Apr 2024 16:08:01 +0000 elapsed time 0h 0m 28s >>> py3-cookiecutter: Cleaning up srcdir >>> py3-cookiecutter: Cleaning up pkgdir >>> py3-cookiecutter: Uninstalling dependencies... (1/89) Purging .makedepends-py3-cookiecutter (20240415.160735) (2/89) Purging bash (5.2.26-r0) Executing bash-5.2.26-r0.pre-deinstall (3/89) Purging py3-arrow-pyc (1.3.0-r1) (4/89) Purging py3-arrow (1.3.0-r1) (5/89) Purging py3-binaryornot-pyc (0.4.4-r5) (6/89) Purging py3-binaryornot (0.4.4-r5) (7/89) Purging py3-chardet-pyc (5.2.0-r1) (8/89) Purging py3-chardet (5.2.0-r1) (9/89) Purging py3-click-pyc (8.1.7-r2) (10/89) Purging py3-click (8.1.7-r2) (11/89) Purging py3-freezegun-pyc (1.4.0-r1) (12/89) Purging py3-freezegun (1.4.0-r1) (13/89) Purging py3-dateutil-pyc (2.9.0-r1) (14/89) Purging py3-dateutil (2.9.0-r1) (15/89) Purging py3-six-pyc (1.16.0-r9) (16/89) Purging py3-six (1.16.0-r9) (17/89) Purging py3-jinja2-pyc (3.1.3-r1) (18/89) Purging py3-jinja2 (3.1.3-r1) (19/89) Purging py3-markupsafe-pyc (2.1.5-r1) (20/89) Purging py3-markupsafe (2.1.5-r1) (21/89) Purging py3-pyaml-pyc (23.12.0-r1) (22/89) Purging py3-pyaml (23.12.0-r1) (23/89) Purging py3-yaml-pyc (6.0.1-r3) (24/89) Purging py3-yaml (6.0.1-r3) (25/89) Purging py3-requests-pyc (2.31.0-r2) (26/89) Purging py3-requests (2.31.0-r2) (27/89) Purging py3-certifi-pyc (2024.2.2-r1) (28/89) Purging py3-certifi (2024.2.2-r1) (29/89) Purging py3-charset-normalizer-pyc (3.3.2-r1) (30/89) Purging py3-charset-normalizer (3.3.2-r1) (31/89) Purging py3-idna-pyc (3.7-r0) (32/89) Purging py3-idna (3.7-r0) (33/89) Purging py3-urllib3-pyc (1.26.18-r1) (34/89) Purging py3-urllib3 (1.26.18-r1) (35/89) Purging py3-rich-pyc (13.7.1-r1) (36/89) Purging py3-rich (13.7.1-r1) (37/89) Purging py3-markdown-it-py-pyc (3.0.0-r1) (38/89) Purging py3-markdown-it-py (3.0.0-r1) (39/89) Purging py3-attrs-pyc (23.2.0-r1) (40/89) Purging py3-attrs (23.2.0-r1) (41/89) Purging py3-mdurl-pyc (0.1.2-r3) (42/89) Purging py3-mdurl (0.1.2-r3) (43/89) Purging py3-pygments-pyc (2.17.2-r1) (44/89) Purging py3-pygments (2.17.2-r1) (45/89) Purging py3-slugify-pyc (8.0.4-r1) (46/89) Purging py3-slugify (8.0.4-r1) (47/89) Purging py3-unidecode-pyc (1.3.8-r1) (48/89) Purging py3-unidecode (1.3.8-r1) (49/89) Purging py3-gpep517-pyc (15-r2) (50/89) Purging py3-gpep517 (15-r2) (51/89) Purging py3-installer-pyc (0.7.0-r2) (52/89) Purging py3-installer (0.7.0-r2) (53/89) Purging py3-setuptools-pyc (69.2.0-r2) (54/89) Purging py3-setuptools (69.2.0-r2) (55/89) Purging py3-wheel-pyc (0.42.0-r1) (56/89) Purging py3-wheel (0.42.0-r1) (57/89) Purging py3-pytest-cov-pyc (4.1.0-r1) (58/89) Purging py3-pytest-cov (4.1.0-r1) (59/89) Purging py3-coverage-pyc (6.5.0-r6) (60/89) Purging py3-coverage (6.5.0-r6) (61/89) Purging py3-pytest-mock-pyc (3.10.0-r3) (62/89) Purging py3-pytest-mock (3.10.0-r3) (63/89) Purging py3-mock-pyc (5.1.0-r2) (64/89) Purging py3-mock (5.1.0-r2) (65/89) Purging py3-pytest-pyc (8.1.1-r1) (66/89) Purging py3-pytest (8.1.1-r1) (67/89) Purging py3-iniconfig-pyc (2.0.0-r1) (68/89) Purging py3-iniconfig (2.0.0-r1) (69/89) Purging py3-packaging-pyc (24.0-r1) (70/89) Purging py3-packaging (24.0-r1) (71/89) Purging py3-parsing-pyc (3.1.2-r1) (72/89) Purging py3-parsing (3.1.2-r1) (73/89) Purging py3-pluggy-pyc (1.4.0-r1) (74/89) Purging py3-pluggy (1.4.0-r1) (75/89) Purging py3-py-pyc (1.11.0-r3) (76/89) Purging py3-py (1.11.0-r3) (77/89) Purging python3-pyc (3.12.3-r0) (78/89) Purging python3-pycache-pyc0 (3.12.3-r0) (79/89) Purging pyc (3.12.3-r0) (80/89) Purging yaml (0.2.5-r2) (81/89) Purging python3 (3.12.3-r0) (82/89) Purging gdbm (1.23-r1) (83/89) Purging libbz2 (1.0.8-r6) (84/89) Purging libffi (3.4.6-r0) (85/89) Purging libpanelw (6.4_p20240330-r0) (86/89) Purging mpdecimal (4.0.0-r0) (87/89) Purging readline (8.2.10-r0) (88/89) Purging sqlite-libs (3.45.2-r0) (89/89) Purging xz-libs (5.6.1-r3) Executing busybox-1.36.1-r25.trigger OK: 270 MiB in 103 packages >>> py3-cookiecutter: Updating the testing/armv7 repository index... >>> py3-cookiecutter: Signing the index...