Skip to content

Conversation

@aucampia
Copy link
Member

@aucampia aucampia commented Oct 18, 2021

This patch replace all uses of nose with pytest. It also includes a
pytest plugin for creating EARL reports for tests with a rdf_test_uri
parameter.

Some caveats:

  • HTML report directory is now htmlcov instead of coverage
  • There is some warning related to the EARL reporting plugin which I can't quite figure out:
    .venv/lib64/python3.7/site-packages/_pytest/config/__init__.py:676
      /home/iwana/sw/d/github.com/iafork/rdflib/.venv/lib64/python3.7/site-packages/_pytest/config/__init__.py:676: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: test.earl
        self.import_plugin(import_spec)
    
    This is not causing any problems as far as I can tell, but still annoying.
    (this problem has been fixed in the latest commit)
  • python setup.py test won't work anymore, I can make it work but this
    is not advised by pytest:
    https://github.com/pytest-dev/pytest-runner/#deprecation-notice
  • run_test.py is still there but it's not really referenced anymore from
    anywhere and the options it accepts are completely different as it's options
    were based on nose. I would say it should be removed entirely but for now
    it is basically just a wrapper around pytest that basically does nothing.
  • Removed references to test attributes as currently they are not being
    used anywhere anyway, I guess we can add them back if there is some
    use for them later.
  • A lot of tests are still marked to skip when really they should be marked
    with xfail. This is also affecting the RDFT test manifests and result in
    reports saying tests are skipped when really we know they will fail and
    they are only skipped for this reason. But there is no change here from
    before, and pytest makes it easier to dynamically do expected failures.

Special thanks to Wes Turner for his advice and inputs on this process.

Other info

Fixes #1414
Closes #1268

The work in this PR is based on #1268 which was started by @white-gecko.

Coverage can be seen at https://coveralls.io/github/RDFLib/rdflib

Proposed Changes

  • Replace nose with pytest
  • Use a pytest plugin for EARL reporting

@aucampia aucampia mentioned this pull request Oct 18, 2021
@aucampia aucampia force-pushed the iwana-20211018T2122-pytest branch from 41dd7f9 to 33981f5 Compare October 18, 2021 22:08
@aucampia aucampia force-pushed the iwana-20211018T2122-pytest branch 10 times, most recently from dacd663 to 9e4e948 Compare October 24, 2021 09:33
doctest-ignore-unicode==0.1.2
flake8
flake8-black
html5lib
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

html5lib is added because it is in setup.py requirements for tests and it is actually being used in one place in rdflib though I don't think it is actually used by tests. Fine to remove it also.

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was only used by docker stuff, but now I'm just invoking pytest directly from there.

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was only used by docker stuff, but now I'm just invoking pytest directly from there.

"nose==1.3.7",
"nose-timer",
"coverage",
"black==21.9b0",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed black and flake8 as they are not used for testing, don't mind adding them back, but I think this should either be everything from requirements.dev.txt or just stuff needed for testing.

@aucampia aucampia force-pushed the iwana-20211018T2122-pytest branch from e13b785 to fa9f85e Compare October 24, 2021 14:17
@aucampia aucampia changed the title Configure pytest Migrate from nosetest to pytest Oct 24, 2021
@aucampia aucampia force-pushed the iwana-20211018T2122-pytest branch 2 times, most recently from 3d3a22e to aab698d Compare October 24, 2021 14:26
This patch replace all uses of nose with pytest. It also includes a
pytest plugin for creating EARL reports for tests with a `rdf_test_uri`
parameter.

Some caveats:

- HTML report directory is now htmlcov instead of coverage
- There is some warning related to the EARL reporting plugin which I can't quite figure out:
  ```
  .venv/lib64/python3.7/site-packages/_pytest/config/__init__.py:676
    /home/iwana/sw/d/github.com/iafork/rdflib/.venv/lib64/python3.7/site-packages/_pytest/config/__init__.py:676: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: test.earl
      self.import_plugin(import_spec)
  ```
  This is not causing any problems as far as I can tell, but still annoying.
- python setup.py test won't work anymore, I can make it work but this
  is not advised by pytest:
  https://github.com/pytest-dev/pytest-runner/#deprecation-notice
- run_test.py is still there but it's not really referenced anymore from
  anywhere and the options it accepts are completely different as it's options
  were based on nose. I would say it should be removed entirely but for now
  it is basically just a wrapper around pytest that basically does nothing.
- Removed references to test attributes as currently they are not being
  used anywhere anyway, I guess we can add them back if there is some
  use for them later.
- A lot of tests are still marked to skip when really they should be marked
  with xfail. This is also affecting the RDFT test manifests and result in
  reports saying tests are skipped when really we know they will fail and
  they are only skipped for this reason. But there is no change here from
  before, and pytest makes it easier to dynamically do expected failures.

Special thanks to Wes Turner for his advice and inputs on this process.
@aucampia aucampia force-pushed the iwana-20211018T2122-pytest branch from aab698d to c2a37b7 Compare October 24, 2021 14:29
@aucampia aucampia marked this pull request as ready for review October 24, 2021 14:42
@aucampia aucampia marked this pull request as draft October 25, 2021 18:02
- Removed unused ignores.
- Use official description text of RDFLib in DOAP used in EARL report.
@aucampia
Copy link
Member Author

The errors on my side do not appear to be related to the berkeleydb as they still occur on the latest commit.

@white-gecko Can you share the full output log with https://gist.github.com/, and can you check if it passes if you run it with tox?
The full output is at: https://gist.github.com/white-gecko/43af9854c7c901b555a11fc29124552d

With tox I get more essentially the same output.

@white-gecko you don't maybe have something related to Cython going on? The only thing I can find related to "build_build_ext" which I can find seems to be that:

https://github.com/rchateauneu/rdflib/blob/dfdd4a336eaa3ed30b1d485009de7e2e426e1771/setup.py#L192-L202

@white-gecko
Copy link
Member

Cleaning the __pycache__ and .pyc files didn't do the trick, but actually I had some Cython stuff left over from testing the Cython setup.

Now I get 3870 passed, 111 skipped, 7 xfailed, 1305 warnings in 35.48s

@aucampia
Copy link
Member Author

Now I get 3870 passed, 111 skipped, 7 xfailed, 1305 warnings in 35.48s

Looks about right compared to drone results.

Still working on making tests pass on windows, to add another thing to the list of things broken on windows: the TSV result parser does not work on text files on windows as it does not handle \r\n line endings. I will probably just add xfail for all tsv result tests on windows, but I will look more into it tomorrow, but it seems these problems existed on master before, output of trying to run test_dawg.py from master on windows can be seen here and it does not even get to the point of trying to parse tsv.

@aucampia
Copy link
Member Author

Still working on making tests pass on windows

Just to be clear, I think this should be merged without fixes for windows, as those should really be treated as fixes in their own right given tests do not work on master under windows anyway, but working on it as at some point it would be nice to get some of the issues fixed, and the start to that is having tests that can actually run.

If there is still on this when I'm done with it I will add to this PR together with changes to run CI under windows and MacOS using GitHub actions.

@nicholascar
Copy link
Member

nicholascar commented Nov 14, 2021

I think this should be merged without fixes for windows

Agreed: we can address Windows issues later.

I still can’t install BerkeleyDB on Windows (since I can’t compile 2015 C++) so there are a few things to fix.

Added skipping of berkeleydb if it is not installed.

Thanks! However I would like to keep track of all the tests that can be skipped so that it’s easier to know what is and isn’t tested. I think pytest presents this info better than nose already.

Elsewhere I would like to get the BerkeleyDB tests running on Windows, but that’s more part of updating all the Stores, in particular the SQLite Store.

@nicholascar
Copy link
Member

On a Mac with the BerkeleyDB tests all running:

7 failed, 3887 passed, 80 skipped, 7 xfailed, 1305 warnings, 7 errors in 209.89s

The 7 errors are all due to Can't assign requested address, 5 of the 7 failures are also related to that and the remaining two are HTTPMock failures which I think are also also related to that!

So all the failures & errors are all related to the same thing. What was the trick to allow it to assign an address? Running as sudo or something? Also, what else should I be doing to reduce the number of skipped tests?

On a Windows machine, without BerkeleyDB:

669 failed, 3200 passed, 112 skipped, 7 xfailed, 1019 warnings in 167.46s

All the test_dawg_data_sparql11 failed, just as @aucampia says, so just confirming that. The other failures seem to be Windows path related etc.

So, leaving aside the Windows results, my Mac results are close to yours.

@aucampia
Copy link
Member Author

On a Mac with the BerkeleyDB tests all running:

7 failed, 3887 passed, 80 skipped, 7 xfailed, 1305 warnings, 7 errors in 209.89s

The 7 errors are all due to Can't assign requested address, 5 of the 7 failures are also related to that and the remaining two are HTTPMock failures which I think are also also related to that!

@nicholascar please do share the output, I will see what I can do about it. I will try setup pipelines with GitHub actions on my branch shortly to see if that reproduces problems with MacOS.

@nicholascar nicholascar reopened this Nov 14, 2021
@nicholascar
Copy link
Member

Latest run results with Fuseki running to act as a read/write SPARQL endpoint:

 11 failed, 3887 passed, 80 skipped, 7 xfailed, 1305 warnings, 7 errors in 194.20s 

Strange! So 4 more failures - auth errors, see the results details below - but the same number of passed and skipped & errors. If there are 4 more failures, I expect to see 4 fewer passed or errors??

Here's my output:

FAILED test/test_dataset.py::t1::testDefaultGraph - urllib.error.HTTPError: HTTP Error 404: Not Found
FAILED test/test_dataset.py::t1::testGraphAware - urllib.error.HTTPError: HTTP Error 404: Not Found
FAILED test/test_dataset.py::t1::testIter - urllib.error.HTTPError: HTTP Error 404: Not Found
FAILED test/test_dataset.py::t1::testNotUnion - urllib.error.HTTPError: HTTP Error 404: Not Found
FAILED test/test_graph_http.py::TestGraphHTTP::test_3xx - OSError: [Errno 49] Can't assign requested address
FAILED test/test_graph_http.py::TestGraphHTTP::test_5xx - OSError: [Errno 49] Can't assign requested address
FAILED test/test_graph_http.py::TestGraphHTTP::test_content_negotiation - OSError: [Errno 49] Can't assign requested address
FAILED test/test_graph_http.py::TestGraphHTTP::test_source - OSError: [Errno 49] Can't assign requested address
FAILED test/test_sparqlstore.py::SPARQLMockTests::test_query - OSError: [Errno 49] Can't assign requested address
FAILED test/testutils.py::test.testutils.ServedSimpleHTTPMock
FAILED test/testutils.py::test.testutils.SimpleHTTPMock
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_Query - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_counting_graph_and_store_queries - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_initNs - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_noinitNs - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_query_with_added_prolog - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_query_with_added_rdf_prolog - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlupdatestore_mock.py::TestSPARQLConnector::test_graph_update - OSError: [Errno 49] Can't assign requested address

So it looks like all 11 of my errors (or 7, without Fuseki (!)) are a result of some OS port assignment thing and therefore "don't count" regarding evaluating this PR.

I'll try to reduce the numbers of skipped tests next

@aucampia
Copy link
Member Author

ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_Query - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_counting_graph_and_store_queries - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_initNs - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_noinitNs - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_query_with_added_prolog - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlstore.py::SPARQLStoreFakeDBPediaTestCase::test_query_with_added_rdf_prolog - OSError: [Errno 49] Can't assign requested address
ERROR test/test_sparqlupdatestore_mock.py::TestSPARQLConnector::test_graph_update - OSError: [Errno 49] Can't assign requested address

I figured out what is wrong with these, macos does not like the random loopback IP addresses. I will add a commit to always use 127.0.0.1 shortly, just checking some other things.

This is so that it works properly on MacOS which does not permit
listening on random loopback addresses for user processes.
@nicholascar
Copy link
Member

19 failed, 3818 passed, 67 skipped, 7 xfailed, 1297 warnings, 7 errors in 195.52s

Oh no! I installed networkx, fixed the Fuseki port allocation (3031, not 3030) and I've reduced the skipped count, but I've increased the failures and reduced the passed!

Here's my summary of skipped tests (using pytest -rsx test)

SKIPPED [50] test/test_dawg.py:334: Skipped
SKIPPED [2] test/test_dawg.py:205: Skipped
SKIPPED [1] test/test_extras_external_graph_libs.py:57: couldn't find graph_tool
SKIPPED [1] test/test_swap_n3.py:75: syntax_trailing_semicolon skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_too_nested skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_zero_objects skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_equals1 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_this_rules skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_this_quantifiers skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_thisadoc skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_keywords3 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_single_quote skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_formula_predicate skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_zero_predicates skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_literal_predicate skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_equals2 skipped, known issue
SKIPPED [1] test/test_trig.py:119: Iterative serialization currently produces 16 copies of everything

OK, clearly I'm able to get the skipped count down to 67 and, with different config, get 3887 tests passed - not quite 3901 but close!

I'll pass this now and leave final testing approval to @white-gecko (and perhaps @ashleysommer - please test!!).

nicholascar
nicholascar approved these changes Nov 14, 2021
@nicholascar
Copy link
Member

I figured out what is wrong with these, macos does not like the random loopback IP addresses.

Yes, that's right. I remembered that I've seen this before so, as I say, this is a Mac thing, not an RDFlib problem really!

I will add a commit to always use 127.0.0.1 shortly, just checking some other things.

That would be cool

Errors were being piped to true, but that will fail if it runs with
pipefail. The better option is to do `black ... || true` which will work
for ignoring errors even with pipefail.
@aucampia
Copy link
Member Author

Added two more commits:

c3270b1 - Change mock HTTP server to listen on 127.0.0.1 by default

This is so that it works properly on MacOS which does not permit
listening on random loopback addresses for user processes.

5393e0f - Fix how black errors are ingored in .drone.yaml

Errors were being piped to true, but that will fail if it runs with
pipefail. The better option is to do black ... || true which will work
for ignoring errors even with pipefail.

@aucampia
Copy link
Member Author

I setup a GitHub actions workflow to test on macos, results can be seen here: https://github.com/iafork/rdflib/actions?query=branch%3Aiwana-20211113T1312-github-actions

The branch is essentially the same as this one just with some changes for making github actions work: aucampia/rdflib@iwana-20211018T2122-pytest...iwana-20211113T1312-github-actions

=== 3870 passed, 111 skipped, 7 xfailed, 1380 warnings in 101.80s (0:01:41) ====

Did not do much to reduce skipped tests, will maybe look at that later. May be worth enabling github actions on main repo, at the very least we can use it for additional validation but I think it is likely better than drone in most ways and runs macos, windows and linux.

@aucampia
Copy link
Member Author

I setup a GitHub actions workflow to test on macos, results can be seen here: https://github.com/iafork/rdflib/actions?query=branch%3Aiwana-20211113T1312-github-actions

The branch is essentially the same as this one just with some changes for making github actions work: iafork/rdflib@iwana-20211018T2122-pytest...iwana-20211113T1312-github-actions

=== 3870 passed, 111 skipped, 7 xfailed, 1380 warnings in 101.80s (0:01:41) ====

Got it to this now:

=========================== short test summary info ============================
SKIPPED [4] test/test_dataset.py:37: Dependencies for store 'BerkeleyDB' not available!
SKIPPED [50] test/test_dawg.py:334: Skipped
SKIPPED [2] test/test_dawg.py:205: Skipped
SKIPPED [1] test/test_extras_external_graph_libs.py:57: couldn't find graph_tool
SKIPPED [10] test/test_graph.py:29: Dependencies for store 'BerkeleyDB' not available!
SKIPPED [10] test/test_graph_context.py:20: Dependencies for store 'BerkeleyDB' not available!
SKIPPED [1] test/test_graph_formula.py:27: Dependencies for store 'BerkeleyDB' not available!
SKIPPED [1] test/test_store_berkeleydb.py:89: skipping as berkleydb is missing
SKIPPED [1] test/test_store_berkeleydb.py:120: skipping as berkleydb is missing
SKIPPED [1] test/test_store_berkeleydb.py:55: skipping as berkleydb is missing
SKIPPED [1] test/test_store_berkeleydb.py:78: skipping as berkleydb is missing
SKIPPED [1] test/test_store_berkeleydb.py:64: skipping as berkleydb is missing
SKIPPED [1] test/test_store_berkeleydb.py:32: skipping as berkleydb is missing
SKIPPED [1] test/test_swap_n3.py:75: syntax_this_rules skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_too_nested skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_this_quantifiers skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_literal_predicate skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_keywords3 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_zero_predicates skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_equals2 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_equals1 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_trailing_semicolon skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_formula_predicate skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_thisadoc skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_zero_objects skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_single_quote skipped, known issue
SKIPPED [1] test/test_trig.py:119: Iterative serialization currently produces 16 copies of everything
XFAIL test/test_canonicalization.py::TestConsistency::test_consistent_ids
  reason: 
XFAIL test/test_diff.py::TestDiff::test_subsets
  reason: 
XFAIL test/test_issue190.py::test1
  Known issue with newlines in text
XFAIL test/test_issue190.py::test2
  Known issue with newlines in text
XFAIL test/test_literal.py::TestXsdLiterals::test_make_literals_ki
  reason: 
XFAIL test/test_namespace.py::ClosedNamespaceTest::test_repr_ef
  reason: 
XFAIL test/test_util.py::TestUtilTermConvert::test_util_from_n3_not_escapes_xf
  reason: 
==== 3887 passed, 98 skipped, 7 xfailed, 1372 warnings in 117.54s (0:01:57) ====

@aucampia
Copy link
Member Author

I setup a GitHub actions workflow to test on macos, results can be seen here: https://github.com/iafork/rdflib/actions?query=branch%3Aiwana-20211113T1312-github-actions
The branch is essentially the same as this one just with some changes for making github actions work: iafork/rdflib@iwana-20211018T2122-pytest...iwana-20211113T1312-github-actions

=== 3870 passed, 111 skipped, 7 xfailed, 1380 warnings in 101.80s (0:01:41) ====

Got it to this now:

Okay got it to pass even more on MacOS now: https://github.com/iafork/rdflib/runs/4218497302?check_suite_focus=true

=========================== short test summary info ============================
SKIPPED [50] test/test_dawg.py:334: Skipped
SKIPPED [2] test/test_dawg.py:205: Skipped
SKIPPED [1] test/test_extras_external_graph_libs.py:57: couldn't find graph_tool
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_literal_predicate skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_keywords3 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_thisadoc skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_zero_objects skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_equals2 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_zero_predicates skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_equals1 skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_too_nested skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_trailing_semicolon skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_formula_predicate skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_neg_single_quote skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_this_quantifiers skipped, known issue
SKIPPED [1] test/test_swap_n3.py:75: syntax_this_rules skipped, known issue
SKIPPED [1] test/test_trig.py:119: Iterative serialization currently produces 16 copies of everything
XFAIL test/test_canonicalization.py::TestConsistency::test_consistent_ids
  reason: 
XFAIL test/test_diff.py::TestDiff::test_subsets
  reason: 
XFAIL test/test_issue190.py::test1
  Known issue with newlines in text
XFAIL test/test_issue190.py::test2
  Known issue with newlines in text
XFAIL test/test_literal.py::TestXsdLiterals::test_make_literals_ki
  reason: 
XFAIL test/test_namespace.py::ClosedNamespaceTest::test_repr_ef
  reason: 
XFAIL test/test_util.py::TestUtilTermConvert::test_util_from_n3_not_escapes_xf
  reason: 
==== 3918 passed, 67 skipped, 7 xfailed, 1309 warnings in 142.71s (0:02:22) ====

Not sure things will get much better than this.

@nicholascar
Copy link
Member

Yes, I think that's going to be as good as it gets too!

@ashleysommer @white-gecko I've already indicated 'Approve'. Can one or other of you please do likewise and we will merge in. Then we will need to instantly raise an issue to address the DAWG tests.

@aucampia
Copy link
Member Author

Then we will need to instantly raise an issue to address the DAWG tests.

I am almost done fixing issues on windows: aucampia/rdflib@iwana-20211018T2122-pytest...iwana-20211116T1039-fix_windows

I already have all DAWG tests passing there and just have like 50 failing tests left which I will try and fix soon.

@nicholascar
Copy link
Member

@aucampia your contributions to RDFlib recently have been truly inspiring!

@white-gecko
Copy link
Member

@ashleysommer @white-gecko I've already indicated 'Approve'. Can one or other of you please do likewise and we will merge in.

I'm already in the middle of the review but not yet had the chance to finish it. I hope I will complete it soon.

Copy link
Member

@white-gecko white-gecko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a huge pull request. I could not check each individual line. Overall it looks good and it is working as expected. I'm very impressed by your work @aucampia, thank you for this huge contribution!

@nicholascar
Copy link
Member

Great work @aucampia indeed!

I will merge in tomorrow when I’m back at my computer (not phone like this!)

@aucampia
Copy link
Member Author

Glad to help out @white-gecko and @nicholascar - will hopefully have a PR for windows fixes this weekend and I will make an issue for running MacOS and windows pipelines so we can avoid issues in future where things break on one platform.

@nicholascar nicholascar merged commit 9f8aa8c into RDFLib:master Nov 19, 2021
@aucampia aucampia deleted the iwana-20211018T2122-pytest branch December 27, 2021 19:48
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

Successfully merging this pull request may close these issues.

6.0.1: test suite uses nose module which is for python 2.x

3 participants