facelessuser / soupsieve

A modern CSS selector implementation for BeautifulSoup
https://facelessuser.github.io/soupsieve/
MIT License
202 stars 38 forks source link

2.1.0: test suite is failing #209

Closed kloczek closed 3 years ago

kloczek commented 3 years ago
+ cd soupsieve-2.1.0
+ pytest -v tests -k 'not test_namespace_xml_with_namespace'
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.3, pytest-6.1.2, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/tkloczko/rpmbuild/BUILD/soupsieve-2.1.0/.hypothesis/examples')
rootdir: /home/tkloczko/rpmbuild/BUILD/soupsieve-2.1.0, configfile: tox.ini
plugins: hypothesis-4.23.8, flaky-3.6.1, forked-1.3.0, xdist-2.1.0, shutil-1.7.0, virtualenv-1.7.0, cov-2.10.1
collected 353 items / 1 deselected / 352 selected

tests/test_api.py::TestSoupSieve::test_cache PASSED                                                                                                                  [  0%]
tests/test_api.py::TestSoupSieve::test_closest_match_complex_parent PASSED                                                                                           [  0%]
tests/test_api.py::TestSoupSieve::test_closest_match_parent PASSED                                                                                                   [  0%]
tests/test_api.py::TestSoupSieve::test_closest_match_self PASSED                                                                                                     [  1%]
tests/test_api.py::TestSoupSieve::test_closest_must_be_parent PASSED                                                                                                 [  1%]
tests/test_api.py::TestSoupSieve::test_copy_pickle PASSED                                                                                                            [  1%]
tests/test_api.py::TestSoupSieve::test_escape_ctrl PASSED                                                                                                            [  1%]
tests/test_api.py::TestSoupSieve::test_escape_hyphen PASSED                                                                                                          [  2%]
tests/test_api.py::TestSoupSieve::test_escape_null PASSED                                                                                                            [  2%]
tests/test_api.py::TestSoupSieve::test_escape_numbers PASSED                                                                                                         [  2%]
tests/test_api.py::TestSoupSieve::test_escape_special PASSED                                                                                                         [  3%]
tests/test_api.py::TestSoupSieve::test_escape_wide_unicode PASSED                                                                                                    [  3%]
tests/test_api.py::TestSoupSieve::test_filter_list PASSED                                                                                                            [  3%]
tests/test_api.py::TestSoupSieve::test_filter_tag PASSED                                                                                                             [  3%]
tests/test_api.py::TestSoupSieve::test_filter_tag_order PASSED                                                                                                       [  4%]
tests/test_api.py::TestSoupSieve::test_immutable_dict_size PASSED                                                                                                    [  4%]
tests/test_api.py::TestSoupSieve::test_iselect PASSED                                                                                                                [  4%]
tests/test_api.py::TestSoupSieve::test_iselect_order PASSED                                                                                                          [  5%]
tests/test_api.py::TestSoupSieve::test_match PASSED                                                                                                                  [  5%]
tests/test_api.py::TestSoupSieve::test_recompile PASSED                                                                                                              [  5%]
tests/test_api.py::TestSoupSieve::test_select PASSED                                                                                                                 [  5%]
tests/test_api.py::TestSoupSieve::test_select_limit PASSED                                                                                                           [  6%]
tests/test_api.py::TestSoupSieve::test_select_one PASSED                                                                                                             [  6%]
tests/test_api.py::TestSoupSieve::test_select_one_none PASSED                                                                                                        [  6%]
tests/test_api.py::TestSoupSieve::test_select_order PASSED                                                                                                           [  7%]
tests/test_api.py::TestInvalid::test_immutable_dict_hashable_key PASSED                                                                                              [  7%]
tests/test_api.py::TestInvalid::test_immutable_dict_hashable_value PASSED                                                                                            [  7%]
tests/test_api.py::TestInvalid::test_immutable_dict_read_only PASSED                                                                                                 [  7%]
tests/test_api.py::TestInvalid::test_immutable_object PASSED                                                                                                         [  8%]
tests/test_api.py::TestInvalid::test_invalid_custom_hashable_key PASSED                                                                                              [  8%]
tests/test_api.py::TestInvalid::test_invalid_custom_hashable_value PASSED                                                                                            [  8%]
tests/test_api.py::TestInvalid::test_invalid_custom_type PASSED                                                                                                      [  9%]
tests/test_api.py::TestInvalid::test_invalid_namespace_hashable_key PASSED                                                                                           [  9%]
tests/test_api.py::TestInvalid::test_invalid_namespace_hashable_value PASSED                                                                                         [  9%]
tests/test_api.py::TestInvalid::test_invalid_namespace_type PASSED                                                                                                   [  9%]
tests/test_api.py::TestInvalid::test_invalid_type_input_filter PASSED                                                                                                [ 10%]
tests/test_api.py::TestInvalid::test_invalid_type_input_match PASSED                                                                                                 [ 10%]
tests/test_api.py::TestInvalid::test_invalid_type_input_select PASSED                                                                                                [ 10%]
tests/test_api.py::TestSyntaxErrorReporting::test_simple_syntax_error PASSED                                                                                         [ 11%]
tests/test_api.py::TestSyntaxErrorReporting::test_syntax_error_has_text_and_position PASSED                                                                          [ 11%]
tests/test_api.py::TestSyntaxErrorReporting::test_syntax_error_on_third_line PASSED                                                                                  [ 11%]
tests/test_api.py::TestSyntaxErrorReporting::test_syntax_error_with_multiple_lines PASSED                                                                            [ 11%]
tests/test_bs4_cases.py::SelectorNthOfTypeBugTest::test_parent_nth_of_type PASSED                                                                                    [ 12%]
tests/test_bs4_cases.py::SelectorNthOfTypeBugTest::test_parent_nth_of_type_preconditions PASSED                                                                      [ 12%]
tests/test_bs4_cases.py::test_simple_xml PASSED                                                                                                                      [ 12%]
tests/test_bs4_cases.py::test_namespace_xml PASSED                                                                                                                   [ 13%]
tests/test_versions.py::TestVersion::test_asserts PASSED                                                                                                             [ 13%]
tests/test_versions.py::TestVersion::test_version_comparison PASSED                                                                                                  [ 13%]
tests/test_versions.py::TestVersion::test_version_output PASSED                                                                                                      [ 13%]
tests/test_versions.py::TestVersion::test_version_parsing PASSED                                                                                                     [ 14%]
tests/test_extra/test_attribute.py::TestAttribute::test_attribute_not_equal_double_quotes PASSED                                                                     [ 14%]
tests/test_extra/test_attribute.py::TestAttribute::test_attribute_not_equal_no_quotes PASSED                                                                         [ 14%]
tests/test_extra/test_attribute.py::TestAttribute::test_attribute_not_equal_quotes PASSED                                                                            [ 15%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_bad_custom PASSED                                                                                         [ 15%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_bad_custom_syntax PASSED                                                                                  [ 15%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_collision PASSED                                                                                   [ 15%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_dependency PASSED                                                                                  [ 16%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_dependency_out_of_order PASSED                                                                     [ 16%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_dependency_recursion PASSED                                                                        [ 16%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_escapes PASSED                                                                                     [ 17%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_selectors PASSED                                                                                   [ 17%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_custom_selectors_exotic PASSED                                                                            [ 17%]
tests/test_extra/test_custom.py::TestCustomSelectors::test_pseudo_class_collision PASSED                                                                             [ 17%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains PASSED                                                                                       [ 18%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_bad PASSED                                                                                   [ 18%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_cdata_html FAILED                                                                            [ 18%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_cdata_xhtml PASSED                                                                           [ 19%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_cdata_xml PASSED                                                                             [ 19%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_escapes PASSED                                                                               [ 19%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_iframe PASSED                                                                                [ 19%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_iframe_xml PASSED                                                                            [ 20%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_list PASSED                                                                                  [ 20%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_multiple PASSED                                                                              [ 20%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_multiple_not_match PASSED                                                                    [ 21%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_multiple_not_no_match PASSED                                                                 [ 21%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_quoted_with_escaped_newline PASSED                                                           [ 21%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_quoted_with_escaped_newline_with_carriage_return PASSED                                      [ 21%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_quoted_with_space PASSED                                                                     [ 22%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_quoted_without_space PASSED                                                                  [ 22%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_warn PASSED                                                                                  [ 22%]
tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_with_descendants PASSED                                                                      [ 23%]
tests/test_extra/test_soup_contains_own.py::TestSoupContainsOwn::test_contains_own PASSED                                                                            [ 23%]
tests/test_extra/test_soup_contains_own.py::TestSoupContainsOwn::test_contains_own_cdata_html FAILED                                                                 [ 23%]
tests/test_extra/test_soup_contains_own.py::TestSoupContainsOwn::test_contains_own_cdata_xml PASSED                                                                  [ 23%]
tests/test_extra/test_soup_contains_own.py::TestSoupContainsOwn::test_contains_own_descendants PASSED                                                                [ 24%]
tests/test_extra/test_soup_contains_own.py::TestSoupContainsOwn::test_contains_own_with_broken_text PASSED                                                           [ 24%]
tests/test_level1/test_active.py::TestActive::test_active PASSED                                                                                                     [ 24%]
tests/test_level1/test_at_rule.py::TestAtRule::test_at_rule PASSED                                                                                                   [ 25%]
tests/test_level1/test_class.py::TestClass::test_class PASSED                                                                                                        [ 25%]
tests/test_level1/test_class.py::TestClass::test_class_xhtml PASSED                                                                                                  [ 25%]
tests/test_level1/test_class.py::TestClass::test_malformed_class PASSED                                                                                              [ 25%]
tests/test_level1/test_class.py::TestClass::test_malformed_pseudo_class PASSED                                                                                       [ 26%]
tests/test_level1/test_class.py::TestClass::test_multiple_classes PASSED                                                                                             [ 26%]
tests/test_level1/test_class.py::TestClass::test_type_and_class PASSED                                                                                               [ 26%]
tests/test_level1/test_class.py::TestClass::test_type_and_class_escaped_eof PASSED                                                                                   [ 26%]
tests/test_level1/test_class.py::TestClass::test_type_and_class_escaped_null PASSED                                                                                  [ 27%]
tests/test_level1/test_comments.py::TestComments::test_comments PASSED                                                                                               [ 27%]
tests/test_level1/test_comments.py::TestComments::test_comments_in_pseudo_classes PASSED                                                                             [ 27%]
tests/test_level1/test_descendant.py::TestDescendants::test_descendants PASSED                                                                                       [ 28%]
tests/test_level1/test_escapes.py::TestEscapes::test_escapes PASSED                                                                                                  [ 28%]
tests/test_level1/test_id.py::TestId::test_id PASSED                                                                                                                 [ 28%]
tests/test_level1/test_id.py::TestId::test_malformed_id PASSED                                                                                                       [ 28%]
tests/test_level1/test_id.py::TestId::test_tag_and_id PASSED                                                                                                         [ 29%]
tests/test_level1/test_link.py::TestLink::test_link PASSED                                                                                                           [ 29%]
tests/test_level1/test_link.py::TestLink::test_tag_and_link PASSED                                                                                                   [ 29%]
tests/test_level1/test_list.py::TestSelectorLists::test_invalid_double_comma PASSED                                                                                  [ 30%]
tests/test_level1/test_list.py::TestSelectorLists::test_invalid_end_comma PASSED                                                                                     [ 30%]
tests/test_level1/test_list.py::TestSelectorLists::test_invalid_start_comma PASSED                                                                                   [ 30%]
tests/test_level1/test_list.py::TestSelectorLists::test_multiple_tags PASSED                                                                                         [ 30%]
tests/test_level1/test_pseudo_class.py::TestPseudoClass::test_pseudo_class_not_implemented PASSED                                                                    [ 31%]
tests/test_level1/test_pseudo_class.py::TestPseudoClass::test_unrecognized_pseudo PASSED                                                                             [ 31%]
tests/test_level1/test_pseudo_element.py::TestPseudoElement::test_pseudo_element PASSED                                                                              [ 31%]
tests/test_level1/test_type.py::TestType::test_basic_type PASSED                                                                                                     [ 32%]
tests/test_level1/test_type.py::TestType::test_invalid_syntax PASSED                                                                                                 [ 32%]
tests/test_level1/test_type.py::TestType::test_type_html PASSED                                                                                                      [ 32%]
tests/test_level1/test_type.py::TestType::test_type_xhtml PASSED                                                                                                     [ 32%]
tests/test_level1/test_type.py::TestType::test_type_xml PASSED                                                                                                       [ 33%]
tests/test_level1/test_visited.py::TestVisited::test_visited PASSED                                                                                                  [ 33%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute PASSED                                                                                            [ 33%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_bad PASSED                                                                                        [ 34%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_contains_cannot_have_empty PASSED                                                                 [ 34%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_contains_cannot_have_escaped_spaces PASSED                                                        [ 34%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_contains_cannot_have_spaces PASSED                                                                [ 34%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_contains_space_end PASSED                                                                         [ 35%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_contains_space_middle PASSED                                                                      [ 35%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_contains_space_start PASSED                                                                       [ 35%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_case_insensitive_attribute PASSED                                                           [ 36%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_escaped_null PASSED                                                                         [ 36%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_literal_null PASSED                                                                         [ 36%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_no_quotes PASSED                                                                            [ 36%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_quotes_and_spaces PASSED                                                                    [ 37%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_with_double_quotes PASSED                                                                   [ 37%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_equal_with_quotes PASSED                                                                          [ 37%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_escaped_newline PASSED                                                                            [ 38%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_start_dash PASSED                                                                                 [ 38%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_type_html PASSED                                                                                  [ 38%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_type_xhtml PASSED                                                                                 [ 38%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_type_xml PASSED                                                                                   [ 39%]
tests/test_level2/test_attribute.py::TestAttribute::test_attribute_with_spaces PASSED                                                                                [ 39%]
tests/test_level2/test_attribute.py::TestAttribute::test_invalid_tag PASSED                                                                                          [ 39%]
tests/test_level2/test_attribute.py::TestAttribute::test_malformed PASSED                                                                                            [ 40%]
tests/test_level2/test_attribute.py::TestAttribute::test_multi_attribute PASSED                                                                                      [ 40%]
tests/test_level2/test_child.py::TestChild::test_direct_child PASSED                                                                                                 [ 40%]
tests/test_level2/test_child.py::TestChild::test_direct_child_no_spaces PASSED                                                                                       [ 40%]
tests/test_level2/test_child.py::TestChild::test_invalid_combinator PASSED                                                                                           [ 41%]
tests/test_level2/test_child.py::TestChild::test_invalid_double_combinator PASSED                                                                                    [ 41%]
tests/test_level2/test_child.py::TestChild::test_invalid_trailing_combinator PASSED                                                                                  [ 41%]
tests/test_level2/test_first_child.py::TestFirstChild::test_first_child PASSED                                                                                       [ 42%]
tests/test_level2/test_focus.py::TestFocus::test_focus PASSED                                                                                                        [ 42%]
tests/test_level2/test_focus.py::TestFocus::test_not_focus PASSED                                                                                                    [ 42%]
tests/test_level2/test_hover.py::TestHover::test_hover PASSED                                                                                                        [ 42%]
tests/test_level2/test_lang.py::TestLang::test_iframe PASSED                                                                                                         [ 43%]
tests/test_level2/test_lang.py::TestLang::test_lang PASSED                                                                                                           [ 43%]
tests/test_level2/test_next_sibling.py::TestNextSibling::test_complex_direct_siblings PASSED                                                                         [ 43%]
tests/test_level2/test_next_sibling.py::TestNextSibling::test_direct_sibling PASSED                                                                                  [ 44%]
tests/test_level2/test_next_sibling.py::TestNextSibling::test_direct_sibling_no_spaces PASSED                                                                        [ 44%]
tests/test_level2/test_universal_type.py::TestUniversal::test_universal_type PASSED                                                                                  [ 44%]
tests/test_level3/test_attribute.py::TestAttribute::test_attribute_begins PASSED                                                                                     [ 44%]
tests/test_level3/test_attribute.py::TestAttribute::test_attribute_contains PASSED                                                                                   [ 45%]
tests/test_level3/test_attribute.py::TestAttribute::test_attribute_end PASSED                                                                                        [ 45%]
tests/test_level3/test_checked.py::TestChecked::test_checked PASSED                                                                                                  [ 45%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_html5 PASSED                                                                                         [ 46%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_lxml PASSED                                                                                          [ 46%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_python PASSED                                                                                        [ 46%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_with_nested_disabled_form_html5 PASSED                                                               [ 46%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_with_nested_disabled_form_lxml PASSED                                                                [ 47%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_with_nested_disabled_form_python PASSED                                                              [ 47%]
tests/test_level3/test_disabled.py::TestDisabled::test_disabled_with_nested_optgroup PASSED                                                                          [ 47%]
tests/test_level3/test_empty.py::TestEmpty::test_empty PASSED                                                                                                        [ 48%]
tests/test_level3/test_enabled.py::TestEnabled::test_enable_html5 PASSED                                                                                             [ 48%]
tests/test_level3/test_enabled.py::TestEnabled::test_enable_lxml PASSED                                                                                              [ 48%]
tests/test_level3/test_enabled.py::TestEnabled::test_enable_python PASSED                                                                                            [ 48%]
tests/test_level3/test_enabled.py::TestEnabled::test_enable_with_nested_disabled_form_html5 PASSED                                                                   [ 49%]
tests/test_level3/test_enabled.py::TestEnabled::test_enable_with_nested_disabled_form_lxml PASSED                                                                    [ 49%]
tests/test_level3/test_enabled.py::TestEnabled::test_enable_with_nested_disabled_form_python PASSED                                                                  [ 49%]
tests/test_level3/test_first_of_type.py::TestFirstOfType::test_any_first_of_type PASSED                                                                              [ 50%]
tests/test_level3/test_first_of_type.py::TestFirstOfType::test_first_of_type_at_middle PASSED                                                                        [ 50%]
tests/test_level3/test_first_of_type.py::TestFirstOfType::test_first_of_type_at_start PASSED                                                                         [ 50%]
tests/test_level3/test_last_child.py::TestLastChild::test_last_child PASSED                                                                                          [ 50%]
tests/test_level3/test_last_child.py::TestLastChild::test_last_child_case PASSED                                                                                     [ 51%]
tests/test_level3/test_last_of_type.py::TestLastOfType::test_any_last_of_type PASSED                                                                                 [ 51%]
tests/test_level3/test_last_of_type.py::TestLastOfType::test_last_of_type_at_end PASSED                                                                              [ 51%]
tests/test_level3/test_last_of_type.py::TestLastOfType::test_last_of_type_at_middle PASSED                                                                           [ 51%]
tests/test_level3/test_namespace.py::TestNamespace::test_attribute_namespace PASSED                                                                                  [ 52%]
tests/test_level3/test_namespace.py::TestNamespace::test_attribute_namespace_escapes PASSED                                                                          [ 52%]
tests/test_level3/test_namespace.py::TestNamespace::test_attribute_namespace_xhtml PASSED                                                                            [ 52%]
tests/test_level3/test_namespace.py::TestNamespace::test_attribute_namespace_xml PASSED                                                                              [ 53%]
tests/test_level3/test_namespace.py::TestNamespace::test_invalid_namespace_attribute PASSED                                                                          [ 53%]
tests/test_level3/test_namespace.py::TestNamespace::test_namespace PASSED                                                                                            [ 53%]
tests/test_level3/test_namespace.py::TestNamespace::test_namespace_case PASSED                                                                                       [ 53%]
tests/test_level3/test_namespace.py::TestNamespace::test_namespace_inherit PASSED                                                                                    [ 54%]
tests/test_level3/test_namespace.py::TestNamespace::test_namespace_no_default PASSED                                                                                 [ 54%]
tests/test_level3/test_namespace.py::TestNamespace::test_namespace_with_default PASSED                                                                               [ 54%]
tests/test_level3/test_namespace.py::TestNamespace::test_namespace_with_universal_tag PASSED                                                                         [ 55%]
tests/test_level3/test_namespace.py::TestNamespace::test_no_namespace PASSED                                                                                         [ 55%]
tests/test_level3/test_namespace.py::TestNamespace::test_undefined_namespace PASSED                                                                                  [ 55%]
tests/test_level3/test_namespace.py::TestNamespace::test_universal_namespace PASSED                                                                                  [ 55%]
tests/test_level3/test_not.py::TestNot::test_not PASSED                                                                                                              [ 56%]
tests/test_level3/test_not.py::TestNot::test_not_and_type PASSED                                                                                                     [ 56%]
tests/test_level3/test_not.py::TestNot::test_not_case PASSED                                                                                                         [ 56%]
tests/test_level3/test_nth_child.py::TestNthChild::test_nth_child PASSED                                                                                             [ 57%]
tests/test_level3/test_nth_child.py::TestNthChild::test_nth_child_complex PASSED                                                                                     [ 57%]
tests/test_level3/test_nth_child.py::TestNthChild::test_nth_child_even PASSED                                                                                        [ 57%]
tests/test_level3/test_nth_child.py::TestNthChild::test_nth_child_no_parent PASSED                                                                                   [ 57%]
tests/test_level3/test_nth_child.py::TestNthChild::test_nth_child_odd PASSED                                                                                         [ 58%]
tests/test_level3/test_nth_child.py::TestNthChild::test_nth_child_with_bad_parameters PASSED                                                                         [ 58%]
tests/test_level3/test_nth_last_child.py::TestNthLastChild::test_nth_last_child PASSED                                                                               [ 58%]
tests/test_level3/test_nth_last_child.py::TestNthLastChild::test_nth_last_child_complex PASSED                                                                       [ 59%]
tests/test_level3/test_nth_last_of_type.py::TestNthLastOfType::test_nth_last_of_type PASSED                                                                          [ 59%]
tests/test_level3/test_nth_last_of_type.py::TestNthLastOfType::test_nth_last_of_type_complex PASSED                                                                  [ 59%]
tests/test_level3/test_nth_of_type.py::TestNthOfType::test_nth_of_type PASSED                                                                                        [ 59%]
tests/test_level3/test_nth_of_type.py::TestNthOfType::test_nth_of_type_complex PASSED                                                                                [ 60%]
tests/test_level3/test_only_child.py::TestOnlyChild::test_only_child PASSED                                                                                          [ 60%]
tests/test_level3/test_only_of_type.py::TestOnlyOfType::test_only_of_type PASSED                                                                                     [ 60%]
tests/test_level3/test_root.py::TestRoot::test_iframe PASSED                                                                                                         [ 61%]
tests/test_level3/test_root.py::TestRoot::test_no_iframe PASSED                                                                                                      [ 61%]
tests/test_level3/test_root.py::TestRoot::test_no_root_cdata PASSED                                                                                                  [ 61%]
tests/test_level3/test_root.py::TestRoot::test_no_root_double_tag PASSED                                                                                             [ 61%]
tests/test_level3/test_root.py::TestRoot::test_no_root_text PASSED                                                                                                   [ 62%]
tests/test_level3/test_root.py::TestRoot::test_root PASSED                                                                                                           [ 62%]
tests/test_level3/test_root.py::TestRoot::test_root_complex PASSED                                                                                                   [ 62%]
tests/test_level3/test_root.py::TestRoot::test_root_doctype PASSED                                                                                                   [ 63%]
tests/test_level3/test_root.py::TestRoot::test_root_iframe PASSED                                                                                                    [ 63%]
tests/test_level3/test_root.py::TestRoot::test_root_preprocess PASSED                                                                                                [ 63%]
tests/test_level3/test_root.py::TestRoot::test_root_whitespace PASSED                                                                                                [ 63%]
tests/test_level3/test_subsequent_sibling.py::TestSubsequentSibling::test_subsequent_sibling PASSED                                                                  [ 64%]
tests/test_level3/test_target.py::TestTarget::test_not_target PASSED                                                                                                 [ 64%]
tests/test_level3/test_target.py::TestTarget::test_target PASSED                                                                                                     [ 64%]
tests/test_level4/test_any_link.py::TestAnyLink::test_anylink PASSED                                                                                                 [ 65%]
tests/test_level4/test_any_link.py::TestAnyLink::test_anylink_xhtml PASSED                                                                                           [ 65%]
tests/test_level4/test_any_link.py::TestAnyLink::test_anylink_xml PASSED                                                                                             [ 65%]
tests/test_level4/test_any_link.py::TestAnyLink::test_not_anylink PASSED                                                                                             [ 65%]
tests/test_level4/test_attribute.py::TestAttribute::test_attribute_forced_case_insensitive PASSED                                                                    [ 66%]
tests/test_level4/test_attribute.py::TestAttribute::test_attribute_forced_case_insensitive_xhtml PASSED                                                              [ 66%]
tests/test_level4/test_attribute.py::TestAttribute::test_attribute_forced_case_insensitive_xml PASSED                                                                [ 66%]
tests/test_level4/test_attribute.py::TestAttribute::test_attribute_forced_case_needs_value PASSED                                                                    [ 67%]
tests/test_level4/test_attribute.py::TestAttribute::test_attribute_type_case_sensitive PASSED                                                                        [ 67%]
tests/test_level4/test_current.py::TestCurrent::test_current PASSED                                                                                                  [ 67%]
tests/test_level4/test_current.py::TestCurrent::test_current_func PASSED                                                                                             [ 67%]
tests/test_level4/test_current.py::TestCurrent::test_current_func_nested PASSED                                                                                      [ 68%]
tests/test_level4/test_current.py::TestCurrent::test_not_current PASSED                                                                                              [ 68%]
tests/test_level4/test_default.py::TestDefault::test_default PASSED                                                                                                  [ 68%]
tests/test_level4/test_default.py::TestDefault::test_default_cached PASSED                                                                                           [ 69%]
tests/test_level4/test_default.py::TestDefault::test_iframe PASSED                                                                                                   [ 69%]
tests/test_level4/test_default.py::TestDefault::test_nested_form PASSED                                                                                              [ 69%]
tests/test_level4/test_default.py::TestDefault::test_nested_form_fail PASSED                                                                                         [ 69%]
tests/test_level4/test_defined.py::TestDefined::test_defined_html PASSED                                                                                             [ 70%]
tests/test_level4/test_defined.py::TestDefined::test_defined_xml PASSED                                                                                              [ 70%]
tests/test_level4/test_dir.py::TestDir::test_dir_auto_root PASSED                                                                                                    [ 70%]
tests/test_level4/test_dir.py::TestDir::test_dir_bidi_detect PASSED                                                                                                  [ 71%]
tests/test_level4/test_dir.py::TestDir::test_dir_conflict PASSED                                                                                                     [ 71%]
tests/test_level4/test_dir.py::TestDir::test_dir_ltr PASSED                                                                                                          [ 71%]
tests/test_level4/test_dir.py::TestDir::test_dir_on_input PASSED                                                                                                     [ 71%]
tests/test_level4/test_dir.py::TestDir::test_dir_on_input_root PASSED                                                                                                [ 72%]
tests/test_level4/test_dir.py::TestDir::test_dir_on_root PASSED                                                                                                      [ 72%]
tests/test_level4/test_dir.py::TestDir::test_dir_rtl PASSED                                                                                                          [ 72%]
tests/test_level4/test_dir.py::TestDir::test_dir_xml PASSED                                                                                                          [ 73%]
tests/test_level4/test_dir.py::TestDir::test_iframe PASSED                                                                                                           [ 73%]
tests/test_level4/test_dir.py::TestDir::test_xml_in_html PASSED                                                                                                      [ 73%]
tests/test_level4/test_focus_visible.py::TestFocusVisible::test_focus_visible PASSED                                                                                 [ 73%]
tests/test_level4/test_focus_visible.py::TestFocusVisible::test_not_focus_visible PASSED                                                                             [ 74%]
tests/test_level4/test_focus_within.py::TestFocusWithin::test_focus_within PASSED                                                                                    [ 74%]
tests/test_level4/test_focus_within.py::TestFocusWithin::test_not_focus_within PASSED                                                                                [ 74%]
tests/test_level4/test_future.py::TestFuture::test_future PASSED                                                                                                     [ 75%]
tests/test_level4/test_future.py::TestFuture::test_not_future PASSED                                                                                                 [ 75%]
tests/test_level4/test_has.py::TestHas::test_has_case PASSED                                                                                                         [ 75%]
tests/test_level4/test_has.py::TestHas::test_has_child PASSED                                                                                                        [ 75%]
tests/test_level4/test_has.py::TestHas::test_has_descendant PASSED                                                                                                   [ 76%]
tests/test_level4/test_has.py::TestHas::test_has_mixed PASSED                                                                                                        [ 76%]
tests/test_level4/test_has.py::TestHas::test_has_nested_pseudo PASSED                                                                                                [ 76%]
tests/test_level4/test_has.py::TestHas::test_has_next_sibling PASSED                                                                                                 [ 76%]
tests/test_level4/test_has.py::TestHas::test_has_subsequent_sibling PASSED                                                                                           [ 77%]
tests/test_level4/test_has.py::TestHas::test_invalid_has_double_combinator PASSED                                                                                    [ 77%]
tests/test_level4/test_has.py::TestHas::test_invalid_has_double_comma PASSED                                                                                         [ 77%]
tests/test_level4/test_has.py::TestHas::test_invalid_has_empty PASSED                                                                                                [ 78%]
tests/test_level4/test_has.py::TestHas::test_invalid_has_start_comma PASSED                                                                                          [ 78%]
tests/test_level4/test_has.py::TestHas::test_invalid_has_trailing_combinator PASSED                                                                                  [ 78%]
tests/test_level4/test_has.py::TestHas::test_invalid_has_trailing_comma PASSED                                                                                       [ 78%]
tests/test_level4/test_has.py::TestHas::test_invalid_incomplete_has PASSED                                                                                           [ 79%]
tests/test_level4/test_host.py::TestHost::test_host PASSED                                                                                                           [ 79%]
tests/test_level4/test_host.py::TestHost::test_host_func PASSED                                                                                                      [ 79%]
tests/test_level4/test_host_context.py::TestHostContext::test_host_context PASSED                                                                                    [ 80%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_date PASSED                                                                                           [ 80%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_date_time PASSED                                                                                      [ 80%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_month PASSED                                                                                          [ 80%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_number PASSED                                                                                         [ 81%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_range PASSED                                                                                          [ 81%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_time PASSED                                                                                           [ 81%]
tests/test_level4/test_in_range.py::TestInRange::test_in_range_week PASSED                                                                                           [ 82%]
tests/test_level4/test_indeterminate.py::TestIndeterminate::test_iframe PASSED                                                                                       [ 82%]
tests/test_level4/test_indeterminate.py::TestIndeterminate::test_indeterminate PASSED                                                                                [ 82%]
tests/test_level4/test_is.py::TestIs::test_invalid_pseudo_class_start_combinator PASSED                                                                              [ 82%]
tests/test_level4/test_is.py::TestIs::test_invalid_pseudo_dangling_comma PASSED                                                                                      [ 83%]
tests/test_level4/test_is.py::TestIs::test_invalid_pseudo_open PASSED                                                                                                [ 83%]
tests/test_level4/test_is.py::TestIs::test_invalid_pseudo_orphan_close PASSED                                                                                        [ 83%]
tests/test_level4/test_is.py::TestIs::test_is PASSED                                                                                                                 [ 84%]
tests/test_level4/test_is.py::TestIs::test_is_with_other_pseudo PASSED                                                                                               [ 84%]
tests/test_level4/test_is.py::TestIs::test_multiple_is PASSED                                                                                                        [ 84%]
tests/test_level4/test_is.py::TestIs::test_nested_is PASSED                                                                                                          [ 84%]
tests/test_level4/test_lang.py::TestLang::test_avoid_implicit_language PASSED                                                                                        [ 85%]
tests/test_level4/test_lang.py::TestLang::test_explicit_wildcard PASSED                                                                                              [ 85%]
tests/test_level4/test_lang.py::TestLang::test_lang PASSED                                                                                                           [ 85%]
tests/test_level4/test_lang.py::TestLang::test_lang_missing_range PASSED                                                                                             [ 86%]
tests/test_level4/test_lang.py::TestLang::test_language_in_header PASSED                                                                                             [ 86%]
tests/test_level4/test_lang.py::TestLang::test_language_in_xhtml PASSED                                                                                              [ 86%]
tests/test_level4/test_lang.py::TestLang::test_language_in_xhtml_without_html_style_lang PASSED                                                                      [ 86%]
tests/test_level4/test_lang.py::TestLang::test_language_list PASSED                                                                                                  [ 87%]
tests/test_level4/test_lang.py::TestLang::test_language_quoted PASSED                                                                                                [ 87%]
tests/test_level4/test_lang.py::TestLang::test_language_quoted_with_escaped_newline PASSED                                                                           [ 87%]
tests/test_level4/test_lang.py::TestLang::test_only_wildcard PASSED                                                                                                  [ 88%]
tests/test_level4/test_lang.py::TestLang::test_undetermined_language PASSED                                                                                          [ 88%]
tests/test_level4/test_lang.py::TestLang::test_wildcard_at_start_escaped PASSED                                                                                      [ 88%]
tests/test_level4/test_lang.py::TestLang::test_wildcard_at_start_quoted PASSED                                                                                       [ 88%]
tests/test_level4/test_lang.py::TestLang::test_wildcard_start_collapse PASSED                                                                                        [ 89%]
tests/test_level4/test_lang.py::TestLang::test_wildcard_start_no_match PASSED                                                                                        [ 89%]
tests/test_level4/test_lang.py::TestLang::test_xml_style_language PASSED                                                                                             [ 89%]
tests/test_level4/test_lang.py::TestLang::test_xml_style_language_in_html5 PASSED                                                                                    [ 90%]
tests/test_level4/test_local_link.py::TestLocalLink::test_local_link PASSED                                                                                          [ 90%]
tests/test_level4/test_local_link.py::TestLocalLink::test_not_local_link PASSED                                                                                      [ 90%]
tests/test_level4/test_matches.py::TestMatches::test_matches PASSED                                                                                                  [ 90%]
tests/test_level4/test_matches.py::TestMatches::test_nested_matches PASSED                                                                                           [ 91%]
tests/test_level4/test_not.py::TestNot::test_multi_nested_not PASSED                                                                                                 [ 91%]
tests/test_level4/test_nth_child.py::TestNthChild::test_nth_child_of_s_complex PASSED                                                                                [ 91%]
tests/test_level4/test_nth_child.py::TestNthChild::test_nth_child_of_s_simple PASSED                                                                                 [ 92%]
tests/test_level4/test_optional.py::TestOptional::test_optional PASSED                                                                                               [ 92%]
tests/test_level4/test_optional.py::TestOptional::test_specific_optional PASSED                                                                                      [ 92%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_date PASSED                                                                                [ 92%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_date_time PASSED                                                                           [ 93%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_month PASSED                                                                               [ 93%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_number PASSED                                                                              [ 93%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_range PASSED                                                                               [ 94%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_time PASSED                                                                                [ 94%]
tests/test_level4/test_out_of_range.py::TestOutOfRange::test_out_of_range_week PASSED                                                                                [ 94%]
tests/test_level4/test_past.py::TestPast::test_not_past PASSED                                                                                                       [ 94%]
tests/test_level4/test_past.py::TestPast::test_past PASSED                                                                                                           [ 95%]
tests/test_level4/test_paused.py::TestPaused::test_not_paused PASSED                                                                                                 [ 95%]
tests/test_level4/test_paused.py::TestPaused::test_paused PASSED                                                                                                     [ 95%]
tests/test_level4/test_placeholder_shown.py::TestPlaceholderShown::test_placeholder_shown PASSED                                                                     [ 96%]
tests/test_level4/test_playing.py::TestPlaying::test_not_playing PASSED                                                                                              [ 96%]
tests/test_level4/test_playing.py::TestPlaying::test_playing PASSED                                                                                                  [ 96%]
tests/test_level4/test_read_only.py::TestReadOnly::test_read_only PASSED                                                                                             [ 96%]
tests/test_level4/test_read_write.py::TestReadWrite::test_read_write PASSED                                                                                          [ 97%]
tests/test_level4/test_required.py::TestRequired::test_required PASSED                                                                                               [ 97%]
tests/test_level4/test_required.py::TestRequired::test_specific_required PASSED                                                                                      [ 97%]
tests/test_level4/test_scope.py::TestScope::test_scope_cannot_select_target PASSED                                                                                   [ 98%]
tests/test_level4/test_scope.py::TestScope::test_scope_is_root PASSED                                                                                                [ 98%]
tests/test_level4/test_scope.py::TestScope::test_scope_is_select_target PASSED                                                                                       [ 98%]
tests/test_level4/test_target_within.py::TestTargetWithin::test_not_target_within PASSED                                                                             [ 98%]
tests/test_level4/test_target_within.py::TestTargetWithin::test_target_within PASSED                                                                                 [ 99%]
tests/test_level4/test_user_invalid.py::TestInvalid::test_user_invalid PASSED                                                                                        [ 99%]
tests/test_level4/test_where.py::TestWhere::test_nested_where PASSED                                                                                                 [ 99%]
tests/test_level4/test_where.py::TestWhere::test_where PASSED                                                                                                        [100%]

================================================================================= FAILURES =================================================================================
________________________________________________________________ TestSoupContains.test_contains_cdata_html _________________________________________________________________

self = <tests.test_extra.test_soup_contains.TestSoupContains testMethod=test_contains_cdata_html>

    def test_contains_cdata_html(self):
        """Test contains CDATA in HTML5."""

        markup = """
        <body><div id="1">Testing that <span id="2"><![CDATA[that]]></span>contains works.</div></body>
        """

>       self.assert_selector(
            markup,
            'body *:-soup-contains("that")',
            ['1'],
            flags=util.HTML
        )

tests/test_extra/test_soup_contains.py:154:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/util.py:122: in assert_selector
    self.assertEqual(sorted(ids), sorted(expected_ids))
E   AssertionError: Lists differ: ['1', '2'] != ['1']
E
E   First list contains 1 additional elements.
E   First extra element 1:
E   '2'
E
E   - ['1', '2']
E   + ['1']
--------------------------------------------------------------------------- Captured stdout call ---------------------------------------------------------------------------
----Running Selector Test----
PATTERN:  body *:-soup-contains("that")
## PARSING: 'body *:-soup-contains("that")'
TOKEN: 'tag' --> 'body' at position 0
TOKEN: 'combine' --> ' ' at position 4
TOKEN: 'tag' --> '*' at position 5
TOKEN: 'pseudo_contains' --> ':-soup-contains("that")' at position 6
## END PARSING

====PARSER:  html5lib
TAG:  div

====PARSER:  lxml
TAG:  div
TAG:  span
_____________________________________________________________ TestSoupContainsOwn.test_contains_own_cdata_html _____________________________________________________________

self = <tests.test_extra.test_soup_contains_own.TestSoupContainsOwn testMethod=test_contains_own_cdata_html>

    def test_contains_own_cdata_html(self):
        """Test contains CDATA in HTML5."""

        markup = """
        <body><div id="1">Testing that <span id="2"><![CDATA[that]]></span>contains works.</div></body>
        """

>       self.assert_selector(
            markup,
            'body *:-soup-contains-own("that")',
            ['1'],
            flags=util.HTML
        )

tests/test_extra/test_soup_contains_own.py:45:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/util.py:122: in assert_selector
    self.assertEqual(sorted(ids), sorted(expected_ids))
E   AssertionError: Lists differ: ['1', '2'] != ['1']
E
E   First list contains 1 additional elements.
E   First extra element 1:
E   '2'
E
E   - ['1', '2']
E   + ['1']
--------------------------------------------------------------------------- Captured stdout call ---------------------------------------------------------------------------
----Running Selector Test----
PATTERN:  body *:-soup-contains-own("that")
## PARSING: 'body *:-soup-contains-own("that")'
TOKEN: 'tag' --> 'body' at position 0
TOKEN: 'combine' --> ' ' at position 4
TOKEN: 'tag' --> '*' at position 5
TOKEN: 'pseudo_contains' --> ':-soup-contains-own("that")' at position 6
## END PARSING

====PARSER:  html5lib
TAG:  div

====PARSER:  lxml
TAG:  div
TAG:  span
========================================================================= short test summary info ==========================================================================
FAILED tests/test_extra/test_soup_contains.py::TestSoupContains::test_contains_cdata_html - AssertionError: Lists differ: ['1', '2'] != ['1']
FAILED tests/test_extra/test_soup_contains_own.py::TestSoupContainsOwn::test_contains_own_cdata_html - AssertionError: Lists differ: ['1', '2'] != ['1']
=============================================================== 2 failed, 350 passed, 1 deselected in 2.10s ==========================
facelessuser commented 3 years ago

Your going to have to be more specific as I'm not understand the complaint here. While I see your log with failures, the tests are currently passing for this repo on the main branch. https://github.com/facelessuser/soupsieve/actions/runs/413697712

kloczek commented 3 years ago

I just found that in tar ball is tox.ini and test tox suite seems is ok. Only that one executed over pytest is failing,

facelessuser commented 3 years ago

Oh, so when run directly with pytest we fail, but when run indirectly with tox we pass. That's weird. I always run with tox which is why I've never seen that.

kloczek commented 3 years ago

If you are only maintaining tox test units that is file and feel free to close that ticket :)

facelessuser commented 3 years ago

Are you sure you aren't missing the lxml and/or html5lib dependency and bs4 is falling back to htmlparser? I imagine that is what is happening. Tox ensures the environment is correct for each year environment.

facelessuser commented 3 years ago

I'm guessing this is a local user error. I just downloaded the tar ball and ran pytest directly and everything passed.

I suspect you hadn't installed both lxml and html5lib

➜  soupsieve-2.1 pytest .
============================= test session starts ==============================
platform darwin -- Python 3.9.0, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: /Users/facelessuser/Downloads/soupsieve-2.1, configfile: tox.ini
collected 353 items

tests/test_api.py ..........................................             [ 11%]
tests/test_bs4_cases.py .....                                            [ 13%]
tests/test_versions.py ....                                              [ 14%]
tests/test_extra/test_attribute.py ...                                   [ 15%]
tests/test_extra/test_custom.py ..........                               [ 18%]
tests/test_extra/test_soup_contains.py ..................                [ 23%]
tests/test_extra/test_soup_contains_own.py .....                         [ 24%]
tests/test_level1/test_active.py .                                       [ 24%]
tests/test_level1/test_at_rule.py .                                      [ 25%]
tests/test_level1/test_class.py ........                                 [ 27%]
tests/test_level1/test_comments.py ..                                    [ 28%]
tests/test_level1/test_descendant.py .                                   [ 28%]
tests/test_level1/test_escapes.py .                                      [ 28%]
tests/test_level1/test_id.py ...                                         [ 29%]
tests/test_level1/test_link.py ..                                        [ 30%]
tests/test_level1/test_list.py ....                                      [ 31%]
tests/test_level1/test_pseudo_class.py ..                                [ 31%]
tests/test_level1/test_pseudo_element.py .                               [ 32%]
tests/test_level1/test_type.py .....                                     [ 33%]
tests/test_level1/test_visited.py .                                      [ 33%]
tests/test_level2/test_attribute.py ........................             [ 40%]
tests/test_level2/test_child.py .....                                    [ 41%]
tests/test_level2/test_first_child.py .                                  [ 42%]
tests/test_level2/test_focus.py ..                                       [ 42%]
tests/test_level2/test_hover.py .                                        [ 43%]
tests/test_level2/test_lang.py ..                                        [ 43%]
tests/test_level2/test_next_sibling.py ...                               [ 44%]
tests/test_level2/test_universal_type.py .                               [ 44%]
tests/test_level3/test_attribute.py ...                                  [ 45%]
tests/test_level3/test_checked.py .                                      [ 45%]
tests/test_level3/test_disabled.py .......                               [ 47%]
tests/test_level3/test_empty.py .                                        [ 48%]
tests/test_level3/test_enabled.py ......                                 [ 49%]
tests/test_level3/test_first_of_type.py ...                              [ 50%]
tests/test_level3/test_last_child.py ..                                  [ 51%]
tests/test_level3/test_last_of_type.py ...                               [ 52%]
tests/test_level3/test_namespace.py ..............                       [ 56%]
tests/test_level3/test_not.py ...                                        [ 56%]
tests/test_level3/test_nth_child.py ......                               [ 58%]
tests/test_level3/test_nth_last_child.py ..                              [ 59%]
tests/test_level3/test_nth_last_of_type.py ..                            [ 59%]
tests/test_level3/test_nth_of_type.py ..                                 [ 60%]
tests/test_level3/test_only_child.py .                                   [ 60%]
tests/test_level3/test_only_of_type.py .                                 [ 60%]
tests/test_level3/test_root.py ...........                               [ 64%]
tests/test_level3/test_subsequent_sibling.py .                           [ 64%]
tests/test_level3/test_target.py ..                                      [ 64%]
tests/test_level4/test_any_link.py ....                                  [ 66%]
tests/test_level4/test_attribute.py .....                                [ 67%]
tests/test_level4/test_current.py ....                                   [ 68%]
tests/test_level4/test_default.py .....                                  [ 69%]
tests/test_level4/test_defined.py ..                                     [ 70%]
tests/test_level4/test_dir.py ...........                                [ 73%]
tests/test_level4/test_focus_visible.py ..                               [ 74%]
tests/test_level4/test_focus_within.py ..                                [ 74%]
tests/test_level4/test_future.py ..                                      [ 75%]
tests/test_level4/test_has.py ..............                             [ 79%]
tests/test_level4/test_host.py ..                                        [ 79%]
tests/test_level4/test_host_context.py .                                 [ 80%]
tests/test_level4/test_in_range.py .......                               [ 82%]
tests/test_level4/test_indeterminate.py ..                               [ 82%]
tests/test_level4/test_is.py ........                                    [ 84%]
tests/test_level4/test_lang.py ..................                        [ 90%]
tests/test_level4/test_local_link.py ..                                  [ 90%]
tests/test_level4/test_matches.py ..                                     [ 91%]
tests/test_level4/test_not.py .                                          [ 91%]
tests/test_level4/test_nth_child.py ..                                   [ 92%]
tests/test_level4/test_optional.py ..                                    [ 92%]
tests/test_level4/test_out_of_range.py .......                           [ 94%]
tests/test_level4/test_past.py ..                                        [ 95%]
tests/test_level4/test_paused.py ..                                      [ 95%]
tests/test_level4/test_placeholder_shown.py .                            [ 96%]
tests/test_level4/test_playing.py ..                                     [ 96%]
tests/test_level4/test_read_only.py .                                    [ 96%]
tests/test_level4/test_read_write.py .                                   [ 97%]
tests/test_level4/test_required.py ..                                    [ 97%]
tests/test_level4/test_scope.py ...                                      [ 98%]
tests/test_level4/test_target_within.py ..                               [ 99%]
tests/test_level4/test_user_invalid.py .                                 [ 99%]
tests/test_level4/test_where.py ..                                       [100%]

============================= 353 passed in 1.99s ==============================
facelessuser commented 3 years ago

As this "failure" is not reproducible when all expected libraries are installed, this seems to be a user error.

facelessuser commented 3 years ago

Additionally, I created a venv environment to test when html5lib and lxml are not installed, and it worked fine and skipped tests involving lxml and html5lib as expected. So I can't reproduce your situation under any circumstances. I assume something isn't quite right on your system:

(venv) ➜  soupsieve-2.1 python3 -m pytest tests
============================= test session starts ==============================
platform darwin -- Python 3.9.0, pytest-6.1.2, py-1.9.0, pluggy-0.13.1
rootdir: /Users/facelessuser/Downloads/soupsieve-2.1, configfile: tox.ini
collected 353 items

tests/test_api.py ..........................................             [ 11%]
tests/test_bs4_cases.py ..sss                                            [ 13%]
tests/test_versions.py ....                                              [ 14%]
tests/test_extra/test_attribute.py sss                                   [ 15%]
tests/test_extra/test_custom.py ..........                               [ 18%]
tests/test_extra/test_soup_contains.py ...ss..s..........                [ 23%]
tests/test_extra/test_soup_contains_own.py ..s..                         [ 24%]
tests/test_level1/test_active.py .                                       [ 24%]
tests/test_level1/test_at_rule.py .                                      [ 25%]
tests/test_level1/test_class.py .s......                                 [ 27%]
tests/test_level1/test_comments.py ..                                    [ 28%]
tests/test_level1/test_descendant.py .                                   [ 28%]
tests/test_level1/test_escapes.py .                                      [ 28%]
tests/test_level1/test_id.py ...                                         [ 29%]
tests/test_level1/test_link.py .s                                        [ 30%]
tests/test_level1/test_list.py ....                                      [ 31%]
tests/test_level1/test_pseudo_class.py ..                                [ 31%]
tests/test_level1/test_pseudo_element.py .                               [ 32%]
tests/test_level1/test_type.py ...ss                                     [ 33%]
tests/test_level1/test_visited.py .                                      [ 33%]
tests/test_level2/test_attribute.py ..................ss....             [ 40%]
tests/test_level2/test_child.py .....                                    [ 41%]
tests/test_level2/test_first_child.py .                                  [ 42%]
tests/test_level2/test_focus.py ..                                       [ 42%]
tests/test_level2/test_hover.py .                                        [ 43%]
tests/test_level2/test_lang.py ..                                        [ 43%]
tests/test_level2/test_next_sibling.py ...                               [ 44%]
tests/test_level2/test_universal_type.py .                               [ 44%]
tests/test_level3/test_attribute.py ...                                  [ 45%]
tests/test_level3/test_checked.py .                                      [ 45%]
tests/test_level3/test_disabled.py ss.ss..                               [ 47%]
tests/test_level3/test_empty.py .                                        [ 48%]
tests/test_level3/test_enabled.py ss.ss.                                 [ 49%]
tests/test_level3/test_first_of_type.py ...                              [ 50%]
tests/test_level3/test_last_child.py ..                                  [ 51%]
tests/test_level3/test_last_of_type.py ...                               [ 52%]
tests/test_level3/test_namespace.py ssssssssssssss                       [ 56%]
tests/test_level3/test_not.py ...                                        [ 56%]
tests/test_level3/test_nth_child.py ......                               [ 58%]
tests/test_level3/test_nth_last_child.py ..                              [ 59%]
tests/test_level3/test_nth_last_of_type.py ..                            [ 59%]
tests/test_level3/test_nth_of_type.py ..                                 [ 60%]
tests/test_level3/test_only_child.py .                                   [ 60%]
tests/test_level3/test_only_of_type.py .                                 [ 60%]
tests/test_level3/test_root.py ...........                               [ 64%]
tests/test_level3/test_subsequent_sibling.py .                           [ 64%]
tests/test_level3/test_target.py ..                                      [ 64%]
tests/test_level4/test_any_link.py .sss                                  [ 66%]
tests/test_level4/test_attribute.py .ss..                                [ 67%]
tests/test_level4/test_current.py ....                                   [ 68%]
tests/test_level4/test_default.py .....                                  [ 69%]
tests/test_level4/test_defined.py .s                                     [ 70%]
tests/test_level4/test_dir.py ....s...s.s                                [ 73%]
tests/test_level4/test_focus_visible.py ..                               [ 74%]
tests/test_level4/test_focus_within.py ..                                [ 74%]
tests/test_level4/test_future.py ..                                      [ 75%]
tests/test_level4/test_has.py ..............                             [ 79%]
tests/test_level4/test_host.py ..                                        [ 79%]
tests/test_level4/test_host_context.py .                                 [ 80%]
tests/test_level4/test_in_range.py .......                               [ 82%]
tests/test_level4/test_indeterminate.py ..                               [ 82%]
tests/test_level4/test_is.py ........                                    [ 84%]
tests/test_level4/test_lang.py .....ss.........ss                        [ 90%]
tests/test_level4/test_local_link.py ..                                  [ 90%]
tests/test_level4/test_matches.py ..                                     [ 91%]
tests/test_level4/test_not.py .                                          [ 91%]
tests/test_level4/test_nth_child.py ..                                   [ 92%]
tests/test_level4/test_optional.py ..                                    [ 92%]
tests/test_level4/test_out_of_range.py .......                           [ 94%]
tests/test_level4/test_past.py ..                                        [ 95%]
tests/test_level4/test_paused.py ..                                      [ 95%]
tests/test_level4/test_placeholder_shown.py .                            [ 96%]
tests/test_level4/test_playing.py ..                                     [ 96%]
tests/test_level4/test_read_only.py .                                    [ 96%]
tests/test_level4/test_read_write.py .                                   [ 97%]
tests/test_level4/test_required.py ..                                    [ 97%]
tests/test_level4/test_scope.py ...                                      [ 98%]
tests/test_level4/test_target_within.py ..                               [ 99%]
tests/test_level4/test_user_invalid.py .                                 [ 99%]
tests/test_level4/test_where.py ..                                       [100%]

======================= 302 passed, 51 skipped in 1.07s ========================

Closing issue as it seems to not be reproducible.