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 :)