<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/rdflib.git/test/README.rst, branch main</title>
<subtitle>github.com: rdflib/rdflib.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/'/>
<entry>
<title>Update test README (#2000)</title>
<updated>2022-06-24T19:41:37+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-06-24T19:41:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=8ccebc8b819106e63405ad071acdb686d7c26e6b'/>
<id>8ccebc8b819106e63405ad071acdb686d7c26e6b</id>
<content type='text'>
This removes the test suite specific commands as output is now written
by default to the right files.

Other changes:
- Write EARL report to file suffixed with `-HEAD` without timestamps by
  default. This is to make it easier to keep the checked in test reports
  accurate.
- Remove XFAILs for tests that are now passing.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the test suite specific commands as output is now written
by default to the right files.

Other changes:
- Write EARL report to file suffixed with `-HEAD` without timestamps by
  default. This is to make it easier to keep the checked in test reports
  accurate.
- Remove XFAILs for tests that are now passing.</pre>
</div>
</content>
</entry>
<entry>
<title>Rework turtle-like test suites (#1986)</title>
<updated>2022-06-05T17:14:05+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-06-05T17:14:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=60ff2fd6274701c29c40a0ed3887d2ddde32b0b2'/>
<id>60ff2fd6274701c29c40a0ed3887d2ddde32b0b2</id>
<content type='text'>
This patch reworks the turtle-like test suites (N-Quads, N-Triples,
Turtle, TriG). The changes includes:

- A new DAWG Manifest processor:
  - Incorporates pytest expected failure support in test parameter generation.
  - Supports URI mapping so that local filesystem URIs can be mapped to the
    correct remote base URIs and still work correctly with local files.
  - Supports custom entry types so that suite specific handling can be
    implemented separately from the core manifest processor. This will
    be used for SPARQL test suite and JSON test suite processing.
- Updated EARL reporter:
  - Support for the new DAWG Manifest processor.
  - Writing of EARL reports by default if a report prefix is
    specified in the DAWG Manifest processor.
  - Reports output is sorted so that it can be compared with text based
    diff tools.
  - Fixed reporting of xfail tests. These were reported as skipped before,
    now they are reported as failed. 

The testing is also more accurate, and now tests which were reported as
passing before are now correctly reported as failing. With one exception
all these failures are related to leniency in the parser, as our parser
accepts input that should raise an error when parsing.

Other changes:
- Moved IRI related test utilities to a separate module.
- Added generated reports for turtle-like formats to git with `-HEAD`
  suffix.

Subsequent changes will use this new processor for SPARQL and RDF/XML.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch reworks the turtle-like test suites (N-Quads, N-Triples,
Turtle, TriG). The changes includes:

- A new DAWG Manifest processor:
  - Incorporates pytest expected failure support in test parameter generation.
  - Supports URI mapping so that local filesystem URIs can be mapped to the
    correct remote base URIs and still work correctly with local files.
  - Supports custom entry types so that suite specific handling can be
    implemented separately from the core manifest processor. This will
    be used for SPARQL test suite and JSON test suite processing.
- Updated EARL reporter:
  - Support for the new DAWG Manifest processor.
  - Writing of EARL reports by default if a report prefix is
    specified in the DAWG Manifest processor.
  - Reports output is sorted so that it can be compared with text based
    diff tools.
  - Fixed reporting of xfail tests. These were reported as skipped before,
    now they are reported as failed. 

The testing is also more accurate, and now tests which were reported as
passing before are now correctly reported as failing. With one exception
all these failures are related to leniency in the parser, as our parser
accepts input that should raise an error when parsing.

Other changes:
- Moved IRI related test utilities to a separate module.
- Added generated reports for turtle-like formats to git with `-HEAD`
  suffix.

Subsequent changes will use this new processor for SPARQL and RDF/XML.</pre>
</div>
</content>
</entry>
<entry>
<title>Migrate from nosetest to pytest</title>
<updated>2021-10-24T14:28:54+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2021-10-24T14:19:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=c2a37b70b9ca7158996f59437ae193dd7c421316'/>
<id>c2a37b70b9ca7158996f59437ae193dd7c421316</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
