Our CI must complete for all PRs, and it currently does run on the master branch as can be seen
here. This runs all tests on windows, macos and linux for python 3.7 to 3.11, it also runs mypy, flake8 (with some baselining), isort and black.
The skips you are seeing is likely because you don't have Jena running, and because you don't have some extras installed. In the past skips were used where xfails would be more appropriate, but most skips just indicate that the tests requires something to run that is not available in your current environment.
The xfails are used to designate known issues which is more or less what they are intended for [
ref]:
> An xfail means that you expect a test to fail for some reason. A common example is a test for a feature not yet implemented, or a bug not yet fixed.
They indicate that we know a test fails, but that we also know it should pass, and once the underlying issue that causes a test to fail fixed they are reported as xpass and we remove the xfail marker usually in the same PR that fixes the issue that causes the xfail as can be seen in
this PR. They are basically a more useful form of a bug report, as it makes it clear how to reproduce an issue and makes it very easy to see that an issue was fixed.
The warnings indicate something suboptimal but not fatal, they should be eliminated but in most cases they are hard to eliminate and quite costly, and there are plenty of other issues we will likely address first.
The errors indicate something serious, and would prevent a PR from being merged if it occurred in a PR, but as our test suite does pass currently on master I think this is either an issue on your system or possibly a problem with a dependency.
We are open to all PRs that address any problems in RDFLib, so if you want to fix the warnings or xfails we would be very happy, but it would be best to address the problems one at a time, not to try and do it all in one PR. Many problems are not that simple to fix though. A lot of the xfails (maybe 1/2) are actually because RDFLib is too lax in parsing, and the W3C test suites which run as part of our test suite requires more strict behaviour. This is not a simple problem to address, as we should provide parsers that can be both strict and lax depending on user preference, and it is also not a high priority problem, if we just made our parsers more strict most users will be unhappy.
Some other xfails are because of legitimate problems with our parsers, which again is not that simple to fix, as likely we should be moving to something like
LARK as the current hand crafter parsers are hard to maintain.
We will be happy with any attempts to fix any of these problems though.
Regards
Iwan Aucamp