py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
py$(PYV): commands[0]> python -m pytest --cov
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: setup.cfg
collecting ... collected 206 items / 1 deselected / 205 selected

tests/test_app.py::TestApp::test_custom_headers PASSED
tests/test_app.py::TestApp::test_encode_multipart PASSED
tests/test_app.py::TestApp::test_encode_multipart_content_type PASSED
tests/test_app.py::TestApp::test_encode_multipart_relative_to PASSED
tests/test_app.py::TestApp::test_get_params PASSED
tests/test_app.py::TestApp::test_patch PASSED
tests/test_app.py::TestApp::test_pytest_collection_disabled PASSED
tests/test_app.py::TestApp::test_request_with_testrequest PASSED
tests/test_app.py::TestStatus::test_check_status_almost_asterisk PASSED
tests/test_app.py::TestStatus::test_check_status_asterisk PASSED
tests/test_app.py::TestStatus::test_check_status_none PASSED
tests/test_app.py::TestStatus::test_check_status_tuple PASSED
tests/test_app.py::TestStatus::test_check_status_with_custom_reason PASSED
tests/test_app.py::TestParserFeature::test_parser_features PASSED
tests/test_app.py::TestAppError::test_app_error PASSED
tests/test_app.py::TestAppError::test_app_error_misc PASSED
tests/test_app.py::TestAppError::test_app_error_with_bytes_message PASSED
tests/test_app.py::TestAppError::test_app_error_with_unicode PASSED
tests/test_app.py::TestPasteVariables::test_paste_testing_variables PASSED
tests/test_app.py::TestPasteVariables::test_paste_testing_variables_raises PASSED
tests/test_app.py::TestCookies::test_cookie_policy PASSED
tests/test_app.py::TestCookies::test_cookies_readonly PASSED
tests/test_app.py::TestCookies::test_expires_cookies PASSED
tests/test_app.py::TestCookies::test_http_cookie PASSED
tests/test_app.py::TestCookies::test_http_localhost_cookie PASSED
tests/test_app.py::TestCookies::test_preserves_cookies PASSED
tests/test_app.py::TestCookies::test_secure_cookies PASSED
tests/test_app.py::TestCookies::test_set_cookie PASSED
tests/test_app.py::TestCookies::test_supports_providing_cookiejar PASSED
tests/test_app.py::TestEnviron::test_get_extra_environ PASSED
tests/test_app.py::TestEnviron::test_post_extra_environ PASSED
tests/test_app.py::TestEnviron::test_request_extra_environ PASSED
tests/test_app.py::TestFieldOrder::test_field_order_is_across_all_fields PASSED
tests/test_app.py::TestFieldOrder::test_post_with_file_upload PASSED
tests/test_app.py::TestFieldOrder::test_submit_with_file_upload PASSED
tests/test_app.py::TestFragments::test_url_with_fragments PASSED
tests/test_app.py::TestFragments::test_url_without_fragments PASSED
tests/test_app.py::TestScriptName::test_app_script_name PASSED
tests/test_app.py::TestScriptName::test_script_name PASSED
tests/test_app.py::TestScriptName::test_script_name_doesnt_match PASSED
tests/test_app.py::TestWSGIProxy::test_proxy_with_environ PASSED
tests/test_app.py::TestWSGIProxy::test_proxy_with_url PASSED
tests/test_app.py::TestAppXhrParam::test_xhr_param_change_headers PASSED
tests/test_app.py::TestRequest::test_pytest_collection_disabled PASSED
tests/test_authorisation.py::TestAuthorization::test_basic_authorization PASSED
tests/test_authorisation.py::TestAuthorization::test_bearer_authorization PASSED
tests/test_authorisation.py::TestAuthorization::test_invalid PASSED
tests/test_debugapp.py::test_print_unicode PASSED
tests/test_debugapp.py::TestTesting::test_204 PASSED
tests/test_debugapp.py::TestTesting::test_303 PASSED
tests/test_debugapp.py::TestTesting::test_404 PASSED
tests/test_debugapp.py::TestTesting::test_app_error PASSED
tests/test_debugapp.py::TestTesting::test_app_from_config_file PASSED
tests/test_debugapp.py::TestTesting::test_bad_content_type PASSED
tests/test_debugapp.py::TestTesting::test_delete_params PASSED
tests/test_debugapp.py::TestTesting::test_errors PASSED
tests/test_debugapp.py::TestTesting::test_exception PASSED
tests/test_debugapp.py::TestTesting::test_exception_repr PASSED
tests/test_debugapp.py::TestTesting::test_fake_dict PASSED
tests/test_debugapp.py::TestTesting::test_options PASSED
tests/test_debugapp.py::TestTesting::test_post_params PASSED
tests/test_debugapp.py::TestTesting::test_post_unicode PASSED
tests/test_debugapp.py::TestTesting::test_post_unicode_body PASSED
tests/test_debugapp.py::TestTesting::test_print_stderr PASSED
tests/test_debugapp.py::TestTesting::test_put_params PASSED
tests/test_debugapp.py::TestTesting::test_request_obj PASSED
tests/test_debugapp.py::TestTesting::test_showbrowser PASSED
tests/test_debugapp.py::TestTesting::test_testing PASSED
tests/test_debugapp.py::TestTesting::test_url_class PASSED
tests/test_ext.py::TestSelenium::test_raises PASSED
tests/test_forms.py::TestForms::test_button PASSED
tests/test_forms.py::TestForms::test_button_submit PASSED
tests/test_forms.py::TestForms::test_button_submit_by_index PASSED
tests/test_forms.py::TestForms::test_button_submit_by_value PASSED
tests/test_forms.py::TestForms::test_button_submit_by_value_and_index PASSED
tests/test_forms.py::TestForms::test_button_value_if_submitted PASSED
tests/test_forms.py::TestForms::test_force_select PASSED
tests/test_forms.py::TestForms::test_form_select PASSED
tests/test_forms.py::TestForms::test_get_field_by_index PASSED
tests/test_forms.py::TestForms::test_get_non_exist_fields PASSED
tests/test_forms.py::TestForms::test_get_non_exist_fields_with_default PASSED
tests/test_forms.py::TestForms::test_get_unknown_field PASSED
tests/test_forms.py::TestForms::test_outer_inputs PASSED
tests/test_forms.py::TestForms::test_repr PASSED
tests/test_forms.py::TestForms::test_set_multiple_checkboxes PASSED
tests/test_forms.py::TestForms::test_set_submit_field PASSED
tests/test_forms.py::TestForms::test_the_bs_node_must_not_change PASSED
tests/test_forms.py::TestForms::test_upload_fields PASSED
tests/test_forms.py::TestResponseFormAttribute::test_no_form PASSED
tests/test_forms.py::TestResponseFormAttribute::test_too_many_forms PASSED
tests/test_forms.py::TestInput::test_force_radio_input PASSED
tests/test_forms.py::TestInput::test_input PASSED
tests/test_forms.py::TestInput::test_input_no_default PASSED
tests/test_forms.py::TestInput::test_input_unicode PASSED
tests/test_forms.py::TestInput::test_radio_input_order PASSED
tests/test_forms.py::TestInput::test_textarea_emptyfirstline PASSED
tests/test_forms.py::TestInput::test_textarea_entities PASSED
tests/test_forms.py::TestFormLint::test_form_lint PASSED
tests/test_forms.py::TestSelect::test_multiple_select PASSED
tests/test_forms.py::TestSelect::test_multiple_select_forced_values PASSED
tests/test_forms.py::TestSelect::test_multiple_select_no_default PASSED
tests/test_forms.py::TestSelect::test_multiple_select_no_value PASSED
tests/test_forms.py::TestSelect::test_multiple_select_reset_value PASSED
tests/test_forms.py::TestSelect::test_select_no_value PASSED
tests/test_forms.py::TestSelect::test_single_select PASSED
tests/test_forms.py::TestSelect::test_single_select_forced_value PASSED
tests/test_forms.py::TestSelect::test_single_select_no_default PASSED
tests/test_forms.py::TestSelect::test_unicode_select PASSED
tests/test_forms.py::TestFileUpload::test_file_upload_binary PASSED
tests/test_forms.py::TestFileUpload::test_file_upload_with_content_type PASSED
tests/test_forms.py::TestFileUpload::test_file_upload_with_filename_and_contents PASSED
tests/test_forms.py::TestFileUpload::test_file_upload_with_filename_only PASSED
tests/test_forms.py::TestFileUpload::test_goto_upload_files PASSED
tests/test_forms.py::TestFileUpload::test_invalid_types PASSED
tests/test_forms.py::TestFileUpload::test_invalid_uploadfiles PASSED
tests/test_forms.py::TestFileUpload::test_multiple_file PASSED
tests/test_forms.py::TestFileUpload::test_no_uploads_error PASSED
tests/test_forms.py::TestFileUpload::test_post_int PASSED
tests/test_forms.py::TestFileUpload::test_post_upload_empty_files PASSED
tests/test_forms.py::TestFileUpload::test_post_upload_files PASSED
tests/test_forms.py::TestFileUpload::test_several_file_uploads_with_filename_and_contents PASSED
tests/test_forms.py::TestFileUpload::test_upload_invalid_content PASSED
tests/test_forms.py::TestFileUpload::test_upload_without_file PASSED
tests/test_http.py::TestServer::test_server PASSED
tests/test_http.py::TestServer::test_wsgi_wrapper PASSED
tests/test_http.py::TestBrokenServer::test_shutdown_non_running PASSED
tests/test_http.py::TestClient::test_no_server PASSED
tests/test_lint.py::TestLatin1Assertion::test_invalid_type PASSED
tests/test_lint.py::TestLatin1Assertion::test_valid_type PASSED
tests/test_lint.py::TestToString::test_to_string PASSED
tests/test_lint.py::TestMiddleware::test_lint_iterator_returned PASSED
tests/test_lint.py::TestMiddleware::test_lint_no_keyword_args PASSED
tests/test_lint.py::TestMiddleware::test_lint_too_few_args PASSED
tests/test_lint.py::TestInputWrapper::test_close PASSED
tests/test_lint.py::TestInputWrapper::test_iter PASSED
tests/test_lint.py::TestInputWrapper::test_read PASSED
tests/test_lint.py::TestInputWrapper::test_readline PASSED
tests/test_lint.py::TestInputWrapper::test_readlines PASSED
tests/test_lint.py::TestInputWrapper::test_seek PASSED
tests/test_lint.py::TestMiddleware2::test_exc_info PASSED
tests/test_lint.py::TestCheckContentType::test_no_content PASSED
tests/test_lint.py::TestCheckContentType::test_no_content_type PASSED
tests/test_lint.py::TestCheckHeaders::test_header_bytes_name PASSED
tests/test_lint.py::TestCheckHeaders::test_header_bytes_value PASSED
tests/test_lint.py::TestCheckHeaders::test_header_non_latin1_name PASSED
tests/test_lint.py::TestCheckHeaders::test_header_non_latin1_value PASSED
tests/test_lint.py::TestCheckEnviron::test_handles_native_strings_in_variables PASSED
tests/test_lint.py::TestCheckEnviron::test_no_query_string PASSED
tests/test_lint.py::TestCheckEnviron::test_no_valid_request PASSED
tests/test_lint.py::TestIteratorWrapper::test_close PASSED
tests/test_lint.py::TestWriteWrapper::test_normal PASSED
tests/test_lint.py::TestWriteWrapper::test_wrong_type PASSED
tests/test_lint.py::TestErrorWrapper::test_dont_close PASSED
tests/test_lint.py::TestErrorWrapper::test_flush PASSED
tests/test_lint.py::TestErrorWrapper::test_writelines PASSED
tests/test_response.py::TestResponse::test_click PASSED
tests/test_response.py::TestResponse::test_click_u PASSED
tests/test_response.py::TestResponse::test_click_utf8 PASSED
tests/test_response.py::TestResponse::test_clickbutton PASSED
tests/test_response.py::TestResponse::test_content_dezips PASSED
tests/test_response.py::TestResponse::test_html_attribute PASSED
tests/test_response.py::TestResponse::test_json PASSED
tests/test_response.py::TestResponse::test_lxml_attribute PASSED
tests/test_response.py::TestResponse::test_lxml_attribute_with_encoding_declaration PASSED
tests/test_response.py::TestResponse::test_mustcontains PASSED
tests/test_response.py::TestResponse::test_no_form PASSED
tests/test_response.py::TestResponse::test_one_forms PASSED
tests/test_response.py::TestResponse::test_referer PASSED
tests/test_response.py::TestResponse::test_repr PASSED
tests/test_response.py::TestResponse::test_showbrowser PASSED
tests/test_response.py::TestResponse::test_testbody PASSED
tests/test_response.py::TestResponse::test_too_many_forms PASSED
tests/test_response.py::TestResponse::test_unicode PASSED
tests/test_response.py::TestResponse::test_unicode_normal_body PASSED
tests/test_response.py::TestResponse::test_xml PASSED
tests/test_response.py::TestResponse::test_xml_attribute PASSED
tests/test_response.py::TestFollow::test_follow PASSED
tests/test_response.py::TestFollow::test_follow_relative PASSED
tests/test_response.py::TestFollow::test_follow_twice PASSED
tests/test_response.py::TestFollow::test_follow_with_cookie PASSED
tests/test_response.py::TestFollow::test_maybe_follow_200 PASSED
tests/test_response.py::TestFollow::test_maybe_follow_infinite PASSED
tests/test_response.py::TestFollow::test_maybe_follow_once PASSED
tests/test_response.py::TestFollow::test_maybe_follow_twice PASSED
tests/test_response.py::TestFollow::test_pytest_collection_disabled PASSED
tests/test_sel.py::TestSelenium::test_raises PASSED
tests/test_utils.py::NoDefaultTest::test_nodefault PASSED
tests/test_utils.py::encode_paramsTest::test_encode_params_NoDefault PASSED
tests/test_utils.py::encode_paramsTest::test_encode_params_None PASSED
tests/test_utils.py::encode_paramsTest::test_encode_params_charset_utf8 PASSED
tests/test_utils.py::encode_paramsTest::test_encode_params_dict_or_list PASSED
tests/test_utils.py::encode_paramsTest::test_encode_params_no_charset PASSED
tests/test_utils.py::make_patternTest::test_make_pattern_None PASSED
tests/test_utils.py::make_patternTest::test_make_pattern_bytes PASSED
tests/test_utils.py::make_patternTest::test_make_pattern_function PASSED
tests/test_utils.py::make_patternTest::test_make_pattern_invalid PASSED
tests/test_utils.py::make_patternTest::test_make_pattern_regex PASSED
tests/test_utils.py::stringifyTest::test_stringify_binary PASSED
tests/test_utils.py::stringifyTest::test_stringify_other PASSED
tests/test_utils.py::stringifyTest::test_stringify_text PASSED
tests/test_utils.py::json_methodTest::test_json_method_doc PASSED
tests/test_utils.py::json_methodTest::test_json_method_name PASSED
tests/test_utils.py::json_methodTest::test_json_method_request_calls PASSED
tests/test_utils.py::json_methodTest::test_json_method_request_respects_content_type_argument PASSED
webtest/forms.py::webtest.forms.Upload PASSED

================================ tests coverage ================================
_______________ coverage: platform sunos5, python 3.9.22-final-0 _______________

Name                  Stmts   Miss  Cover
-----------------------------------------
webtest/__init__.py      14      0   100%
webtest/app.py          340      2    99%
webtest/compat.py        17      0   100%
webtest/debugapp.py      60      0   100%
webtest/ext.py            3      0   100%
webtest/forms.py        355     10    97%
webtest/http.py          87      0   100%
webtest/lint.py         224     27    88%
webtest/response.py     249     13    95%
webtest/sel.py            6      0   100%
webtest/utils.py        100      7    93%
-----------------------------------------
TOTAL                  1455     59    96%
======== 205 passed, 1 deselected ========
  py$(PYV): OK
  congratulations :)