diff options
author | David Robillard <d@drobilla.net> | 2023-03-27 15:42:27 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-04-05 09:41:43 -0400 |
commit | e970e63146fb5d8de511104eba7aef5319e8653b (patch) | |
tree | 9f8e24335b84012ec0473e62301f37491c31cdb9 /test/serd_test_util | |
parent | 68c1a2e677775e489cff4beb38ef17c1efeae4e3 (diff) | |
download | serd-e970e63146fb5d8de511104eba7aef5319e8653b.tar.gz serd-e970e63146fb5d8de511104eba7aef5319e8653b.tar.bz2 serd-e970e63146fb5d8de511104eba7aef5319e8653b.zip |
Add pretty-printing test suite
The earlier "test" was just hitting the code without actually checking the
output. This new suite is a set of pretty-printed documents which serd must
reproduce exactly to pass. This should make it easy to add cases in the
future, since each case is just a document, as it should look.
Diffstat (limited to 'test/serd_test_util')
-rw-r--r-- | test/serd_test_util/__init__.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/serd_test_util/__init__.py b/test/serd_test_util/__init__.py index 844c454c..7482762d 100644 --- a/test/serd_test_util/__init__.py +++ b/test/serd_test_util/__init__.py @@ -71,6 +71,25 @@ def uri_path(uri): return path if not drive else path[1:] +def file_path(suite_dir, uri): + """Return a relative path to a file in a test suite.""" + + return os.path.relpath(os.path.join(suite_dir, os.path.basename(uri))) + + +def syntax_from_path(path): + """Return the serd syntax name corresponding to a file path.""" + + extensions = { + ".ttl": "turtle", + ".nt": "ntriples", + ".trig": "trig", + ".nq": "nquads", + } + + return extensions[os.path.splitext(path)[1]] + + def earl_assertion(test, passed, asserter): """Return a Turtle description of an assertion for the test report.""" |