Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7.0.0: pytest is failing in 2 units and many pytest warnings #2649

Open
kloczek opened this issue Nov 25, 2023 · 2 comments
Open

7.0.0: pytest is failing in 2 units and many pytest warnings #2649

kloczek opened this issue Nov 25, 2023 · 2 comments

Comments

@kloczek
Copy link

kloczek commented Nov 25, 2023

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix> using 'installer` module
  • run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
  • build is performed in env which is cut off from access to the public network (pytest is executed with -m "not network")

Here is list of installed modules in build env

Package                       Version
----------------------------- -------
alabaster                     0.7.13
Babel                         2.13.1
build                         1.0.3
charset-normalizer            3.3.2
coverage                      7.3.2
cppclean                      0.13
distro                        1.8.0
dnf                           4.18.1
docutils                      0.20.1
exceptiongroup                1.1.3
gpg                           1.23.0
html5lib                      1.1
idna                          3.4
imagesize                     1.4.1
importlib-metadata            6.8.0
iniconfig                     2.0.0
installer                     0.7.0
isodate                       0.6.1
Jinja2                        3.1.2
libdnf                        0.72.0
markdown-it-py                3.0.0
MarkupSafe                    2.1.3
mdit-py-plugins               0.4.0
mdurl                         0.1.2
myst-parser                   2.0.0
packaging                     23.2
pbr                           5.11.1
pluggy                        1.3.0
poetry-core                   1.8.1
Pygments                      2.17.2
pyparsing                     3.1.1
pyproject_hooks               1.0.0
pytest                        7.4.3
pytest-cov                    4.1.0
python-dateutil               2.8.2
pytz                          2023.3
PyYAML                        6.0.1
requests                      2.31.0
six                           1.16.0
snowballstemmer               2.2.0
Sphinx                        7.1.2
sphinx-autodoc-typehints      1.25.2
sphinxcontrib-apidoc          0.3.0
sphinxcontrib-applehelp       1.0.4
sphinxcontrib-devhelp         1.0.5
sphinxcontrib-htmlhelp        2.0.4
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-kroki           1.3.0
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.9
tabulate                      0.9.0
tomli                         2.0.1
urllib3                       1.26.18
webencodings                  0.5.1
wheel                         0.41.3
zipp                          3.17.0
@kloczek
Copy link
Author

kloczek commented Nov 25, 2023

Here is pytest output:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-rdflib-7.0.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-rdflib-7.0.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0
configfile: pyproject.toml
plugins: cov-4.1.0
collected 7707 items / 2 skipped

docs/namespaces_and_bindings.rst .                                       [  0%]
docs/rdf_terms.rst .                                                     [  0%]
rdflib/__init__.py .                                                     [  0%]
rdflib/collection.py ....                                                [  0%]
rdflib/compare.py ..                                                     [  0%]
rdflib/container.py .                                                    [  0%]
rdflib/events.py .                                                       [  0%]
rdflib/graph.py .......                                                  [  0%]
rdflib/parser.py .                                                       [  0%]
rdflib/paths.py .                                                        [  0%]
rdflib/query.py .                                                        [  0%]
rdflib/resource.py .                                                     [  0%]
rdflib/term.py ................                                          [  0%]
rdflib/util.py ......                                                    [  0%]
rdflib/extras/describer.py ......                                        [  0%]
rdflib/extras/infixowl.py ...........                                    [  0%]
rdflib/namespace/__init__.py ......                                      [  0%]
rdflib/plugins/parsers/jsonld.py .                                       [  0%]
rdflib/plugins/parsers/notation3.py ...                                  [  0%]
rdflib/plugins/parsers/nquads.py .                                       [  0%]
rdflib/plugins/serializers/jsonld.py .                                   [  0%]
rdflib/plugins/shared/jsonld/util.py .                                   [  0%]
rdflib/plugins/stores/sparqlstore.py .                                   [  0%]
rdflib/tools/csv2rdf.py .                                                [  0%]
rdflib/tools/rdfpipe.py .                                                [  0%]
test/test_examples.py s..................                                [  1%]
test/test_having.py ...                                                  [  1%]
test/test_n3.py ................                                         [  1%]
test/test_nt_misc.py ......................                              [  1%]
test/test_path.py .....................                                  [  2%]
test/test_roundtrip.py ................................................. [  2%]
........................................................................ [  3%]
....................x................................................... [  4%]
........................................................................ [  5%]
........................................................................ [  6%]
......................................................................x. [  7%]
..x..................................................................... [  8%]
........................................................................ [  9%]
........................................................................ [ 10%]
........................................................................ [ 11%]
........................................................................ [ 12%]
.............................................................x.......... [ 12%]
...............x.......x........................x..xx...........x....... [ 13%]
..x....x...........................................................x.... [ 14%]
........................................................................ [ 15%]
........................................................................ [ 16%]
.x..x.......................x........................................... [ 17%]
........................................................................ [ 18%]
........................................................................ [ 19%]
........................................................................ [ 20%]
........................................................................ [ 21%]
................................xx.......x.............................. [ 22%]
..x.........xx.x.............................x.......................... [ 23%]
......................x...........                                       [ 23%]
test/test_skolem_genid.py .                                              [ 23%]
test/test_trig.py ............                                           [ 23%]
test/test_turtle_quoting.py ............................................ [ 24%]
........................................................................ [ 25%]
........................................................................ [ 26%]
........................................................................ [ 27%]
........................................................................ [ 28%]
........................................................................ [ 29%]
........................................................................ [ 30%]
........................................................................ [ 30%]
........................................................................ [ 31%]
.................                                                        [ 32%]
test/test_turtle_sort_issue613.py ..                                     [ 32%]
test/test_typing.py .                                                    [ 32%]
test/test_util.py ..............................................xxx..... [ 32%]
...............................                                          [ 33%]
test/data/suites/trix/test_trix.py ..........x....xxx..xxx.xxx.......... [ 33%]
......x..x.x...................xxxxxxxxx                                 [ 34%]
test/jsonld/test_api.py .                                                [ 34%]
test/jsonld/test_compaction.py ...........                               [ 34%]
test/jsonld/test_context.py ....................                         [ 34%]
test/jsonld/test_localsuite.py ...                                       [ 34%]
test/jsonld/test_named_graphs.py ...                                     [ 34%]
test/jsonld/test_onedotone.py .......................................... [ 35%]
........................................................................ [ 36%]
........................................................................ [ 37%]
........................................................................ [ 38%]
....                                                                     [ 38%]
test/jsonld/test_pythonparse.py .                                        [ 38%]
test/jsonld/test_testsuite.py .......................................... [ 38%]
........................................................................ [ 39%]
.............                                                            [ 39%]
test/jsonld/test_util.py x.................                              [ 40%]
test/test_conjunctivegraph/test_conjunctive_graph.py .....               [ 40%]
test/test_conjunctivegraph/test_conjunctivegraph_generators.py ........  [ 40%]
test/test_conjunctivegraph/test_conjunctivegraph_operator_combinations.py . [ 40%]
....                                                                     [ 40%]
test/test_dataset/test_dataset.py .....                                  [ 40%]
test/test_dataset/test_dataset_default_graph.py ....................     [ 40%]
test/test_dataset/test_dataset_generators.py ........                    [ 40%]
test/test_extras/test_extras_external_graph_libs.py ss                   [ 40%]
test/test_extras/test_infixowl/test_annotatableterms.py ...              [ 40%]
test/test_extras/test_infixowl/test_basic.py ....                        [ 40%]
test/test_extras/test_infixowl/test_booleanclass.py xx......             [ 40%]
test/test_extras/test_infixowl/test_class.py .......                     [ 41%]
test/test_extras/test_infixowl/test_componentterms.py ...                [ 41%]
test/test_extras/test_infixowl/test_context.py .                         [ 41%]
test/test_extras/test_infixowl/test_cover.py ...................         [ 41%]
test/test_extras/test_infixowl/test_enumerated_class.py ..               [ 41%]
test/test_extras/test_infixowl/test_individual.py .....                  [ 41%]
test/test_extras/test_infixowl/test_logic_structuring.py .               [ 41%]
test/test_extras/test_infixowl/test_manchester_syntax.py ..              [ 41%]
test/test_extras/test_infixowl/test_ontology.py ..                       [ 41%]
test/test_extras/test_infixowl/test_property.py .                        [ 41%]
test/test_extras/test_infixowl/test_restriction.py ...............x      [ 41%]
test/test_extras/test_infixowl/test_rubric.py ........                   [ 41%]
test/test_graph/test_aggregate_graphs.py ..                              [ 41%]
test/test_graph/test_batch_add.py ..........                             [ 41%]
test/test_graph/test_canonicalization.py ..........x                     [ 42%]
test/test_graph/test_container.py .................                      [ 42%]
test/test_graph/test_diff.py ..x..x                                      [ 42%]
test/test_graph/test_graph.py ..................                         [ 42%]
test/test_graph/test_graph_cbd.py ....                                   [ 42%]
test/test_graph/test_graph_context.py ..........                         [ 42%]
test/test_graph/test_graph_formula.py ..                                 [ 42%]
test/test_graph/test_graph_generators.py .......                         [ 42%]
test/test_graph/test_graph_http.py .......                               [ 43%]
test/test_graph/test_graph_items.py .                                    [ 43%]
test/test_graph/test_graph_operator.py ...                               [ 43%]
test/test_graph/test_graph_redirect.py .                                 [ 43%]
test/test_graph/test_graph_store.py ...........................          [ 43%]
test/test_graph/test_namespace_rebinding.py ....x.........               [ 43%]
test/test_graph/test_skolemization.py .........                          [ 43%]
test/test_graph/test_slice.py .                                          [ 43%]
test/test_graph/test_variants.py ..x...x.x....                           [ 43%]
test/test_issues/test_issue084.py ........                               [ 44%]
test/test_issues/test_issue1003.py .........                             [ 44%]
test/test_issues/test_issue1043.py .                                     [ 44%]
test/test_issues/test_issue1141.py ...                                   [ 44%]
test/test_issues/test_issue1160.py .                                     [ 44%]
test/test_issues/test_issue1404.py .                                     [ 44%]
test/test_issues/test_issue1484.py ..                                    [ 44%]
test/test_issues/test_issue160.py .                                      [ 44%]
test/test_issues/test_issue161.py .                                      [ 44%]
test/test_issues/test_issue1808.py .                                     [ 44%]
test/test_issues/test_issue184.py .                                      [ 44%]
test/test_issues/test_issue1873.py ..                                    [ 44%]
test/test_issues/test_issue190.py xx                                     [ 44%]
test/test_issues/test_issue1998.py .                                     [ 44%]
test/test_issues/test_issue200.py .                                      [ 44%]
test/test_issues/test_issue209.py .                                      [ 44%]
test/test_issues/test_issue223.py .                                      [ 44%]
test/test_issues/test_issue247.py .                                      [ 44%]
test/test_issues/test_issue248.py .                                      [ 44%]
test/test_issues/test_issue274.py .................................      [ 44%]
test/test_issues/test_issue363.py ..                                     [ 44%]
test/test_issues/test_issue379.py ..                                     [ 44%]
test/test_issues/test_issue381.py .......                                [ 44%]
test/test_issues/test_issue432.py .                                      [ 44%]
test/test_issues/test_issue446.py .                                      [ 45%]
test/test_issues/test_issue492.py .                                      [ 45%]
test/test_issues/test_issue523.py .                                      [ 45%]
test/test_issues/test_issue532.py .                                      [ 45%]
test/test_issues/test_issue535.py .                                      [ 45%]
test/test_issues/test_issue545.py .                                      [ 45%]
test/test_issues/test_issue554.py .                                      [ 45%]
test/test_issues/test_issue563.py ..                                     [ 45%]
test/test_issues/test_issue579.py .                                      [ 45%]
test/test_issues/test_issue604.py .                                      [ 45%]
test/test_issues/test_issue655.py .                                      [ 45%]
test/test_issues/test_issue715.py .                                      [ 45%]
test/test_issues/test_issue733.py ..                                     [ 45%]
test/test_issues/test_issue801.py .                                      [ 45%]
test/test_issues/test_issue893.py .                                      [ 45%]
test/test_issues/test_issue910.py ....                                   [ 45%]
test/test_issues/test_issue920.py .                                      [ 45%]
test/test_issues/test_issue923.py .                                      [ 45%]
test/test_issues/test_issue953.py .                                      [ 45%]
test/test_issues/test_issue977.py ..                                     [ 45%]
test/test_issues/test_issue980.py .                                      [ 45%]
test/test_issues/test_issue_git_200.py .                                 [ 45%]
test/test_issues/test_issue_git_336.py .                                 [ 45%]
test/test_literal/test_datetime.py .......                               [ 45%]
test/test_literal/test_duration.py ........                              [ 45%]
test/test_literal/test_hex_binary.py ..                                  [ 45%]
test/test_literal/test_literal.py ...................................... [ 46%]
........................................................................ [ 47%]
........................................................................ [ 47%]
.xxxxxxxxxx................                                              [ 48%]
test/test_literal/test_literal_html5lib.py .......                       [ 48%]
test/test_literal/test_normalized_string.py ....                         [ 48%]
test/test_literal/test_term.py .......                                   [ 48%]
test/test_literal/test_tokendatatype.py .....                            [ 48%]
test/test_literal/test_uriref_literal_comparison.py ..........           [ 48%]
test/test_literal/test_xmlliterals.py ......                             [ 48%]
test/test_misc/test_b64_binary.py .                                      [ 48%]
test/test_misc/test_bnode_ncname.py .                                    [ 48%]
test/test_misc/test_collection.py .                                      [ 48%]
test/test_misc/test_conventions.py .                                     [ 48%]
test/test_misc/test_events.py .                                          [ 48%]
test/test_misc/test_input_source.py .................................... [ 49%]
........................................................................ [ 50%]
........................................................................ [ 51%]
...........................                                              [ 51%]
test/test_misc/test_networking_redirect.py .....................         [ 51%]
test/test_misc/test_parse_file_guess_format.py .....                     [ 51%]
test/test_misc/test_path_div_future.py .                                 [ 51%]
test/test_misc/test_plugins.py FF                                        [ 51%]
test/test_misc/test_prefix_types.py .                                    [ 51%]
test/test_misc/test_resource.py .                                        [ 51%]
test/test_misc/test_security.py ........                                 [ 52%]
test/test_namespace/test_definednamespace.py ........................... [ 52%]
........................................................................ [ 53%]
.........................................                                [ 53%]
test/test_namespace/test_definednamespace_creator.py .....               [ 53%]
test/test_namespace/test_definednamespace_dir.py .                       [ 53%]
test/test_namespace/test_namespace.py ......x........................... [ 54%]
............                                                             [ 54%]
test/test_namespace/test_namespacemanager.py ........................... [ 54%]
...x.........                                                            [ 55%]
test/test_parsers/test_broken_parse_data_from_jena.py xx.xxxx.           [ 55%]
test/test_parsers/test_empty_xml_base.py ..                              [ 55%]
test/test_parsers/test_n3parse_of_rdf_lists.py ..                        [ 55%]
test/test_parsers/test_nquads.py ...........                             [ 55%]
test/test_parsers/test_parser.py ....                                    [ 55%]
test/test_parsers/test_parser_helpers.py .                               [ 55%]
test/test_parsers/test_parser_hext.py ......                             [ 55%]
test/test_parsers/test_parser_reads_from_pathlike_object.py .            [ 55%]
test/test_parsers/test_parser_structure.py .                             [ 55%]
test/test_parsers/test_parser_turtlelike.py ............................ [ 55%]
...........................................................x.x.......... [ 56%]
........................................................................ [ 57%]
........................................                                 [ 58%]
test/test_parsers/test_swap_n3.py .xx....x.x...xx...x.xxx..x.x.x         [ 58%]
test/test_parsers/test_trix_parse.py ...                                 [ 58%]
test/test_serializers/test_finalnewline.py .                             [ 58%]
test/test_serializers/test_prettyxml.py .......                          [ 58%]
test/test_serializers/test_serializer.py .................x.x.x.x.x.x.x. [ 59%]
x.x.x.x.x........................xxxxxxxxxxxxxxxxxxxxxxxx............... [ 60%]
.....................................................................x.x [ 61%]
.x.x.x.x.x.x.x.x.x.x.................................................... [ 62%]
.......................                                                  [ 62%]
test/test_serializers/test_serializer_hext.py ......                     [ 62%]
test/test_serializers/test_serializer_jsonld.py ..                       [ 62%]
test/test_serializers/test_serializer_longturtle.py .                    [ 62%]
test/test_serializers/test_serializer_n3.py ....                         [ 62%]
test/test_serializers/test_serializer_trix.py ..                         [ 62%]
test/test_serializers/test_serializer_turtle.py .....                    [ 62%]
test/test_serializers/test_serializer_xml.py .....                       [ 62%]
test/test_serializers/test_xmlwriter_qname.py .....                      [ 62%]
test/test_sparql/test_agg_distinct.py .....                              [ 62%]
test/test_sparql/test_agg_undef.py ........                              [ 62%]
test/test_sparql/test_construct_bindings.py .                            [ 62%]
test/test_sparql/test_datetime_processing.py ....                        [ 62%]
test/test_sparql/test_evaluate_bind.py ...                               [ 62%]
test/test_sparql/test_expressions.py ......                              [ 63%]
test/test_sparql/test_forward_slash_escapes.py .x.x.x                    [ 63%]
test/test_sparql/test_functions.py ..................................... [ 63%]
.................................................                        [ 64%]
test/test_sparql/test_initbindings.py ..........................         [ 64%]
test/test_sparql/test_operators.py ...                                   [ 64%]
test/test_sparql/test_prefixed_name.py ................................. [ 65%]
.....................                                                    [ 65%]
test/test_sparql/test_prepare.py ..                                      [ 65%]
test/test_sparql/test_result.py ......................xx..xxx........xx. [ 65%]
........x...x...x.........................                               [ 66%]
test/test_sparql/test_service.py ............                            [ 66%]
test/test_sparql/test_sparql.py ...x..........x...x..................... [ 67%]
................                                                         [ 67%]
test/test_sparql/test_sparql_parser.py ..                                [ 67%]
test/test_sparql/test_subselect.py ....                                  [ 67%]
test/test_sparql/test_translate_algebra.py ............................. [ 67%]
..x.........x.                                                           [ 67%]
test/test_sparql/test_tsvresults.py .                                    [ 67%]
test/test_store/test_namespace_binding.py .............................. [ 68%]
.......................................x.x                               [ 68%]
test/test_store/test_nodepickler.py ...                                  [ 68%]
test/test_store/test_store.py ...                                        [ 68%]
test/test_store/test_store_auditable.py ........................         [ 69%]
test/test_store/test_store_berkeleydb.py ssssss                          [ 69%]
test/test_store/test_store_memorystore.py ..                             [ 69%]
test/test_store/test_store_sparqlstore.py .........                      [ 69%]
test/test_store/test_store_sparqlstore_query.py ....                     [ 69%]
test/test_store/test_store_sparqlstore_sparqlconnector.py ..             [ 69%]
test/test_store/test_store_sparqlupdatestore_mock.py ...                 [ 69%]
test/test_store/test_store_triple_store.py ...                           [ 69%]
test/test_tools/test_chunk_serializer.py ...........                     [ 69%]
test/test_tools/test_csv2rdf.py ..                                       [ 69%]
test/test_w3c_spec/test_n3_w3c.py ......x...................x........... [ 70%]
...........xxxxxxxxxx........xxxxxxxxxxxxx.............................. [ 71%]
.x.x.xx.........xxx..x.x................................................ [ 72%]
..............................................................x......... [ 73%]
................x.................                                       [ 73%]
test/test_w3c_spec/test_nquads_w3c.py .................................. [ 74%]
..xxxx.........xxs.................................                      [ 74%]
test/test_w3c_spec/test_nt_w3c.py ...................xxxx.........xxx... [ 75%]
.............................x                                           [ 75%]
test/test_w3c_spec/test_rdfxml_w3c.py .................................. [ 75%]
........................................................................ [ 76%]
...............................................................          [ 77%]
test/test_w3c_spec/test_sparql10_w3c.py ..................ss............ [ 78%]
...........xx..............................x............................ [ 79%]
....................................................x................... [ 80%]
........................................................................ [ 80%]
......................s.........................x......x..x............. [ 81%]
.................x............x......................................... [ 82%]
........................x..............xxx...xxxxxxxx...                 [ 83%]
test/test_w3c_spec/test_sparql11_w3c.py ...............x.xxxx........... [ 83%]
.x...................................................................... [ 84%]
.............................x...x....x...xxxxxxx.xxx.....xxxxx......... [ 85%]
..xx......xxxx..xxxxxxxxxxxxxxxx.....x.x................................ [ 86%]
..............................xx........................................ [ 87%]
...........xsssssss..................................................... [ 88%]
.xxx.............xxx..x................................................. [ 89%]
.................xx.....xxx.x.................ssssssssssssssssssssssssss [ 90%]
sssssssssss                                                              [ 90%]
test/test_w3c_spec/test_sparql_rdflib.py .........................xxxx   [ 91%]
test/test_w3c_spec/test_trig_w3c.py ....xxxx............................ [ 91%]
........................................................................ [ 92%]
....x................................................................... [ 93%]
........xxxxx..........xxxx...xx..xx.x.........x.xxxx..xxx........xx.... [ 94%]
..............................xxxx.x.......xxxx......................... [ 95%]
...........                                                              [ 95%]
test/test_w3c_spec/test_turtle_w3c.py .................................. [ 95%]
...................................................................x.... [ 96%]
.......................................................................x [ 97%]
xxxx...........xxxx...xx..xx.x.............xxxx..xxx........xx.......... [ 98%]
........................xxxx.x...........                                [ 99%]
test/utils/helper.py .                                                   [ 99%]
test/utils/test/test_httpservermock.py ..                                [ 99%]
test/utils/test/test_iri.py .........                                    [ 99%]
test/utils/test/test_outcome.py .........                                [ 99%]
test/utils/test/test_result.py ...........                               [ 99%]
test/utils/test/test_testutils.py .................................      [100%]

=================================== FAILURES ===================================
_______________________________ test_sparqleval ________________________________

tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-2/test_sparqleval0')
no_cover = None

    def test_sparqleval(tmp_path: Path, no_cover: None) -> None:
        with ExitStack() as stack:
>           stack.enter_context(ctx_plugin(tmp_path, TEST_PLUGINS_DIR / "sparqleval"))

test/test_misc/test_plugins.py:70:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/contextlib.py:425: in enter_context
    result = _cm_type.__enter__(cm)
/usr/lib64/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
test/test_misc/test_plugins.py:33: in ctx_plugin
    subprocess.run(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, capture_output = False, timeout = None, check = True
popenargs = (['/usr/bin/python3', '-m', 'pip', 'install', '--isolated', '--no-input', ...],)
kwargs = {}, process = <subprocess.Popen object at 0x7f374816edf0>
stdout = None, stderr = None, retcode = 1

    def run(*popenargs,
            input=None, capture_output=False, timeout=None, check=False, **kwargs):
        """Run command with arguments and return a CompletedProcess instance.

        The returned instance will have attributes args, returncode, stdout and
        stderr. By default, stdout and stderr are not captured, and those attributes
        will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.

        If check is True and the exit code was non-zero, it raises a
        CalledProcessError. The CalledProcessError object will have the return code
        in the returncode attribute, and output & stderr attributes if those streams
        were captured.

        If timeout is given, and the process takes too long, a TimeoutExpired
        exception will be raised.

        There is an optional argument "input", allowing you to
        pass bytes or a string to the subprocess's stdin.  If you use this argument
        you may not also use the Popen constructor's "stdin" argument, as
        it will be used internally.

        By default, all communication is in bytes, and therefore any "input" should
        be bytes, and the stdout and stderr will be bytes. If in text mode, any
        "input" should be a string, and stdout and stderr will be strings decoded
        according to locale encoding, or by "encoding" if set. Text mode is
        triggered by setting any of text, encoding, errors or universal_newlines.

        The other arguments are the same as for the Popen constructor.
        """
        if input is not None:
            if kwargs.get('stdin') is not None:
                raise ValueError('stdin and input arguments may not both be used.')
            kwargs['stdin'] = PIPE

        if capture_output:
            if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
                raise ValueError('stdout and stderr arguments may not be used '
                                 'with capture_output.')
            kwargs['stdout'] = PIPE
            kwargs['stderr'] = PIPE

        with Popen(*popenargs, **kwargs) as process:
            try:
                stdout, stderr = process.communicate(input, timeout=timeout)
            except TimeoutExpired as exc:
                process.kill()
                if _mswindows:
                    # Windows accumulates the output in a single blocking
                    # read() call run on child threads, with the timeout
                    # being done in a join() on those threads.  communicate()
                    # _after_ kill() is required to collect that and add it
                    # to the exception.
                    exc.stdout, exc.stderr = process.communicate()
                else:
                    # POSIX _communicate already populated the output so
                    # far into the TimeoutExpired exception.
                    process.wait()
                raise
            except:  # Including KeyboardInterrupt, communicate handled that.
                process.kill()
                # We don't call process.wait() as .__exit__ does that for us.
                raise
            retcode = process.poll()
            if check and retcode:
>               raise CalledProcessError(retcode, process.args,
                                         output=stdout, stderr=stderr)
E               subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', 'install', '--isolated', '--no-input', '--no-clean', '--no-index', '--disable-pip-version-check', '--target', '/tmp/pytest-of-tkloczko/pytest-2/test_sparqleval0/-4852662262081438054/pypath', '/tmp/pytest-of-tkloczko/pytest-2/test_sparqleval0/-4852662262081438054/plugin']' returned non-zero exit status 1.

/usr/lib64/python3.8/subprocess.py:516: CalledProcessError
----------------------------- Captured stderr call -----------------------------
/usr/bin/python3: No module named pip
_________________________________ test_parser __________________________________

tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-2/test_parser0')
no_cover = None

    def test_parser(tmp_path: Path, no_cover: None) -> None:
        with ExitStack() as stack:
>           stack.enter_context(ctx_plugin(tmp_path, TEST_PLUGINS_DIR / "parser"))

test/test_misc/test_plugins.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib64/python3.8/contextlib.py:425: in enter_context
    result = _cm_type.__enter__(cm)
/usr/lib64/python3.8/contextlib.py:113: in __enter__
    return next(self.gen)
test/test_misc/test_plugins.py:33: in ctx_plugin
    subprocess.run(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

input = None, capture_output = False, timeout = None, check = True
popenargs = (['/usr/bin/python3', '-m', 'pip', 'install', '--isolated', '--no-input', ...],)
kwargs = {}, process = <subprocess.Popen object at 0x7f3747b10b50>
stdout = None, stderr = None, retcode = 1

    def run(*popenargs,
            input=None, capture_output=False, timeout=None, check=False, **kwargs):
        """Run command with arguments and return a CompletedProcess instance.

        The returned instance will have attributes args, returncode, stdout and
        stderr. By default, stdout and stderr are not captured, and those attributes
        will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.

        If check is True and the exit code was non-zero, it raises a
        CalledProcessError. The CalledProcessError object will have the return code
        in the returncode attribute, and output & stderr attributes if those streams
        were captured.

        If timeout is given, and the process takes too long, a TimeoutExpired
        exception will be raised.

        There is an optional argument "input", allowing you to
        pass bytes or a string to the subprocess's stdin.  If you use this argument
        you may not also use the Popen constructor's "stdin" argument, as
        it will be used internally.

        By default, all communication is in bytes, and therefore any "input" should
        be bytes, and the stdout and stderr will be bytes. If in text mode, any
        "input" should be a string, and stdout and stderr will be strings decoded
        according to locale encoding, or by "encoding" if set. Text mode is
        triggered by setting any of text, encoding, errors or universal_newlines.

        The other arguments are the same as for the Popen constructor.
        """
        if input is not None:
            if kwargs.get('stdin') is not None:
                raise ValueError('stdin and input arguments may not both be used.')
            kwargs['stdin'] = PIPE

        if capture_output:
            if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
                raise ValueError('stdout and stderr arguments may not be used '
                                 'with capture_output.')
            kwargs['stdout'] = PIPE
            kwargs['stderr'] = PIPE

        with Popen(*popenargs, **kwargs) as process:
            try:
                stdout, stderr = process.communicate(input, timeout=timeout)
            except TimeoutExpired as exc:
                process.kill()
                if _mswindows:
                    # Windows accumulates the output in a single blocking
                    # read() call run on child threads, with the timeout
                    # being done in a join() on those threads.  communicate()
                    # _after_ kill() is required to collect that and add it
                    # to the exception.
                    exc.stdout, exc.stderr = process.communicate()
                else:
                    # POSIX _communicate already populated the output so
                    # far into the TimeoutExpired exception.
                    process.wait()
                raise
            except:  # Including KeyboardInterrupt, communicate handled that.
                process.kill()
                # We don't call process.wait() as .__exit__ does that for us.
                raise
            retcode = process.poll()
            if check and retcode:
>               raise CalledProcessError(retcode, process.args,
                                         output=stdout, stderr=stderr)
E               subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', 'install', '--isolated', '--no-input', '--no-clean', '--no-index', '--disable-pip-version-check', '--target', '/tmp/pytest-of-tkloczko/pytest-2/test_parser0/-7143603712919777330/pypath', '/tmp/pytest-of-tkloczko/pytest-2/test_parser0/-7143603712919777330/plugin']' returned non-zero exit status 1.

/usr/lib64/python3.8/subprocess.py:516: CalledProcessError
----------------------------- Captured stderr call -----------------------------
/usr/bin/python3: No module named pip
=============================== warnings summary ===============================
test/test_roundtrip.py: 12 warnings
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/term.py:1585: UserWarning: Serializing weird numerical rdflib.term.Literal('+1.0z', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
    warnings.warn("Serializing weird numerical %r" % self)

test/test_roundtrip.py: 12 warnings
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/term.py:1585: UserWarning: Serializing weird numerical rdflib.term.Literal('xy.z', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
    warnings.warn("Serializing weird numerical %r" % self)

test/test_roundtrip.py: 12 warnings
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/term.py:1585: UserWarning: Serializing weird numerical rdflib.term.Literal('ab.c', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double'))
    warnings.warn("Serializing weird numerical %r" % self)

test/test_util.py::TestUtilTermConvert::test_util_from_n3_expectliteralandlangdtype
  /usr/lib/python3.8/site-packages/_pytest/python.py:199: UserWarning: Code: fr is not defined in namespace XSD
    result = testfunction(**testargs)

test/test_util.py::TestUtilTermConvert::test_util_from_n3_not_escapes[\\I]
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/util.py:213: DeprecationWarning: invalid escape sequence '\I'
    value = value.encode("raw-unicode-escape").decode("unicode-escape")

test/test_literal/test_literal.py::test_ill_typed_literals[yes-http://www.w3.org/2001/XMLSchema#boolean-True]
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/term.py:1719: UserWarning: Parsing weird boolean, 'yes' does not map to True or False
    warnings.warn(

test/test_namespace/test_definednamespace.py::test_inspect[DFNSDefaults]
  /usr/lib64/python3.8/inspect.py:2270: UserWarning: Code: _partialmethod is not defined in namespace DFNSDefaults
    partialmethod = obj._partialmethod

test/test_namespace/test_definednamespace.py::test_inspect[DFNSWarnNoFail]
  /usr/lib64/python3.8/inspect.py:2270: UserWarning: Code: _partialmethod is not defined in namespace DFNSWarnNoFail
    partialmethod = obj._partialmethod

test/test_namespace/test_definednamespace.py::test_inspect[DFNSDefaultsEmpty]
  /usr/lib64/python3.8/inspect.py:2270: UserWarning: Code: _partialmethod is not defined in namespace DFNSDefaultsEmpty
    partialmethod = obj._partialmethod

test/test_namespace/test_namespace.py::TestNamespacePrefix::test_closed_namespace
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/test_namespace/test_namespace.py:228: UserWarning: DefinedNamespace does not address deprecated properties
    warn("DefinedNamespace does not address deprecated properties")

test/test_parsers/test_n3parse_of_rdf_lists.py::TestOWLCollectionTest::test_collection_rdfxml
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/plugins/serializers/rdfxml.py:280: UserWarning: Assertions on rdflib.term.BNode('N733abdfc7e5348f099976b0595b8a48e') other than RDF.first and RDF.rest are ignored ... including RDF.List
    self.predicate(predicate, object, depth + 1)

test/test_serializers/test_serializer.py: 10 warnings
test/test_tools/test_chunk_serializer.py: 4 warnings
  /home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/rdflib/plugins/serializers/nt.py:40: UserWarning: NTSerializer always uses UTF-8 encoding. Given encoding was: None
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [2] test/test_store/test_store_sparqlupdatestore.py:32: http://localhost:3031 is unavailable.
SKIPPED [1] test/test_examples.py:30: The BerkeleyDB example is not working correctly.
SKIPPED [1] test/test_extras/test_extras_external_graph_libs.py:10: couldn't find networkx
SKIPPED [1] test/test_extras/test_extras_external_graph_libs.py:61: couldn't find graph_tool
SKIPPED [1] test/test_store/test_store_berkeleydb.py:43: skipping berkeleydb tests, modile not available
SKIPPED [1] test/test_store/test_store_berkeleydb.py:68: skipping berkeleydb tests, modile not available
SKIPPED [1] test/test_store/test_store_berkeleydb.py:79: skipping berkeleydb tests, modile not available
SKIPPED [1] test/test_store/test_store_berkeleydb.py:96: skipping berkeleydb tests, modile not available
SKIPPED [1] test/test_store/test_store_berkeleydb.py:109: skipping berkeleydb tests, modile not available
SKIPPED [1] test/test_store/test_store_berkeleydb.py:156: skipping berkeleydb tests, modile not available
SKIPPED [1] test/test_w3c_spec/test_nquads_w3c.py:81: accepts badly escaped literal
SKIPPED [2] test/test_w3c_spec/test_sparql10_w3c.py:110: using Sparql 1.1 which is not backwards compatible. '456.' will be interpreted differently in query and data.
SKIPPED [1] test/test_w3c_spec/test_sparql10_w3c.py:110: bad test, positive syntax has invalid syntax.
SKIPPED [5] test/test_w3c_spec/test_sparql11_w3c.py:248: need custom handling
SKIPPED [2] test/test_w3c_spec/test_sparql11_w3c.py:248: test not supported
SKIPPED [37] test/test_w3c_spec/test_sparql11_w3c.py:248: tester not implemented
XFAIL test/test_roundtrip.py::test_nt[roundtrip_keywords-04.nt_nt_json-ld] - known NT->JSONLD problem
XFAIL test/test_roundtrip.py::test_nt[roundtrip_qname-02.nt_nt_xml] - uses a property that cannot be qname'd
XFAIL test/test_roundtrip.py::test_nt[roundtrip_rdflibtest-pnamebrackets.nt_nt_xml] - results in invalid xml element name: <ns1:name(s)/>
XFAIL test/test_roundtrip.py::test_n3[roundtrip_n3-writer-test-22.n3_n3_hext] - HexTuples conflates "" and ""^^xsd:string strings
XFAIL test/test_roundtrip.py::test_n3[roundtrip_rdf-test-21.n3_n3_hext] - HexTuples conflates "" and ""^^xsd:string strings
XFAIL test/test_roundtrip.py::test_n3[roundtrip_example-misc.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_n3-writer-test-22.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_n3-writer-test-26.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_n3-writer-test-28.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_rdf-test-11.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_rdf-test-21.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_rdf-test-28.n3_n3_json-ld] - known N3->JSONLD problem
XFAIL test/test_roundtrip.py::test_n3[roundtrip_strquot.n3_n3_trix] - contains characters forbidden by the xml spec
XFAIL test/test_roundtrip.py::test_n3[roundtrip_n3-writer-test-29.n3_n3_xml] - has predicates that cannot be shortened to strict qnames
XFAIL test/test_roundtrip.py::test_n3[roundtrip_n3-writer-test-32.n3_n3_xml] - has a predicate that cannot be shortened to strict qnames
XFAIL test/test_roundtrip.py::test_n3[roundtrip_strquot.n3_n3_xml] - contains characters forbidden by the xml spec
XFAIL test/test_roundtrip.py::test_n3_suite[roundtrip_decimal.n3_n3_n3] - double mismatch
    -            (rdflib.term.Literal('1.328435e+55', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double')),
    +            (rdflib.term.Literal('1.3284347025749857e+55', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double')),

XFAIL test/test_roundtrip.py::test_n3_suite[roundtrip_decimal-ref.n3_n3_n3] - double mismatch
    -            (rdflib.term.Literal('1.328435e+55', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double')),
    +            (rdflib.term.Literal('1.32843470257e+55', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double')),

XFAIL test/test_roundtrip.py::test_n3_suite[roundtrip_neg-single-quote.n3_n3_n3] - no support for single quotes
XFAIL test/test_roundtrip.py::test_extra[roundtrip_diverse_quads.trig_trig_hext] -
    hext serializer is dropping datatype:
        only in first:
            (rdflib.term.URIRef('example:subject'), rdflib.term.URIRef('http://example.com/predicate'), rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')))
        only in second:
            (rdflib.term.URIRef('example:subject'), rdflib.term.URIRef('http://example.com/predicate'), rdflib.term.Literal('XSD string'))

XFAIL test/test_roundtrip.py::test_extra[roundtrip_diverse_quads.trig_trig_json-ld] -
    jsonld serializer is dropping datatype:
        only in first:
            (rdflib.term.URIRef('example:subject'), rdflib.term.URIRef('http://example.com/predicate'), rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')))
        only in second:
            (rdflib.term.URIRef('example:subject'), rdflib.term.URIRef('http://example.com/predicate'), rdflib.term.Literal('XSD string'))

XFAIL test/test_roundtrip.py::test_extra[roundtrip_bnode_refs.trig_trig_json-ld] - a whole bunch of triples with bnode as subject is not in the reconstituted graph
XFAIL test/test_roundtrip.py::test_extra[roundtrip_special_chars.nt_ntriples_trix] - missing escaping: PCDATA invalid Char value 12 and 8
XFAIL test/test_roundtrip.py::test_extra[roundtrip_special_chars.nt_ntriples_xml] - missing escaping: PCDATA invalid Char value 12 and 8
XFAIL test/test_roundtrip.py::test_extra[roundtrip_example-lots_of_graphs.n3_n3_n3] - rdflib.compare.isomorphic does not work for quoted graphs.
XFAIL test/test_util.py::TestUtilTermConvert::test_util_from_n3_not_escapes_xf[j\\366rn]
XFAIL test/test_util.py::TestUtilTermConvert::test_util_from_n3_not_escapes_xf[\\]
XFAIL test/test_util.py::TestUtilTermConvert::test_util_from_n3_not_escapes_xf[\\0]
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-04-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test10] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-12-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test15] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-13-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test16] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-14-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test17] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-w3c-2-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test20] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-ns-1-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test21] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-ns-2-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test22] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-ex-2-http://www.w3.org/ns/rdftest#TestTrixPositiveSyntax-rdf_test24] - reason: Known issue with TriX parser
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-ex-3-http://www.w3.org/ns/rdftest#TestTrixPositiveSyntax-rdf_test25] - reason: Known issue with TriX parser
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-ex-4-http://www.w3.org/ns/rdftest#TestTrixPositiveSyntax-rdf_test26] - reason: Known issue with TriX parser
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-ng4j-extended-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test43] - reason: Known issue with TriX parser
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-ng4j-missingnamespace-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test46] - reason: Known issue with TriX parser
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-ng4j-relativeuris-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test48] - reason: Known issue with TriX eval
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-1-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test68] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-2-http://www.w3.org/ns/rdftest#TestTrixEval-rdf_test69] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-asserted-1-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test70] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-asserted-2-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test71] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-emb-1-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test72] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-emb-2-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test73] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-emb-nested-1-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test74] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-emb-nested-2-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test75] - reason: TriX Star NYI
XFAIL test/data/suites/trix/test_trix.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/trix/manifest.ttl#trix-jena-star-bad-emb-nested-3-http://www.w3.org/ns/rdftest#TestTrixNegativeSyntax-rdf_test76] - reason: TriX Star NYI
XFAIL test/jsonld/test_util.py::test_norm_url_xfail[git+ssh://example.com:1231/some/thing/-a-git+ssh://example.com:1231/some/thing/a] -
    URL normalizes to the wrong thing.

    AssertionError: assert 'git+ssh://example.com:1231/some/thing/a' == 'a'

XFAIL test/test_extras/test_infixowl/test_booleanclass.py::test_booleanclass_operator_as_none - AssertionError, len(props) != 1
XFAIL test/test_extras/test_infixowl/test_booleanclass.py::test_booleanclass_operator_as_none_with_intersection - This is a previous boolean class description!'(  )
XFAIL test/test_extras/test_infixowl/test_restriction.py::test_omitted_restriction_kind - assert len(validRestrProps) fails to handle None
XFAIL test/test_graph/test_canonicalization.py::TestConsistency::test_consistent_ids
XFAIL test/test_graph/test_diff.py::TestDiff::test_subsets
XFAIL test/test_graph/test_diff.py::test_assert_sets_equal[test_case2] - quads are not supported
XFAIL test/test_graph/test_namespace_rebinding.py::test_automatic_handling_of_unknown_predicates -
    Automatic handling of unknown predicates not automatically registered with namespace manager

    NOTE: This is not a bug, but more of a feature request.

XFAIL test/test_graph/test_variants.py::test_variants[variants/diverse_quads] -
    TriG parsing gets confused about what graph 'XSD string' appears in:
        (rdflib.term.URIRef('example:subject'),
        rdflib.term.URIRef('http://example.com/predicate'),
        rdflib.term.Literal('XSD string'),
    -   rdflib.term.URIRef('example:graph')),
    +   rdflib.term.URIRef('urn:example:graph')),
    ?                       ++++

XFAIL test/test_graph/test_variants.py::test_variants[variants/rdf11trig_eg2] -
    This fails randomly, passing less than 10% of the time, and always failing
    with comparing hext against trig. Not clear why, it may be a big with hext
    parsing.

    AssertionError: checking rdf11trig_eg2.hext against rdf11trig_eg2.trig
    in both:
        (rdflib.term.BNode('cb0'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/mbox'), rdflib.term.URIRef('mailto:bob@oldcorp.example.org'))
        (rdflib.term.BNode('cb0'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/name'), rdflib.term.Literal('Bob'))
        (rdflib.term.URIRef('http://example.org/bob'), rdflib.term.URIRef('http://purl.org/dc/terms/publisher'), rdflib.term.Literal('Bob'))
        (rdflib.term.URIRef('http://example.org/alice'), rdflib.term.URIRef('http://purl.org/dc/terms/publisher'), rdflib.term.Literal('Alice'))
    only in first:
        (rdflib.term.BNode('cb0'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/knows'), rdflib.term.BNode('cbb5eb12b5dcf688537b0298cce144c6dd68cf047530d0b4a455a8f31f314244fd'))
        (rdflib.term.BNode('cbb5eb12b5dcf688537b0298cce144c6dd68cf047530d0b4a455a8f31f314244fd'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/mbox'), rdflib.term.URIRef('mailto:alice@work.example.org'))
        (rdflib.term.BNode('cbb5eb12b5dcf688537b0298cce144c6dd68cf047530d0b4a455a8f31f314244fd'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/name'), rdflib.term.Literal('Alice'))
    only in second:
        (rdflib.term.BNode('cb0'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/knows'), rdflib.term.BNode('cbcd41774964510991c01701d8430149bc373e1f23734d9c938c81a40b1429aa33'))
        (rdflib.term.BNode('cbcd41774964510991c01701d8430149bc373e1f23734d9c938c81a40b1429aa33'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/mbox'), rdflib.term.URIRef('mailto:alice@work.example.org'))
        (rdflib.term.BNode('cbcd41774964510991c01701d8430149bc373e1f23734d9c938c81a40b1429aa33'), rdflib.term.URIRef('http://xmlns.com/foaf/0.1/name'), rdflib.term.Literal('Alice'))

XFAIL test/test_graph/test_variants.py::test_variants[variants/schema_only_base] - Some issue with handling base URI that does not end with a slash
XFAIL test/test_issues/test_issue190.py::test1 - Known issue with newlines in text
XFAIL test/test_issues/test_issue190.py::test2 - Known issue with newlines in text
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-01Z-http://www.w3.org/2001/XMLSchema#gYearMonth-date]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921Z-http://www.w3.org/2001/XMLSchema#gYear-date]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-00-http://www.w3.org/2001/XMLSchema#gYearMonth-date]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-05-01Z-http://www.w3.org/2001/XMLSchema#date-date]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-05-01+00:30-http://www.w3.org/2001/XMLSchema#date-date0]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-05-01+00:30-http://www.w3.org/2001/XMLSchema#date-date1]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-05-01+00:00-http://www.w3.org/2001/XMLSchema#date-date0]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-05-01+00:00-http://www.w3.org/2001/XMLSchema#date-date1]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1921-05-01T00:00:00Z-http://www.w3.org/2001/XMLSchema#dateTime-datetime]
XFAIL test/test_literal/test_literal.py::test_literal_construction_value_class[1e-31-http://www.w3.org/2001/XMLSchema#decimal-None]
XFAIL test/test_namespace/test_namespace.py::TestClosedNamespace::test_repr_ef
XFAIL test/test_namespace/test_namespacemanager.py::test_expand_curie[eg:foo-http://example.org/foo] - This is failing because of https://github.com/RDFLib/rdflib/issues/2077
XFAIL test/test_parsers/test_broken_parse_data_from_jena.py::test_n3_serializer_roundtrip[n3-writer-test-02.n3] - Expected failure with n3-writer-test-02.n3
XFAIL test/test_parsers/test_broken_parse_data_from_jena.py::test_n3_serializer_roundtrip[n3-writer-test-25.n3] - Expected failure with n3-writer-test-25.n3
XFAIL test/test_parsers/test_broken_parse_data_from_jena.py::test_n3_serializer_roundtrip[rdf-test-01.n3] - Expected failure with rdf-test-01.n3
XFAIL test/test_parsers/test_broken_parse_data_from_jena.py::test_n3_serializer_roundtrip[rdf-test-08.n3] - Expected failure with rdf-test-08.n3
XFAIL test/test_parsers/test_broken_parse_data_from_jena.py::test_n3_serializer_roundtrip[rdf-test-10.n3] - Expected failure with rdf-test-10.n3
XFAIL test/test_parsers/test_broken_parse_data_from_jena.py::test_n3_serializer_roundtrip[rdf-test-24.n3] - Expected failure with rdf-test-24.n3
XFAIL test/test_parsers/test_parser_turtlelike.py::test_literals[n3--4.1e-07--4.1E-7-parse_n3_identifier] - bug in from_n3
XFAIL test/test_parsers/test_parser_turtlelike.py::test_literals[n3--4.1e-07--4.1e-7-parse_n3_identifier] - bug in from_n3
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope0] - reason: syntax_neg_single_quote skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope1] - reason: syntax_neg_thisadoc skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope6] - reason: syntax_zero_objects skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope8] - reason: syntax_too_nested skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope12] - reason: syntax_neg_formula_predicate skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope13] - reason: syntax_zero_predicates skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope17] - reason: syntax_neg_keywords3 skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope19] - reason: syntax_equals1 skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope20] - reason: syntax_neg_literal_predicate skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope21] - reason: syntax_this_quantifiers skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope24] - reason: syntax_this_rules skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope26] - reason: syntax_equals2 skipped, known issue
XFAIL test/test_parsers/test_swap_n3.py::test_cases[generictest-envelope28] - reason: syntax_trailing_semicolon skipped, known issue
XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-FILE_URI-None] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-FILE_URI-utf-8] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-STR_PATH-None] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-STR_PATH-utf-8] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-BINARY_IO-None] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-BINARY_IO-utf-8] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-RETURN-None] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-RETURN-utf-8] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-PATH-None] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-PATH-utf-8] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-PURE_PATH-None] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[trig-TRIPLE-PURE_PATH-utf-8] -
        TriG serializes non-context aware stores incorrectly, adding a blank
        node graph name which breaks round tripping.

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-FILE_URI-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-FILE_URI-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-FILE_URI-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-FILE_URI-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-STR_PATH-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-STR_PATH-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-STR_PATH-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-STR_PATH-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-BINARY_IO-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-BINARY_IO-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-BINARY_IO-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-BINARY_IO-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-RETURN-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-RETURN-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-RETURN-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-RETURN-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-PATH-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-PATH-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-PATH-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-PATH-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-PURE_PATH-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-PURE_PATH-None] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-QUAD-PURE_PATH-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[json-ld-TRIPLE-PURE_PATH-utf-8] -
    JSON-LD is dropping datatype:
    -   rdflib.term.Literal('XSD string'),
    +   rdflib.term.Literal('XSD string', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-FILE_URI-None] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-FILE_URI-utf-8] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-STR_PATH-None] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-STR_PATH-utf-8] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-BINARY_IO-None] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-BINARY_IO-utf-8] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-RETURN-None] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-RETURN-utf-8] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-PATH-None] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-PATH-utf-8] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-PURE_PATH-None] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_serializers/test_serializer.py::test_serialize_parse[hext-QUAD-PURE_PATH-utf-8] -
    hext is injecting datatype:
    -   rdflib.term.Literal('typeless', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string')),
    +   rdflib.term.Literal('typeless'),

XFAIL test/test_sparql/test_forward_slash_escapes.py::test_query_prepares_prefixed -
    Contrary to the ratified SPARQL 1.1 grammar, the RDFlib SPARQL propcessor
    accepts backslashes as part of PN_LOCAL which it treats as escape
    characters.

    There should be a way to instruct the SPARQL parser to operate in strict
    mode, and in strict mode backslashes should not be permitted in PN_LOCAL.

    See https://github.com/RDFLib/rdflib/issues/1871

XFAIL test/test_sparql/test_forward_slash_escapes.py::test_escapes_and_query_turtle_prefixed -
    Contrary to the ratified SPARQL 1.1 grammar, the RDFlib SPARQL propcessor
    accepts backslashes as part of PN_LOCAL which it treats as escape
    characters.

    There should be a way to instruct the SPARQL parser to operate in strict
    mode, and in strict mode backslashes should not be permitted in PN_LOCAL.

    See https://github.com/RDFLib/rdflib/issues/1871

XFAIL test/test_sparql/test_forward_slash_escapes.py::test_escapes_and_query_jsonld_prefixed -
    Contrary to the ratified SPARQL 1.1 grammar, the RDFlib SPARQL propcessor
    accepts backslashes as part of PN_LOCAL which it treats as escape
    characters.

    There should be a way to instruct the SPARQL parser to operate in strict
    mode, and in strict mode backslashes should not be permitted in PN_LOCAL.

    See https://github.com/RDFLib/rdflib/issues/1871

XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[json-TEXT_IO-utf-8]
XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[json-TEXT_IO-utf-16]
XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[txt-FILE_URI-utf-8]
XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[txt-STR_PATH-utf-8]
XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[txt-BINARY_IO-utf-8]
XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[csv-TEXT_IO-utf-8]
XFAIL test/test_sparql/test_result.py::test_select_result_serialize_parse[csv-TEXT_IO-utf-16]
XFAIL test/test_sparql/test_result.py::test_select_result_parse_serialized[json-BINARY_IO-utf-16]
XFAIL test/test_sparql/test_result.py::test_select_result_parse_serialized[tsv-BINARY_IO-utf-16]
XFAIL test/test_sparql/test_result.py::test_select_result_parse_serialized[csv-BINARY_IO-utf-16]
XFAIL test/test_sparql/test_sparql.py::test_sparql_polist - Object lists combined with predicate-object lists does not seem to work.
XFAIL test/test_sparql/test_sparql.py::test_custom_eval_exception[list+TypeError] - TypeError does not propagate through list constructor
XFAIL test/test_sparql/test_sparql.py::test_operator_exception[list+TypeError] - TypeError does not propagate through list constructor
XFAIL test/test_sparql/test_translate_algebra.py::test_roundtrip[test_property_path__negated_property_set] - fails with TypeError in translateAlgebra
XFAIL test/test_sparql/test_translate_algebra.py::test_roundtrip[test_other__service1] - Fails with RecursionError inside parser.parseQuery
XFAIL test/test_store/test_namespace_binding.py::test_rebind_prefix_replace[SPARQLStore-False] -
    SPARQLStore's namespace bindings work on a fundementally different way than
    the other stores, which is both simpler, but requires some additional work
    to make it behave like the other stores.

XFAIL test/test_store/test_namespace_binding.py::test_rebind_prefix_replace[SPARQLUpdateStore-False] -
    SPARQLStore's namespace bindings work on a fundementally different way than
    the other stores, which is both simpler, but requires some additional work
    to make it behave like the other stores.

XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#SPARQL_style_prefix-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test6] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#SPARQL_style_base-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test26] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL1-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test49] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL1_ascii_boundaries-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test50] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL1_with_UTF8_boundaries-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test51] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL1_all_controls-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test52] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL1_all_punctuation-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test53] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL_LONG1-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test54] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL_LONG1_ascii_boundaries-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test55] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL_LONG1_with_UTF8_boundaries-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test56] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL_LONG1_with_1_squote-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test57] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#LITERAL_LONG1_with_2_squotes-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test58] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_CHARACTER_TABULATION-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test67] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_BACKSPACE-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test68] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_LINE_FEED-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test69] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_CARRIAGE_RETURN-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test70] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_FORM_FEED-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test71] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_REVERSE_SOLIDUS-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test72] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_escaped_CHARACTER_TABULATION-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test73] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_escaped_BACKSPACE-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test74] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_escaped_LINE_FEED-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test75] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_escaped_CARRIAGE_RETURN-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test76] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_escaped_FORM_FEED-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test77] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_numeric_escape4-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test78] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#literal_with_numeric_escape8-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test79] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-base-02-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test111] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-base-04-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test113] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-prefix-02-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test115] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-prefix-03-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test116] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-string-04-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test126] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-string-05-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test127] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-string-06-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test128] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-string-09-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test131] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-syntax-string-11-http://www.w3.org/ns/rdftest#TestTurtlePositiveSyntax-rdf_test133] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-subm-01-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test244] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_n3_w3c.py::test_manifest[file:///home/tkloczko/rpmbuild/BUILD/rdflib-7.0.0/test/data/suites/w3c/n3/TurtleTests/manifest.ttl#turtle-subm-27-http://www.w3.org/ns/rdftest#TestTurtleEval-rdf_test270] - reason: Known issue with Turtle parser
XFAIL test/test_w3c_spec/test_nquads_w3c.py::test_entry[http://www.w3.org/2013/NQuadsTests/#nt-syntax-bad-uri-02] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nquads_w3c.py::test_entry[http://www.w3.org/2013/NQuadsTests/#nt-syntax-bad-uri-03] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nquads_w3c.py::test_entry[http://www.w3.org/2013/NQuadsTests/#nt-syntax-bad-uri-04] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nquads_w3c.py::test_entry[http://www.w3.org/2013/NQuadsTests/#nt-syntax-bad-uri-05] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nquads_w3c.py::test_entry[http://www.w3.org/2013/NQuadsTests/#nt-syntax-bad-esc-01] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_nquads_w3c.py::test_entry[http://www.w3.org/2013/NQuadsTests/#nt-syntax-bad-esc-02] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-uri-02] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-uri-03] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-uri-04] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-uri-05] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-esc-01] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-esc-02] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#nt-syntax-bad-esc-03] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_nt_w3c.py::test_entry[http://www.w3.org/2013/N-TriplesTests/#minimal_whitespace] - Not parsing valid N-Triples syntax.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/open-world/manifest#date-1] - RDFLib has more rows than it should have.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/open-world/manifest#date-2] - RDFLib result has one too few rows.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/optional-filter/manifest#dawg-optional-filter-005-simplified] - one row is missing a column
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/expr-builtin/manifest#dawg-datatype-2] - additional row in output
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql1/manifest#syntax-lists-01] - Issue with list in query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql1/manifest#syntax-bnodes-03] - Issue with bnodes in query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql1/manifest#syntax-forms-01]
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql2/manifest#syntax-general-08] - Not parsing with no spaces.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql2/manifest#syntax-lists-04] - Not handling lists in query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql3/manifest#syn-bad-26] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql3/manifest#blabel-cross-graph-bad] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql3/manifest#blabel-cross-optional-bad] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql3/manifest#blabel-cross-union-bad] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-34] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-35] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-36] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-37] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-38] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-OPT-breaks-BGP] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-UNION-breaks-BGP] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql10_w3c.py::test_entry_sparql10[http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql4/manifest#syn-bad-GRAPH-breaks-BGP] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/manifest#agg08] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/manifest#agg09] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/manifest#agg10] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/manifest#agg11] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/manifest#agg12] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/aggregates/manifest#agg-err-01] - Error in AVG should return no binding but it does.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/delete/manifest#dawg-delete-using-02a] - known issue
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/delete/manifest#dawg-delete-using-06a] - known issue
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdf01] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs01] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs02] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs03] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs04] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs05] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs06] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs07] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs09] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs10] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#rdfs11] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#paper-sparqldl-Q1] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#paper-sparqldl-Q1-rdfs] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#paper-sparqldl-Q2] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#paper-sparqldl-Q3] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#paper-sparqldl-Q4] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#sparqldl-02] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#sparqldl-03] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#sparqldl-10] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#sparqldl-11] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#sparqldl-12] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#sparqldl-13] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent3] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent4] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent5] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent6] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent7] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent8] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent9] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#parent10] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple1] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple2] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple3] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple4] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple5] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple6] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple7] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/entailment/manifest#simple8] - entailment not implemented
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/functions/manifest#strdt01] - Reason for test failure is not clear.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/functions/manifest#strdt03] - Reason for test failure is not clear.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/grouping/manifest#group06] - Accepts invalid query.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/grouping/manifest#group07] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/property-path/manifest#pp37] - RDFLib produces one extra row
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_43] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_44] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_45] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_60] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_61a] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_62a] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-query/manifest#test_65] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-1/manifest#test_43] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-1/manifest#test_44] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-1/manifest#test_50] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-1/manifest#test_51] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-1/manifest#test_52] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql11_w3c.py::test_entry_sparql11[http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-1/manifest#test_54] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_sparql_rdflib.py::test_entry_rdflib[http://raw.github.com/RDFLib/rdflib/main/test/data/suites/rdflib/sparql/manifest.ttl#test-codepoint-escape-02] - known codepoint escape issue
XFAIL test/test_w3c_spec/test_sparql_rdflib.py::test_entry_rdflib[http://raw.github.com/RDFLib/rdflib/main/test/data/suites/rdflib/sparql/manifest.ttl#test-codepoint-escape-03] - known codepoint escape issue
XFAIL test/test_w3c_spec/test_sparql_rdflib.py::test_entry_rdflib[http://raw.github.com/RDFLib/rdflib/main/test/data/suites/rdflib/sparql/manifest.ttl#test-codepoint-escape-04] - known codepoint escape issue
XFAIL test/test_w3c_spec/test_sparql_rdflib.py::test_entry_rdflib[http://raw.github.com/RDFLib/rdflib/main/test/data/suites/rdflib/sparql/manifest.ttl#test-codepoint-escape-bad] - Parses sucessfully instead of failing.
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-base-04] - accepts @base in the wrong place
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-base-05] - accepts BASE in the wrong place
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-prefix-06] - accepts @prefix in the wrong place
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-prefix-07] - accepts PREFIX in the wrong place
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-LITERAL2_with_langtag_and_datatype] - accepts literal with langtag and datatype
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-uri-01] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-uri-02] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-uri-03] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-uri-04] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-uri-05] - accepts an invalid IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-04] - allows literal as subject
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-05] - allows literal as predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-06] - allows BNodes as predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-07] - allows BNodes as predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-kw-04] - accepts 'true' as a subject
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-kw-05] - accepts 'true' as a predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-n3-extras-03] - accepts N3 paths
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-n3-extras-04] - accepts N3 paths
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-n3-extras-06] - accepts N3 paths
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-12] - ingores bad triples
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-14] - accepts literal as subject
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-15] - accepts literal as predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-16] - accepts BNode as predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-struct-17] - accepts BNode as predicate
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-esc-02] - accepts badly escaped literals
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-esc-03] - accepts badly escaped literals
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-esc-04] - accepts badly escaped literals
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-string-06] - accepts badly quoted literals
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-string-07] - accepts badly quoted literals
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-eval-bad-01] - accepts bad IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-eval-bad-02] - accepts bad IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-eval-bad-03] - accepts bad IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-eval-bad-04] - accepts bad IRI
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-ln-dash-start] - accepts dash in start of local name
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-list-01] - ignores badly formed quad
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-list-02] - ignores badly formed quad
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-list-03] - ignores badly formed quad
XFAIL test/test_w3c_spec/test_trig_w3c.py::test_entry[http://www.w3.org/2013/TriGTests/#trig-syntax-bad-list-04] - ignores badly formed quad
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-LITERAL2_with_langtag_and_datatype] - accepts literal with both language and datatype
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-uri-01] - accepts invalid IRIs
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-uri-02] - accepts invalid IRIs
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-uri-03] - accepts invalid IRIs
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-uri-04] - accepts invalid IRIs
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-uri-05] - accepts invalid IRIs
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-04] - accepts literal as subject
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-05] - accepts literal as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-06] - accepts blank node as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-07] - accepts blank node as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-kw-04] - accepts 'true' as subject
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-kw-05] - accepts 'true' as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-n3-extras-03] - accepts N3 paths
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-n3-extras-04] - accepts N3 paths
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-n3-extras-06] - accepts N3 paths
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-14] - accepts Literal as subject
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-15] - accepts Literal as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-16] - accepts blank node as as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-struct-17] - accepts blank node as as predicate
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-esc-02] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-esc-03] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-esc-04] - accepts badly escaped literal
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-string-06] - accepts badly quoted string
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-string-07] - accepts badly quoted string
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-eval-bad-01] - accepts invalid IRI
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-eval-bad-02] - accepts invalid IRI
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-eval-bad-03] - accepts invalid IRI
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-eval-bad-04] - accepts invalid IRI
XFAIL test/test_w3c_spec/test_turtle_w3c.py::test_entry[http://www.w3.org/2013/TurtleTests/#turtle-syntax-bad-ln-dash-start] - accepts dash at the start of local name production
FAILED test/test_misc/test_plugins.py::test_sparqleval - subprocess.CalledPro...
FAILED test/test_misc/test_plugins.py::test_parser - subprocess.CalledProcess...
= 2 failed, 7278 passed, 59 skipped, 370 xfailed, 58 warnings in 94.67s (0:01:34) =

@kloczek
Copy link
Author

kloczek commented Mar 27, 2024

After move to pyton 3.9.18 and pytest 8.1.1 I see fail in yet another unit test/test_misc/test_parse_file_guess_format.py::TestFileParserGuessFormat::test_warning

=================================== FAILURES ===================================
____________________ TestFileParserGuessFormat.test_warning ____________________

self = <rdflib.plugins.parsers.notation3.SinkParser object at 0x7ff935454d00>
argstr = '<?xml version="1.0"?>\n\n<!--\n  Copyright World Wide Web Consortium, (Massachusetts Institute of\n  Technology, Inst...rdf:datatype="http://www.w3.org/2001/XMLSchema#integer" xml:lang="fr">10</eg:baz>\n </rdf:Description>\n\n</rdf:RDF>\n'
i = 330, res = []

    def uri_ref2(self, argstr: str, i: int, res: MutableSequence[Any]) -> int:
        """Generate uri from n3 representation.

        Note that the RDF convention of directly concatenating
        NS and local name is now used though I prefer inserting a '#'
        to make the namesapces look more like what XML folks expect.
        """
        qn: typing.List[Any] = []
        j = self.qname(argstr, i, qn)
        if j >= 0:
            pfx, ln = qn[0]
            if pfx is None:
                assert 0, "not used?"
                ns = self._baseURI + ADDED_HASH  # type: ignore[unreachable]
            else:
                try:
>                   ns = self._bindings[pfx]
E                   KeyError: 'Description'

rdflib/plugins/parsers/notation3.py:1231: KeyError

During handling of the above exception, another exception occurred:

self = <Graph identifier=N6cb892dc51454970981e8aa8ecc27061 (<class 'rdflib.graph.Graph'>)>
source = <_io.BufferedReader name='/tmp/tmp9utfzme7/no_file_ext'>
publicID = None, format = 'turtle', location = None, file = None, data = None
args = {}, could_not_guess_format = True
parser = <rdflib.plugins.parsers.notation3.TurtleParser object at 0x7ff939b465e0>

    def parse(
        self,
        source: Optional[
            Union[IO[bytes], TextIO, InputSource, str, bytes, pathlib.PurePath]
        ] = None,
        publicID: Optional[str] = None,  # noqa: N803
        format: Optional[str] = None,
        location: Optional[str] = None,
        file: Optional[Union[BinaryIO, TextIO]] = None,
        data: Optional[Union[str, bytes]] = None,
        **args: Any,
    ) -> "Graph":
        """
        Parse an RDF source adding the resulting triples to the Graph.

        The source is specified using one of source, location, file or data.

        .. caution::

           This method can access directly or indirectly requested network or
           file resources, for example, when parsing JSON-LD documents with
           ``@context`` directives that point to a network location.

           When processing untrusted or potentially malicious documents,
           measures should be taken to restrict network and file access.

           For information on available security measures, see the RDFLib
           :doc:`Security Considerations </security_considerations>`
           documentation.

        :param source: An `InputSource`, file-like object, `Path` like object,
            or string. In the case of a string the string is the location of the
            source.
        :param location: A string indicating the relative or absolute URL of the
            source. `Graph`'s absolutize method is used if a relative location
            is specified.
        :param file: A file-like object.
        :param data: A string containing the data to be parsed.
        :param format: Used if format can not be determined from source, e.g.
            file extension or Media Type. Defaults to text/turtle. Format
            support can be extended with plugins, but "xml", "n3" (use for
            turtle), "nt" & "trix" are built in.
        :param publicID: the logical URI to use as the document base. If None
            specified the document location is used (at least in the case where
            there is a document location). This is used as the base URI when
            resolving relative URIs in the source document, as defined in `IETF
            RFC 3986
            <https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.4>`_,
            given the source document does not define a base URI.
        :return: ``self``, i.e. the :class:`~rdflib.graph.Graph` instance.

        Examples:

        >>> my_data = '''
        ... <rdf:RDF
        ...   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        ...   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        ... >
        ...   <rdf:Description>
        ...     <rdfs:label>Example</rdfs:label>
        ...     <rdfs:comment>This is really just an example.</rdfs:comment>
        ...   </rdf:Description>
        ... </rdf:RDF>
        ... '''
        >>> import os, tempfile
        >>> fd, file_name = tempfile.mkstemp()
        >>> f = os.fdopen(fd, "w")
        >>> dummy = f.write(my_data)  # Returns num bytes written
        >>> f.close()

        >>> g = Graph()
        >>> result = g.parse(data=my_data, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> result = g.parse(location=file_name, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> with open(file_name, "r") as f:
        ...     result = g.parse(f, format="application/rdf+xml")
        >>> len(g)
        2

        >>> os.remove(file_name)

        >>> # default turtle parsing
        >>> result = g.parse(data="<http://example.com/a> <http://example.com/a> <http://example.com/a> .")
        >>> len(g)
        3

        """

        source = create_input_source(
            source=source,
            publicID=publicID,
            location=location,
            file=file,
            data=data,
            format=format,
        )
        if format is None:
            format = source.content_type
        could_not_guess_format = False
        if format is None:
            if (
                hasattr(source, "file")
                and getattr(source.file, "name", None)
                and isinstance(source.file.name, str)
            ):
                format = rdflib.util.guess_format(source.file.name)
            if format is None:
                format = "turtle"
                could_not_guess_format = True
        parser = plugin.get(format, Parser)()
        try:
            # TODO FIXME: Parser.parse should have **kwargs argument.
>           parser.parse(source, self, **args)

rdflib/graph.py:1492:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
rdflib/plugins/parsers/notation3.py:2020: in parse
    p.loadStream(stream)
rdflib/plugins/parsers/notation3.py:478: in loadStream
    return self.loadBuf(stream.read())  # Not ideal
rdflib/plugins/parsers/notation3.py:484: in loadBuf
    self.feed(buf)
rdflib/plugins/parsers/notation3.py:510: in feed
    i = self.directiveOrStatement(s, j)
rdflib/plugins/parsers/notation3.py:529: in directiveOrStatement
    j = self.statement(argstr, i)
rdflib/plugins/parsers/notation3.py:777: in statement
    j = self.property_list(argstr, i, r[0])
rdflib/plugins/parsers/notation3.py:1139: in property_list
    i = self.objectList(argstr, j, objs)
rdflib/plugins/parsers/notation3.py:1189: in objectList
    i = self.object(argstr, i, res)
rdflib/plugins/parsers/notation3.py:1486: in object
    j = self.subject(argstr, i, res)
rdflib/plugins/parsers/notation3.py:784: in subject
    return self.item(argstr, i, res)
rdflib/plugins/parsers/notation3.py:876: in item
    return self.path(argstr, i, res)
rdflib/plugins/parsers/notation3.py:883: in path
    j = self.nodeOrLiteral(argstr, i, res)
rdflib/plugins/parsers/notation3.py:1514: in nodeOrLiteral
    j = self.node(argstr, i, res)
rdflib/plugins/parsers/notation3.py:1101: in node
    j = self.uri_ref2(argstr, i, res)
rdflib/plugins/parsers/notation3.py:1239: in uri_ref2
    self.BadSyntax(argstr, i, 'Prefix "%s:" not bound' % (pfx))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <rdflib.plugins.parsers.notation3.SinkParser object at 0x7ff935454d00>
argstr = '<?xml version="1.0"?>\n\n<!--\n  Copyright World Wide Web Consortium, (Massachusetts Institute of\n  Technology, Inst...rdf:datatype="http://www.w3.org/2001/XMLSchema#integer" xml:lang="fr">10</eg:baz>\n </rdf:Description>\n\n</rdf:RDF>\n'
i = 330, msg = 'Prefix "Description:" not bound'

    def BadSyntax(self, argstr: str, i: int, msg: str) -> NoReturn:
>       raise BadSyntax(self._thisDoc, self.lines, argstr, i, msg)
E       rdflib.plugins.parsers.notation3.BadSyntax: <no detail available>

rdflib/plugins/parsers/notation3.py:1729: BadSyntax

During handling of the above exception, another exception occurred:

self = <test.test_misc.test_parse_file_guess_format.TestFileParserGuessFormat object at 0x7ff938ff49d0>

    def test_warning(self) -> None:
        g = Graph()
        graph_logger = logging.getLogger("rdflib")

        with TemporaryDirectory() as tmpdirname:
            newpath = Path(tmpdirname).joinpath("no_file_ext")
            copyfile(
                os.path.join(
                    TEST_DATA_DIR,
                    "suites",
                    "w3c",
                    "rdf-xml",
                    "datatypes",
                    "test001.rdf",
                ),
                str(newpath),
            )
            with pytest.raises(ParserError, match=r"Could not guess RDF format"):
                with pytest.warns(
                    UserWarning,
                    match="does not look like a valid URI, trying to serialize this will break.",
                ) as logwarning:
>                   g.parse(str(newpath))

test/test_misc/test_parse_file_guess_format.py:86:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <Graph identifier=N6cb892dc51454970981e8aa8ecc27061 (<class 'rdflib.graph.Graph'>)>
source = <_io.BufferedReader name='/tmp/tmp9utfzme7/no_file_ext'>
publicID = None, format = 'turtle', location = None, file = None, data = None
args = {}, could_not_guess_format = True
parser = <rdflib.plugins.parsers.notation3.TurtleParser object at 0x7ff939b465e0>

    def parse(
        self,
        source: Optional[
            Union[IO[bytes], TextIO, InputSource, str, bytes, pathlib.PurePath]
        ] = None,
        publicID: Optional[str] = None,  # noqa: N803
        format: Optional[str] = None,
        location: Optional[str] = None,
        file: Optional[Union[BinaryIO, TextIO]] = None,
        data: Optional[Union[str, bytes]] = None,
        **args: Any,
    ) -> "Graph":
        """
        Parse an RDF source adding the resulting triples to the Graph.

        The source is specified using one of source, location, file or data.

        .. caution::

           This method can access directly or indirectly requested network or
           file resources, for example, when parsing JSON-LD documents with
           ``@context`` directives that point to a network location.

           When processing untrusted or potentially malicious documents,
           measures should be taken to restrict network and file access.

           For information on available security measures, see the RDFLib
           :doc:`Security Considerations </security_considerations>`
           documentation.

        :param source: An `InputSource`, file-like object, `Path` like object,
            or string. In the case of a string the string is the location of the
            source.
        :param location: A string indicating the relative or absolute URL of the
            source. `Graph`'s absolutize method is used if a relative location
            is specified.
        :param file: A file-like object.
        :param data: A string containing the data to be parsed.
        :param format: Used if format can not be determined from source, e.g.
            file extension or Media Type. Defaults to text/turtle. Format
            support can be extended with plugins, but "xml", "n3" (use for
            turtle), "nt" & "trix" are built in.
        :param publicID: the logical URI to use as the document base. If None
            specified the document location is used (at least in the case where
            there is a document location). This is used as the base URI when
            resolving relative URIs in the source document, as defined in `IETF
            RFC 3986
            <https://datatracker.ietf.org/doc/html/rfc3986#section-5.1.4>`_,
            given the source document does not define a base URI.
        :return: ``self``, i.e. the :class:`~rdflib.graph.Graph` instance.

        Examples:

        >>> my_data = '''
        ... <rdf:RDF
        ...   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        ...   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
        ... >
        ...   <rdf:Description>
        ...     <rdfs:label>Example</rdfs:label>
        ...     <rdfs:comment>This is really just an example.</rdfs:comment>
        ...   </rdf:Description>
        ... </rdf:RDF>
        ... '''
        >>> import os, tempfile
        >>> fd, file_name = tempfile.mkstemp()
        >>> f = os.fdopen(fd, "w")
        >>> dummy = f.write(my_data)  # Returns num bytes written
        >>> f.close()

        >>> g = Graph()
        >>> result = g.parse(data=my_data, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> result = g.parse(location=file_name, format="application/rdf+xml")
        >>> len(g)
        2

        >>> g = Graph()
        >>> with open(file_name, "r") as f:
        ...     result = g.parse(f, format="application/rdf+xml")
        >>> len(g)
        2

        >>> os.remove(file_name)

        >>> # default turtle parsing
        >>> result = g.parse(data="<http://example.com/a> <http://example.com/a> <http://example.com/a> .")
        >>> len(g)
        3

        """

        source = create_input_source(
            source=source,
            publicID=publicID,
            location=location,
            file=file,
            data=data,
            format=format,
        )
        if format is None:
            format = source.content_type
        could_not_guess_format = False
        if format is None:
            if (
                hasattr(source, "file")
                and getattr(source.file, "name", None)
                and isinstance(source.file.name, str)
            ):
                format = rdflib.util.guess_format(source.file.name)
            if format is None:
                format = "turtle"
                could_not_guess_format = True
        parser = plugin.get(format, Parser)()
        try:
            # TODO FIXME: Parser.parse should have **kwargs argument.
            parser.parse(source, self, **args)
        except SyntaxError as se:
            if could_not_guess_format:
>               raise ParserError(
                    "Could not guess RDF format for %r from file extension so tried Turtle but failed."
                    "You can explicitly specify format using the format argument."
                    % source
                )
E               rdflib.exceptions.ParserError: Could not guess RDF format for <_io.BufferedReader name='/tmp/tmp9utfzme7/no_file_ext'> from file extension so tried Turtle but failed.You can explicitly specify format using the format argument.

rdflib/graph.py:1495: ParserError

During handling of the above exception, another exception occurred:

self = <test.test_misc.test_parse_file_guess_format.TestFileParserGuessFormat object at 0x7ff938ff49d0>

    def test_warning(self) -> None:
        g = Graph()
        graph_logger = logging.getLogger("rdflib")

        with TemporaryDirectory() as tmpdirname:
            newpath = Path(tmpdirname).joinpath("no_file_ext")
            copyfile(
                os.path.join(
                    TEST_DATA_DIR,
                    "suites",
                    "w3c",
                    "rdf-xml",
                    "datatypes",
                    "test001.rdf",
                ),
                str(newpath),
            )
            with pytest.raises(ParserError, match=r"Could not guess RDF format"):
                with pytest.warns(
                    UserWarning,
                    match="does not look like a valid URI, trying to serialize this will break.",
                ) as logwarning:
>                   g.parse(str(newpath))
E                   Failed: DID NOT WARN. No warnings of type (<class 'UserWarning'>,) were emitted.
E                    Emitted warnings: [].

test/test_misc/test_parse_file_guess_format.py:86: Failed
------------------------------ Captured log call -------------------------------
2024-03-27T18:12:28.503 WARNING  rdflib.term  term.py:287:__new__ file:///tmp/tmp9utfzme7/?xml version="1.0"? does not look like a valid URI, trying to serialize this will break.
2024-03-27T18:12:28.503 WARNING  rdflib.term  term.py:287:__new__ !--
  Copyright World Wide Web Consortium, (Massachusetts Institute of
  Technology, Institut National de Recherche en Informatique et en
  Automatique, Keio University).

  All Rights Reserved.

  Please see the full Copyright clause at
  <http://www.w3.org/Consortium/Legal/copyright-software.html does not look like a valid URI, trying to serialize this will break.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant