py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python --version
Python 3.9.19
py$(PYV): commands[1]> python -m pytest --cov=pyproject_parser -r aR tests/
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: tox.ini
timeout: 300.0s
timeout method: signal
timeout func_only: False
collecting ... collected 546 items

tests/test_classes.py::TestLicense::test_no_test_or_file PASSED
tests/test_classes.py::TestLicense::test_resolve PASSED
tests/test_classes.py::TestLicense::test_resolve_inplace PASSED
tests/test_classes.py::TestLicense::test_to_dict PASSED
tests/test_classes.py::TestLicense::test_to_pep621_dict PASSED
tests/test_classes.py::TestReadme::test_content_type_sole_arg PASSED
tests/test_classes.py::TestReadme::test_from_file PASSED
tests/test_classes.py::TestReadme::test_from_file_bad_filetype PASSED
tests/test_classes.py::TestReadme::test_from_file_charset PASSED
tests/test_classes.py::TestReadme::test_invalid_content_types PASSED
tests/test_classes.py::TestReadme::test_no_test_or_file PASSED
tests/test_classes.py::TestReadme::test_resolve PASSED
tests/test_classes.py::TestReadme::test_resolve_inplace PASSED
tests/test_classes.py::TestReadme::test_to_dict PASSED
tests/test_classes.py::TestReadme::test_to_pep621_dict PASSED
tests/test_cli.py::test_check[COMPLETE_A] PASSED
tests/test_cli.py::test_check[COMPLETE_B] PASSED
tests/test_cli.py::test_check[COMPLETE_PROJECT_A] PASSED
tests/test_cli.py::test_check[authors] PASSED
tests/test_cli.py::test_check[backend_path] PASSED
tests/test_cli.py::test_check[backend_paths] PASSED
tests/test_cli.py::test_check[classifiers] PASSED
tests/test_cli.py::test_check[complete] PASSED
tests/test_cli.py::test_check[dependencies] PASSED
tests/test_cli.py::test_check[description] PASSED
tests/test_cli.py::test_check[entry_points] PASSED
tests/test_cli.py::test_check[keywords] PASSED
tests/test_cli.py::test_check[maintainers] PASSED
tests/test_cli.py::test_check[minimal] PASSED
tests/test_cli.py::test_check[optional-dependencies-empty-group] PASSED
tests/test_cli.py::test_check[optional-dependencies] PASSED
tests/test_cli.py::test_check[requires-python] PASSED
tests/test_cli.py::test_check[requires-python_complex] PASSED
tests/test_cli.py::test_check[requires_nothing] PASSED
tests/test_cli.py::test_check[requires_setuptools] PASSED
tests/test_cli.py::test_check[requires_whey] PASSED
tests/test_cli.py::test_check[unicode] PASSED
tests/test_cli.py::test_check[urls] PASSED
tests/test_cli.py::test_check_error[build-system] PASSED
tests/test_cli.py::test_check_error[project] PASSED
tests/test_cli.py::test_check_error[top-level] PASSED
tests/test_cli.py::test_check_error[top_level_typo_caps] PASSED
tests/test_cli.py::test_check_error[top_level_typo_underscore] PASSED
tests/test_cli.py::test_check_error_caught[author_comma] PASSED
tests/test_cli.py::test_check_error_caught[bad_name] PASSED
tests/test_cli.py::test_check_error_caught[bad_requires_python] PASSED
tests/test_cli.py::test_check_error_caught[bad_version] PASSED
tests/test_cli.py::test_check_error_caught[build-system] PASSED
tests/test_cli.py::test_check_error_caught[project] PASSED
tests/test_cli.py::test_check_error_caught[top-level] PASSED
tests/test_cli.py::test_check_error_caught[top_level_typo_caps] PASSED
tests/test_cli.py::test_check_error_caught[top_level_typo_underscore] PASSED
tests/test_cli.py::test_check_extra_deprecation[duplicate_extra_1] PASSED
tests/test_cli.py::test_check_extra_deprecation[duplicate_extra_2] PASSED
tests/test_cli.py::test_check_extra_deprecation[duplicate_extra_3] PASSED
tests/test_cli.py::test_check_extra_deprecation_warning[duplicate_extra_1] PASSED
tests/test_cli.py::test_check_extra_deprecation_warning[duplicate_extra_2] PASSED
tests/test_cli.py::test_check_extra_deprecation_warning[duplicate_extra_3] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions[Abort] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions[EOFError] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions[KeyboardInterrupt] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions[SystemExit] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions_click[exception0] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions_click[exception1] PASSED
tests/test_cli.py::test_handle_tracebacks_ignored_exceptions_click[exception2] PASSED
tests/test_cli.py::test_info[0-all] PASSED
tests/test_cli.py::test_info[0-build-system.requires] PASSED
tests/test_cli.py::test_info[0-build-system] PASSED
tests/test_cli.py::test_info[0-first_author] PASSED
tests/test_cli.py::test_info[0-first_build_requirement] PASSED
tests/test_cli.py::test_info[0-fourth_keyword] PASSED
tests/test_cli.py::test_info[0-project.authors] PASSED
tests/test_cli.py::test_info[0-project.urls.Source Code] PASSED
tests/test_cli.py::test_info[0-project] PASSED
tests/test_cli.py::test_info[0-tool.whey.base-classifiers] PASSED
tests/test_cli.py::test_info[2-all] PASSED
tests/test_cli.py::test_info[2-build-system.requires] PASSED
tests/test_cli.py::test_info[2-build-system] PASSED
tests/test_cli.py::test_info[2-first_author] PASSED
tests/test_cli.py::test_info[2-first_build_requirement] PASSED
tests/test_cli.py::test_info[2-fourth_keyword] PASSED
tests/test_cli.py::test_info[2-project.authors] PASSED
tests/test_cli.py::test_info[2-project.urls.Source Code] PASSED
tests/test_cli.py::test_info[2-project] PASSED
tests/test_cli.py::test_info[2-tool.whey.base-classifiers] PASSED
tests/test_cli.py::test_info[4-all] PASSED
tests/test_cli.py::test_info[4-build-system.requires] PASSED
tests/test_cli.py::test_info[4-build-system] PASSED
tests/test_cli.py::test_info[4-first_author] PASSED
tests/test_cli.py::test_info[4-first_build_requirement] PASSED
tests/test_cli.py::test_info[4-fourth_keyword] PASSED
tests/test_cli.py::test_info[4-project.authors] PASSED
tests/test_cli.py::test_info[4-project.urls.Source Code] PASSED
tests/test_cli.py::test_info[4-project] PASSED
tests/test_cli.py::test_info[4-tool.whey.base-classifiers] PASSED
tests/test_cli.py::test_info[None-all] PASSED
tests/test_cli.py::test_info[None-build-system.requires] PASSED
tests/test_cli.py::test_info[None-build-system] PASSED
tests/test_cli.py::test_info[None-first_author] PASSED
tests/test_cli.py::test_info[None-first_build_requirement] PASSED
tests/test_cli.py::test_info[None-fourth_keyword] PASSED
tests/test_cli.py::test_info[None-project.authors] PASSED
tests/test_cli.py::test_info[None-project.urls.Source Code] PASSED
tests/test_cli.py::test_info[None-project] PASSED
tests/test_cli.py::test_info[None-tool.whey.base-classifiers] PASSED
tests/test_cli.py::test_info_readme_license[False-0-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-0-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-0-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-0-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-0-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-0-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-0-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-0-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-0-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-0-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-0-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-0-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-2-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-2-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-2-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-2-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-2-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-2-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-2-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-2-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-2-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-2-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-2-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-2-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-4-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-4-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-4-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-4-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-4-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-4-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-4-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-4-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-4-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-4-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-4-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-4-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-None-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-None-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-None-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-None-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-None-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-None-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[False-None-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[False-None-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[False-None-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[False-None-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[False-None-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[False-None-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-0-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-0-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-0-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-0-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-0-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-0-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-0-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-0-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-0-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-0-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-0-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-0-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-2-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-2-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-2-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-2-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-2-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-2-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-2-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-2-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-2-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-2-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-2-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-2-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-4-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-4-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-4-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-4-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-4-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-4-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-4-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-4-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-4-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-4-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-4-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-4-1-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-None-0-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-None-0-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-None-0-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-None-0-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-None-0-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-None-0-project.readme] PASSED
tests/test_cli.py::test_info_readme_license[True-None-1-project.license.file] PASSED
tests/test_cli.py::test_info_readme_license[True-None-1-project.license.text] PASSED
tests/test_cli.py::test_info_readme_license[True-None-1-project.license] PASSED
tests/test_cli.py::test_info_readme_license[True-None-1-project.readme.file] PASSED
tests/test_cli.py::test_info_readme_license[True-None-1-project.readme.text] PASSED
tests/test_cli.py::test_info_readme_license[True-None-1-project.readme] PASSED
tests/test_cli.py::test_reformat[False-COMPLETE_A] PASSED
tests/test_cli.py::test_reformat[False-COMPLETE_A_WITH_FILES] PASSED
tests/test_cli.py::test_reformat[False-COMPLETE_B] PASSED
tests/test_cli.py::test_reformat[False-COMPLETE_PROJECT_A] PASSED
tests/test_cli.py::test_reformat[False-COMPLETE_UNDERSCORE_NAME] PASSED
tests/test_cli.py::test_reformat[False-UNORDERED] PASSED
tests/test_cli.py::test_reformat[True-COMPLETE_A] PASSED
tests/test_cli.py::test_reformat[True-COMPLETE_A_WITH_FILES] PASSED
tests/test_cli.py::test_reformat[True-COMPLETE_B] PASSED
tests/test_cli.py::test_reformat[True-COMPLETE_PROJECT_A] PASSED
tests/test_cli.py::test_reformat[True-COMPLETE_UNDERSCORE_NAME] PASSED
tests/test_cli.py::test_reformat[True-UNORDERED] PASSED
tests/test_cli.py::test_traceback_handler[AttributeError] PASSED
tests/test_cli.py::test_traceback_handler[BadConfigError] PASSED
tests/test_cli.py::test_traceback_handler[Exception] PASSED
tests/test_cli.py::test_traceback_handler[FileExistsError] PASSED
tests/test_cli.py::test_traceback_handler[FileNotFoundError] PASSED
tests/test_cli.py::test_traceback_handler[FileNotFoundError_path] PASSED
tests/test_cli.py::test_traceback_handler[FileNotFoundError_path_move_etc] PASSED
tests/test_cli.py::test_traceback_handler[FileNotFoundError_path_move_etc_win] PASSED
tests/test_cli.py::test_traceback_handler[FileNotFoundError_path_win] PASSED
tests/test_cli.py::test_traceback_handler[FileNotFoundError_win] PASSED
tests/test_cli.py::test_traceback_handler[ImportError] PASSED
tests/test_cli.py::test_traceback_handler[KeyError] PASSED
tests/test_cli.py::test_traceback_handler[ModuleNotFoundError] PASSED
tests/test_cli.py::test_traceback_handler[NameError] PASSED
tests/test_cli.py::test_traceback_handler[SyntaxError] PASSED
tests/test_cli.py::test_traceback_handler[TypeError] PASSED
tests/test_cli.py::test_traceback_handler[ValueError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[AttributeError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[BadConfigError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[Exception] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileExistsError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileNotFoundError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileNotFoundError_path] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileNotFoundError_path_move_etc] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileNotFoundError_path_move_etc_win] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileNotFoundError_path_win] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[FileNotFoundError_win] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[ImportError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[KeyError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[ModuleNotFoundError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[NameError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[SyntaxError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[TypeError] PASSED
tests/test_cli.py::test_traceback_handler_show_traceback[ValueError] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions[Abort] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions[EOFError] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions[KeyboardInterrupt] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions[SystemExit] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions_click[exception0] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions_click[exception1] PASSED
tests/test_cli_module.py::test_handle_tracebacks_ignored_exceptions_click[exception2] PASSED
tests/test_cli_module.py::test_prettify_deprecation_warning PASSED
tests/test_cli_module.py::test_resolve_class PASSED
tests/test_cli_module.py::test_traceback_handler[BadConfigError] PASSED
tests/test_cli_module.py::test_traceback_handler[Exception] PASSED
tests/test_cli_module.py::test_traceback_handler[FileExistsError] PASSED
tests/test_cli_module.py::test_traceback_handler[FileNotFoundError] PASSED
tests/test_cli_module.py::test_traceback_handler[KeyError] PASSED
tests/test_cli_module.py::test_traceback_handler[NameError] PASSED
tests/test_cli_module.py::test_traceback_handler[SyntaxError] PASSED
tests/test_cli_module.py::test_traceback_handler[TypeError] PASSED
tests/test_cli_module.py::test_traceback_handler[ValueError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[BadConfigError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[Exception] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[FileExistsError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[FileNotFoundError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[KeyError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[NameError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[SyntaxError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[TypeError] PASSED
tests/test_cli_module.py::test_traceback_handler_show_traceback[ValueError] PASSED
tests/test_config.py::test_RequiredKeysConfigParser PASSED
tests/test_config.py::test_buildsystem_normalize PASSED
tests/test_config.py::test_buildsystem_normalize_keep_dot PASSED
tests/test_config.py::test_buildsystem_parser_errors[backend_path_list_int] PASSED
tests/test_config.py::test_buildsystem_parser_errors[backend_path_str] PASSED
tests/test_config.py::test_buildsystem_parser_errors[backend_path_without_backend] PASSED
tests/test_config.py::test_buildsystem_parser_errors[no_requires] PASSED
tests/test_config.py::test_buildsystem_parser_errors[requires_invalid_requirement0] PASSED
tests/test_config.py::test_buildsystem_parser_errors[requires_invalid_requirement1] SKIPPED
tests/test_config.py::test_buildsystem_parser_errors[requires_list_int] PASSED
tests/test_config.py::test_buildsystem_parser_errors[requires_str] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[backend_path-False] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[backend_path-True] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[backend_paths-False] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[backend_paths-True] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[complete-False] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[complete-True] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[requires_nothing-False] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[requires_nothing-True] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[requires_setuptools-False] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[requires_setuptools-True] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[requires_whey-False] PASSED
tests/test_config.py::test_buildsystem_parser_valid_config[requires_whey-True] PASSED
tests/test_config.py::test_buildsystem_unnormalized PASSED
tests/test_config.py::test_extra_deprecation[duplicate_extra_1] PASSED
tests/test_config.py::test_extra_deprecation[duplicate_extra_2] PASSED
tests/test_config.py::test_extra_deprecation[duplicate_extra_3] PASSED
tests/test_config.py::test_parse_config_readme_errors[README.rtf] PASSED
tests/test_config.py::test_parse_config_readme_errors[README] PASSED
tests/test_config.py::test_pep621_class_bad_config[author_comma] PASSED
tests/test_config.py::test_pep621_class_bad_config[bad_name] PASSED
tests/test_config.py::test_pep621_class_bad_config[bad_requires_python] PASSED
tests/test_config.py::test_pep621_class_bad_config[bad_version] PASSED
tests/test_config.py::test_pep621_class_bad_config[classifiers_wrong_type] PASSED
tests/test_config.py::test_pep621_class_bad_config[dependencies_invalid_requirement0] PASSED
tests/test_config.py::test_pep621_class_bad_config[dependencies_invalid_requirement1] SKIPPED
tests/test_config.py::test_pep621_class_bad_config[dependencies_wrong_type] PASSED
tests/test_config.py::test_pep621_class_bad_config[dynamic_name] PASSED
tests/test_config.py::test_pep621_class_bad_config[extra_invalid_b] PASSED
tests/test_config.py::test_pep621_class_bad_config[extra_invalid_c] PASSED
tests/test_config.py::test_pep621_class_bad_config[keywords_wrong_type] PASSED
tests/test_config.py::test_pep621_class_bad_config[label_too_long] PASSED
tests/test_config.py::test_pep621_class_bad_config[maintainer_comma] PASSED
tests/test_config.py::test_pep621_class_bad_config[missing_license_file] PASSED
tests/test_config.py::test_pep621_class_bad_config[missing_license_file_win32] SKIPPED
tests/test_config.py::test_pep621_class_bad_config[missing_readme_file] PASSED
tests/test_config.py::test_pep621_class_bad_config[missing_readme_file_win32] SKIPPED
tests/test_config.py::test_pep621_class_bad_config[no_name] PASSED
tests/test_config.py::test_pep621_class_bad_config_license[double_license] PASSED
tests/test_config.py::test_pep621_class_bad_config_license[empty] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[bad_content_type] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[bad_extension] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[charset_only] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[content_type_charset] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[content_type_only] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[empty] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[file_and_readme] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[no_extension] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[text_only] PASSED
tests/test_config.py::test_pep621_class_bad_config_readme[unknown_key] PASSED
tests/test_config.py::test_pep621_class_valid_config[COMPLETE_A-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[COMPLETE_A-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[COMPLETE_B-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[COMPLETE_B-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[COMPLETE_PROJECT_A-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[COMPLETE_PROJECT_A-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[authors-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[authors-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[classifiers-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[classifiers-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[dependencies-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[dependencies-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[description-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[description-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[entry_points-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[entry_points-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[keywords-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[keywords-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[maintainers-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[maintainers-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[minimal-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[minimal-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[optional-dependencies-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[optional-dependencies-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[optional-dependencies-empty-group-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[optional-dependencies-empty-group-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[optional-dependencies-hyphen-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[optional-dependencies-hyphen-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[requires-python-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[requires-python-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[requires-python_complex-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[requires-python_complex-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[unicode-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[unicode-True] PASSED
tests/test_config.py::test_pep621_class_valid_config[urls-False] PASSED
tests/test_config.py::test_pep621_class_valid_config[urls-True] PASSED
tests/test_config.py::test_pep621_class_valid_config_license[LICENSE.md] PASSED
tests/test_config.py::test_pep621_class_valid_config_license[LICENSE.rst] PASSED
tests/test_config.py::test_pep621_class_valid_config_license[LICENSE.txt] PASSED
tests/test_config.py::test_pep621_class_valid_config_license[LICENSE] PASSED
tests/test_config.py::test_pep621_class_valid_config_license_dict PASSED
tests/test_config.py::test_pep621_class_valid_config_readme[INTRODUCTION.md] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme[README.md] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme[README.rst] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme[readme.txt] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme_dict[md_file] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme_dict[rst_file] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme_dict[text_content_type_md] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme_dict[text_content_type_plain] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme_dict[text_content_type_rst] PASSED
tests/test_config.py::test_pep621_class_valid_config_readme_dict[txt_file] PASSED
tests/test_config.py::test_pep621_normalize PASSED
tests/test_config.py::test_pep621_normalize_keep_dot PASSED
tests/test_config.py::test_pep621_subclass[COMPLETE_A] PASSED
tests/test_config.py::test_pep621_subclass[COMPLETE_B] PASSED
tests/test_config.py::test_pep621_subclass[COMPLETE_PROJECT_A] PASSED
tests/test_config.py::test_pep621_subclass[authors] PASSED
tests/test_config.py::test_pep621_subclass[classifiers] PASSED
tests/test_config.py::test_pep621_subclass[dependencies] PASSED
tests/test_config.py::test_pep621_subclass[description] PASSED
tests/test_config.py::test_pep621_subclass[entry_points] PASSED
tests/test_config.py::test_pep621_subclass[keywords] PASSED
tests/test_config.py::test_pep621_subclass[maintainers] PASSED
tests/test_config.py::test_pep621_subclass[minimal] PASSED
tests/test_config.py::test_pep621_subclass[optional-dependencies-empty-group] PASSED
tests/test_config.py::test_pep621_subclass[optional-dependencies] PASSED
tests/test_config.py::test_pep621_subclass[requires-python] PASSED
tests/test_config.py::test_pep621_subclass[requires-python_complex] PASSED
tests/test_config.py::test_pep621_subclass[unicode] PASSED
tests/test_config.py::test_pep621_subclass[urls] PASSED
tests/test_config.py::test_pep621_unnormalized PASSED
tests/test_dumping.py::test_dumps[COMPLETE_A] PASSED
tests/test_dumping.py::test_dumps[COMPLETE_B] PASSED
tests/test_dumping.py::test_dumps[COMPLETE_PROJECT_A] PASSED
tests/test_dumping.py::test_dumps_readme[dict_file] PASSED
tests/test_dumping.py::test_dumps_readme[dict_text] PASSED
tests/test_dumping.py::test_dumps_readme[string] PASSED
tests/test_dumping.py::test_reformat[COMPLETE_A] PASSED
tests/test_dumping.py::test_reformat[COMPLETE_A_WITH_FILES] PASSED
tests/test_dumping.py::test_reformat[COMPLETE_B] PASSED
tests/test_dumping.py::test_reformat[COMPLETE_PROJECT_A] PASSED
tests/test_dumping.py::test_reformat[COMPLETE_UNDERSCORE_NAME] PASSED
tests/test_dumping.py::test_reformat[UNORDERED] PASSED
tests/test_pyproject_class.py::test_bad_config[author_comma] PASSED
tests/test_pyproject_class.py::test_bad_config[backend_path_list_int] PASSED
tests/test_pyproject_class.py::test_bad_config[backend_path_str] PASSED
tests/test_pyproject_class.py::test_bad_config[backend_path_without_backend] PASSED
tests/test_pyproject_class.py::test_bad_config[bad_email] PASSED
tests/test_pyproject_class.py::test_bad_config[bad_name] PASSED
tests/test_pyproject_class.py::test_bad_config[bad_requires_python] PASSED
tests/test_pyproject_class.py::test_bad_config[bad_version] PASSED
tests/test_pyproject_class.py::test_bad_config[classifiers_wrong_type] PASSED
tests/test_pyproject_class.py::test_bad_config[console_scripts_entry_point] PASSED
tests/test_pyproject_class.py::test_bad_config[console_scripts_hyphen_entry_point] PASSED
tests/test_pyproject_class.py::test_bad_config[dependencies_invalid_requirement0] PASSED
tests/test_pyproject_class.py::test_bad_config[dependencies_invalid_requirement1] SKIPPED
tests/test_pyproject_class.py::test_bad_config[dependencies_wrong_type] PASSED
tests/test_pyproject_class.py::test_bad_config[dynamic_name] PASSED
tests/test_pyproject_class.py::test_bad_config[extra_invalid_b] PASSED
tests/test_pyproject_class.py::test_bad_config[extra_invalid_c] PASSED
tests/test_pyproject_class.py::test_bad_config[gui_scripts_entry_point] PASSED
tests/test_pyproject_class.py::test_bad_config[gui_scripts_hyphen_entry_point] PASSED
tests/test_pyproject_class.py::test_bad_config[invalid_optional_dependencies_type_dict_int] PASSED
tests/test_pyproject_class.py::test_bad_config[invalid_optional_dependencies_type_dict_list_int] PASSED
tests/test_pyproject_class.py::test_bad_config[invalid_optional_dependencies_type_dict_str] PASSED
tests/test_pyproject_class.py::test_bad_config[invalid_optional_dependencies_type_int] PASSED
tests/test_pyproject_class.py::test_bad_config[invalid_optional_dependencies_type_list] PASSED
tests/test_pyproject_class.py::test_bad_config[invalid_optional_dependencies_type_str] PASSED
tests/test_pyproject_class.py::test_bad_config[keywords_wrong_type] PASSED
tests/test_pyproject_class.py::test_bad_config[label_too_long] PASSED
tests/test_pyproject_class.py::test_bad_config[maintainer_comma] PASSED
tests/test_pyproject_class.py::test_bad_config[missing_license_file] PASSED
tests/test_pyproject_class.py::test_bad_config[missing_license_file_win32] SKIPPED
tests/test_pyproject_class.py::test_bad_config[missing_readme_file] PASSED
tests/test_pyproject_class.py::test_bad_config[missing_readme_file_win32] SKIPPED
tests/test_pyproject_class.py::test_bad_config[no_name] PASSED
tests/test_pyproject_class.py::test_bad_config[no_requires] PASSED
tests/test_pyproject_class.py::test_bad_config[requires_invalid_requirement0] PASSED
tests/test_pyproject_class.py::test_bad_config[requires_invalid_requirement1] SKIPPED
tests/test_pyproject_class.py::test_bad_config[requires_list_int] PASSED
tests/test_pyproject_class.py::test_bad_config[requires_str] PASSED
tests/test_pyproject_class.py::test_bad_config[top-level] PASSED
tests/test_pyproject_class.py::test_bad_config[top_level_typo_caps] PASSED
tests/test_pyproject_class.py::test_bad_config[top_level_typo_underscore] PASSED
tests/test_pyproject_class.py::test_bad_config[unexpected_top_level] PASSED
tests/test_pyproject_class.py::test_custom_pyproject_class[COMPLETE_A] PASSED
tests/test_pyproject_class.py::test_custom_pyproject_class[COMPLETE_B] PASSED
tests/test_pyproject_class.py::test_custom_pyproject_class[COMPLETE_PROJECT_A] PASSED
tests/test_pyproject_class.py::test_from_dict[COMPLETE_A] PASSED
tests/test_pyproject_class.py::test_from_dict[COMPLETE_B] PASSED
tests/test_pyproject_class.py::test_from_dict[COMPLETE_PROJECT_A] PASSED
tests/test_pyproject_class.py::test_from_dict[authors] PASSED
tests/test_pyproject_class.py::test_from_dict[backend_path] PASSED
tests/test_pyproject_class.py::test_from_dict[backend_paths] PASSED
tests/test_pyproject_class.py::test_from_dict[classifiers] PASSED
tests/test_pyproject_class.py::test_from_dict[complete] PASSED
tests/test_pyproject_class.py::test_from_dict[dependencies] PASSED
tests/test_pyproject_class.py::test_from_dict[description] PASSED
tests/test_pyproject_class.py::test_from_dict[entry_points] PASSED
tests/test_pyproject_class.py::test_from_dict[keywords] PASSED
tests/test_pyproject_class.py::test_from_dict[maintainers] PASSED
tests/test_pyproject_class.py::test_from_dict[minimal] PASSED
tests/test_pyproject_class.py::test_from_dict[optional-dependencies-empty-group] PASSED
tests/test_pyproject_class.py::test_from_dict[optional-dependencies] PASSED
tests/test_pyproject_class.py::test_from_dict[requires-python] PASSED
tests/test_pyproject_class.py::test_from_dict[requires-python_complex] PASSED
tests/test_pyproject_class.py::test_from_dict[requires_nothing] PASSED
tests/test_pyproject_class.py::test_from_dict[requires_setuptools] PASSED
tests/test_pyproject_class.py::test_from_dict[requires_whey] PASSED
tests/test_pyproject_class.py::test_from_dict[unicode] PASSED
tests/test_pyproject_class.py::test_from_dict[urls] PASSED
tests/test_pyproject_class.py::test_valid_config[COMPLETE_A] PASSED
tests/test_pyproject_class.py::test_valid_config[COMPLETE_B] PASSED
tests/test_pyproject_class.py::test_valid_config[COMPLETE_PROJECT_A] PASSED
tests/test_pyproject_class.py::test_valid_config[authors] PASSED
tests/test_pyproject_class.py::test_valid_config[backend_path] PASSED
tests/test_pyproject_class.py::test_valid_config[backend_paths] PASSED
tests/test_pyproject_class.py::test_valid_config[classifiers] PASSED
tests/test_pyproject_class.py::test_valid_config[complete] PASSED
tests/test_pyproject_class.py::test_valid_config[dependencies] PASSED
tests/test_pyproject_class.py::test_valid_config[description] PASSED
tests/test_pyproject_class.py::test_valid_config[entry_points] PASSED
tests/test_pyproject_class.py::test_valid_config[keywords] PASSED
tests/test_pyproject_class.py::test_valid_config[maintainers] PASSED
tests/test_pyproject_class.py::test_valid_config[minimal] PASSED
tests/test_pyproject_class.py::test_valid_config[optional-dependencies-empty-group] PASSED
tests/test_pyproject_class.py::test_valid_config[optional-dependencies] PASSED
tests/test_pyproject_class.py::test_valid_config[requires-python] PASSED
tests/test_pyproject_class.py::test_valid_config[requires-python_complex] PASSED
tests/test_pyproject_class.py::test_valid_config[requires_nothing] PASSED
tests/test_pyproject_class.py::test_valid_config[requires_setuptools] PASSED
tests/test_pyproject_class.py::test_valid_config[requires_whey] PASSED
tests/test_pyproject_class.py::test_valid_config[unicode] PASSED
tests/test_pyproject_class.py::test_valid_config[urls] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[COMPLETE_A] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[COMPLETE_A_WITH_FILES] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[COMPLETE_B] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[COMPLETE_PROJECT_A] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[authors] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[backend_path] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[backend_paths] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[classifiers] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[complete] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[dependencies] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[description] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[entry_points] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[keywords] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[maintainers] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[minimal] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[optional-dependencies-empty-group] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[optional-dependencies] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[requires-python] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[requires-python_complex] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[requires_nothing] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[requires_setuptools] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[requires_whey] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[unicode] PASSED
tests/test_pyproject_class.py::test_valid_config_resolve_files[urls] PASSED
tests/test_utils.py::test_content_type_from_filename[filename10-text/plain] PASSED
tests/test_utils.py::test_content_type_from_filename[filename11-text/plain] PASSED
tests/test_utils.py::test_content_type_from_filename[filename6-text/markdown] PASSED
tests/test_utils.py::test_content_type_from_filename[filename7-text/markdown] PASSED
tests/test_utils.py::test_content_type_from_filename[filename8-text/x-rst] PASSED
tests/test_utils.py::test_content_type_from_filename[filename9-text/x-rst] PASSED
tests/test_utils.py::test_content_type_from_filename[foo.md-text/markdown] PASSED
tests/test_utils.py::test_content_type_from_filename[foo.rst-text/x-rst] PASSED
tests/test_utils.py::test_content_type_from_filename[foo.txt-text/plain] PASSED
tests/test_utils.py::test_content_type_from_filename[foo/bar.md-text/markdown] PASSED
tests/test_utils.py::test_content_type_from_filename[foo/bar.rst-text/x-rst] PASSED
tests/test_utils.py::test_content_type_from_filename[foo/bar.txt-text/plain] PASSED
tests/test_utils.py::test_render_rst_error PASSED
tests/test_utils.py::test_render_rst_error_filename PASSED

Required test coverage of 65.0% reached. Total coverage: 69.95%

============================= slowest 25 durations =============================
=========================== short test summary info ============================
======== 538 passed, 8 skipped ========
  py$(PYV): OK
  congratulations :)