diff options
| author | hsolbrig <solbrig@jhu.edu> | 2020-05-26 22:31:49 -0500 |
|---|---|---|
| committer | hsolbrig <solbrig@jhu.edu> | 2020-05-26 22:31:49 -0500 |
| commit | 91015c19d10229137bdf81a47bcae9d864d1983d (patch) | |
| tree | b7fb83aa7b4a49488adeb06e9c403b3c5f7ebbfe | |
| parent | 348d83c4db3fbb1f824b8c975dcb18de88a45e2b (diff) | |
| download | rdflib-91015c19d10229137bdf81a47bcae9d864d1983d.tar.gz | |
Refactor - module names don't match class names
For some reason the sequence of processing is different in Travis than in PyCharm. Changing the module names eliminates any possibility of confusion.
Also fixed a number of warnings, whines and general unhappiness in the build process.
| -rw-r--r-- | rdflib/__init__.py | 3 | ||||
| -rw-r--r-- | rdflib/namespace/_CSVW.py (renamed from rdflib/namespace/CSVW.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_DC.py (renamed from rdflib/namespace/DC.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_DCAM.py (renamed from rdflib/namespace/DCAM.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_DCAT.py (renamed from rdflib/namespace/DCAT.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_DCMITYPE.py (renamed from rdflib/namespace/DCMITYPE.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_DCTERMS.py (renamed from rdflib/namespace/DCTERMS.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_DOAP.py (renamed from rdflib/namespace/DOAP.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_FOAF.py (renamed from rdflib/namespace/FOAF.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_ODRL2.py (renamed from rdflib/namespace/ODRL2.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_ORG.py (renamed from rdflib/namespace/ORG.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_OWL.py (renamed from rdflib/namespace/OWL.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_PROF.py (renamed from rdflib/namespace/PROF.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_PROV.py (renamed from rdflib/namespace/PROV.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_QB.py (renamed from rdflib/namespace/QB.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_RDF.py (renamed from rdflib/namespace/RDF.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_RDFS.py (renamed from rdflib/namespace/RDFS.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_SDO.py (renamed from rdflib/namespace/SDO.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_SH.py (renamed from rdflib/namespace/SH.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_SKOS.py (renamed from rdflib/namespace/SKOS.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_SOSA.py (renamed from rdflib/namespace/SOSA.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_SSN.py (renamed from rdflib/namespace/SSN.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_TIME.py (renamed from rdflib/namespace/TIME.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_VANN.py (renamed from rdflib/namespace/VANN.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_VOID.py (renamed from rdflib/namespace/VOID.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/_XSD.py (renamed from rdflib/namespace/XSD.py) | 0 | ||||
| -rw-r--r-- | rdflib/namespace/__init__.py | 43 | ||||
| -rw-r--r-- | rdflib/plugins/parsers/RDFVOC.py | 2 | ||||
| -rw-r--r-- | rdflib/plugins/parsers/rdfxml.py | 3 | ||||
| -rw-r--r-- | rdflib/plugins/serializers/n3.py | 3 | ||||
| -rw-r--r-- | rdflib/plugins/serializers/rdfxml.py | 40 | ||||
| -rw-r--r-- | rdflib/plugins/serializers/turtle.py | 3 | ||||
| -rw-r--r-- | test/test_dawg.py | 13 | ||||
| -rw-r--r-- | test/test_empty_xml_base.py | 4 | ||||
| -rw-r--r-- | test/test_issue190.py | 9 | ||||
| -rw-r--r-- | test/test_issue200.py | 5 | ||||
| -rw-r--r-- | test/test_nt_w3c.py | 9 | ||||
| -rw-r--r-- | test/test_sparqlupdatestore.py | 13 | ||||
| -rw-r--r-- | test/test_trig.py | 11 | ||||
| -rw-r--r-- | test/testutils.py | 12 |
40 files changed, 94 insertions, 79 deletions
diff --git a/rdflib/__init__.py b/rdflib/__init__.py index 5faa214b..5938b0a2 100644 --- a/rdflib/__init__.py +++ b/rdflib/__init__.py @@ -83,8 +83,7 @@ __all__ = [ ] import sys -from rdflib.namespace import XMLNS -from rdflib.namespace.SOSA import SOSA +from rdflib.namespace import XMLNS, SOSA assert sys.version_info >= (2, 7, 0), "rdflib requires Python 2.7 or higher" diff --git a/rdflib/namespace/CSVW.py b/rdflib/namespace/_CSVW.py index 3c3e0db9..3c3e0db9 100644 --- a/rdflib/namespace/CSVW.py +++ b/rdflib/namespace/_CSVW.py diff --git a/rdflib/namespace/DC.py b/rdflib/namespace/_DC.py index 93aecd05..93aecd05 100644 --- a/rdflib/namespace/DC.py +++ b/rdflib/namespace/_DC.py diff --git a/rdflib/namespace/DCAM.py b/rdflib/namespace/_DCAM.py index 9b3c5344..9b3c5344 100644 --- a/rdflib/namespace/DCAM.py +++ b/rdflib/namespace/_DCAM.py diff --git a/rdflib/namespace/DCAT.py b/rdflib/namespace/_DCAT.py index f153487a..f153487a 100644 --- a/rdflib/namespace/DCAT.py +++ b/rdflib/namespace/_DCAT.py diff --git a/rdflib/namespace/DCMITYPE.py b/rdflib/namespace/_DCMITYPE.py index eb2f5403..eb2f5403 100644 --- a/rdflib/namespace/DCMITYPE.py +++ b/rdflib/namespace/_DCMITYPE.py diff --git a/rdflib/namespace/DCTERMS.py b/rdflib/namespace/_DCTERMS.py index 84d694f0..84d694f0 100644 --- a/rdflib/namespace/DCTERMS.py +++ b/rdflib/namespace/_DCTERMS.py diff --git a/rdflib/namespace/DOAP.py b/rdflib/namespace/_DOAP.py index 5758eccc..5758eccc 100644 --- a/rdflib/namespace/DOAP.py +++ b/rdflib/namespace/_DOAP.py diff --git a/rdflib/namespace/FOAF.py b/rdflib/namespace/_FOAF.py index c9e43071..c9e43071 100644 --- a/rdflib/namespace/FOAF.py +++ b/rdflib/namespace/_FOAF.py diff --git a/rdflib/namespace/ODRL2.py b/rdflib/namespace/_ODRL2.py index 29a5d0dc..29a5d0dc 100644 --- a/rdflib/namespace/ODRL2.py +++ b/rdflib/namespace/_ODRL2.py diff --git a/rdflib/namespace/ORG.py b/rdflib/namespace/_ORG.py index 4635f2e7..4635f2e7 100644 --- a/rdflib/namespace/ORG.py +++ b/rdflib/namespace/_ORG.py diff --git a/rdflib/namespace/OWL.py b/rdflib/namespace/_OWL.py index f5a7b0bf..f5a7b0bf 100644 --- a/rdflib/namespace/OWL.py +++ b/rdflib/namespace/_OWL.py diff --git a/rdflib/namespace/PROF.py b/rdflib/namespace/_PROF.py index cadd7bb1..cadd7bb1 100644 --- a/rdflib/namespace/PROF.py +++ b/rdflib/namespace/_PROF.py diff --git a/rdflib/namespace/PROV.py b/rdflib/namespace/_PROV.py index 104429ac..104429ac 100644 --- a/rdflib/namespace/PROV.py +++ b/rdflib/namespace/_PROV.py diff --git a/rdflib/namespace/QB.py b/rdflib/namespace/_QB.py index 2f12b18c..2f12b18c 100644 --- a/rdflib/namespace/QB.py +++ b/rdflib/namespace/_QB.py diff --git a/rdflib/namespace/RDF.py b/rdflib/namespace/_RDF.py index 264e8c7d..264e8c7d 100644 --- a/rdflib/namespace/RDF.py +++ b/rdflib/namespace/_RDF.py diff --git a/rdflib/namespace/RDFS.py b/rdflib/namespace/_RDFS.py index b32a830c..b32a830c 100644 --- a/rdflib/namespace/RDFS.py +++ b/rdflib/namespace/_RDFS.py diff --git a/rdflib/namespace/SDO.py b/rdflib/namespace/_SDO.py index 665d6494..665d6494 100644 --- a/rdflib/namespace/SDO.py +++ b/rdflib/namespace/_SDO.py diff --git a/rdflib/namespace/SH.py b/rdflib/namespace/_SH.py index 63cd4540..63cd4540 100644 --- a/rdflib/namespace/SH.py +++ b/rdflib/namespace/_SH.py diff --git a/rdflib/namespace/SKOS.py b/rdflib/namespace/_SKOS.py index 82d4adf6..82d4adf6 100644 --- a/rdflib/namespace/SKOS.py +++ b/rdflib/namespace/_SKOS.py diff --git a/rdflib/namespace/SOSA.py b/rdflib/namespace/_SOSA.py index 85c09343..85c09343 100644 --- a/rdflib/namespace/SOSA.py +++ b/rdflib/namespace/_SOSA.py diff --git a/rdflib/namespace/SSN.py b/rdflib/namespace/_SSN.py index 5d928e2a..5d928e2a 100644 --- a/rdflib/namespace/SSN.py +++ b/rdflib/namespace/_SSN.py diff --git a/rdflib/namespace/TIME.py b/rdflib/namespace/_TIME.py index 94329392..94329392 100644 --- a/rdflib/namespace/TIME.py +++ b/rdflib/namespace/_TIME.py diff --git a/rdflib/namespace/VANN.py b/rdflib/namespace/_VANN.py index e6590cc7..e6590cc7 100644 --- a/rdflib/namespace/VANN.py +++ b/rdflib/namespace/_VANN.py diff --git a/rdflib/namespace/VOID.py b/rdflib/namespace/_VOID.py index b3d4e82b..b3d4e82b 100644 --- a/rdflib/namespace/VOID.py +++ b/rdflib/namespace/_VOID.py diff --git a/rdflib/namespace/XSD.py b/rdflib/namespace/_XSD.py index 6873aed9..6873aed9 100644 --- a/rdflib/namespace/XSD.py +++ b/rdflib/namespace/_XSD.py diff --git a/rdflib/namespace/__init__.py b/rdflib/namespace/__init__.py index 07591b07..d388c1f8 100644 --- a/rdflib/namespace/__init__.py +++ b/rdflib/namespace/__init__.py @@ -661,24 +661,25 @@ def get_longest_namespace(trie, value): -from rdflib.namespace.CSVW import CSVW -from rdflib.namespace.DC import DC -from rdflib.namespace.DCAT import DCAT -from rdflib.namespace.DCTERMS import DCTERMS -from rdflib.namespace.DOAP import DOAP -from rdflib.namespace.FOAF import FOAF -from rdflib.namespace.ODRL2 import ODRL2 -from rdflib.namespace.ORG import ORG -from rdflib.namespace.OWL import OWL -from rdflib.namespace.PROF import PROF -from rdflib.namespace.PROV import PROV -from rdflib.namespace.RDF import RDF -from rdflib.namespace.RDFS import RDFS -from rdflib.namespace.SDO import SDO -from rdflib.namespace.SH import SH -from rdflib.namespace.SKOS import SKOS -from rdflib.namespace.SOSA import SOSA -from rdflib.namespace.SSN import SSN -from rdflib.namespace.TIME import TIME -from rdflib.namespace.VOID import VOID -from rdflib.namespace.XSD import XSD
\ No newline at end of file +from rdflib.namespace._CSVW import CSVW +from rdflib.namespace._DC import DC +from rdflib.namespace._DCAT import DCAT +from rdflib.namespace._DCTERMS import DCTERMS +from rdflib.namespace._DOAP import DOAP +from rdflib.namespace._FOAF import FOAF +from rdflib.namespace._ODRL2 import ODRL2 +from rdflib.namespace._ORG import ORG +from rdflib.namespace._OWL import OWL +from rdflib.namespace._PROF import PROF +from rdflib.namespace._PROV import PROV +from rdflib.namespace._QB import QB +from rdflib.namespace._RDF import RDF +from rdflib.namespace._RDFS import RDFS +from rdflib.namespace._SDO import SDO +from rdflib.namespace._SH import SH +from rdflib.namespace._SKOS import SKOS +from rdflib.namespace._SOSA import SOSA +from rdflib.namespace._SSN import SSN +from rdflib.namespace._TIME import TIME +from rdflib.namespace._VOID import VOID +from rdflib.namespace._XSD import XSD
\ No newline at end of file diff --git a/rdflib/plugins/parsers/RDFVOC.py b/rdflib/plugins/parsers/RDFVOC.py index cc65d904..40f508c4 100644 --- a/rdflib/plugins/parsers/RDFVOC.py +++ b/rdflib/plugins/parsers/RDFVOC.py @@ -1,4 +1,4 @@ -from rdflib.namespace.RDF import RDF +from rdflib.namespace import RDF from rdflib.term import URIRef diff --git a/rdflib/plugins/parsers/rdfxml.py b/rdflib/plugins/parsers/rdfxml.py index 0621569b..28f773cd 100644 --- a/rdflib/plugins/parsers/rdfxml.py +++ b/rdflib/plugins/parsers/rdfxml.py @@ -8,7 +8,8 @@ from xml.sax.saxutils import quoteattr, escape from urllib.parse import urldefrag, urljoin -from rdflib.namespace import RDF, is_ncname +from rdflib.namespace import is_ncname +from rdflib.namespace import RDF from rdflib.plugins.parsers.RDFVOC import RDFVOC from rdflib.term import URIRef from rdflib.term import BNode diff --git a/rdflib/plugins/serializers/n3.py b/rdflib/plugins/serializers/n3.py index 6c4e2ec4..2b3d38e1 100644 --- a/rdflib/plugins/serializers/n3.py +++ b/rdflib/plugins/serializers/n3.py @@ -2,7 +2,8 @@ Notation 3 (N3) RDF graph serializer for RDFLib. """ from rdflib.graph import Graph -from rdflib.namespace import Namespace, OWL +from rdflib.namespace import Namespace +from rdflib.namespace import OWL from rdflib.plugins.serializers.turtle import TurtleSerializer, SUBJECT, OBJECT __all__ = ["N3Serializer"] diff --git a/rdflib/plugins/serializers/rdfxml.py b/rdflib/plugins/serializers/rdfxml.py index 3f3c840d..ef48054b 100644 --- a/rdflib/plugins/serializers/rdfxml.py +++ b/rdflib/plugins/serializers/rdfxml.py @@ -3,6 +3,7 @@ from __future__ import absolute_import from rdflib.plugins.serializers.xmlwriter import XMLWriter from rdflib.namespace import Namespace, RDF, RDFS # , split_uri +from rdflib.plugins.parsers.RDFVOC import RDFVOC from rdflib.term import URIRef, Literal, BNode from rdflib.util import first, more_than @@ -10,7 +11,6 @@ from rdflib.collection import Collection from rdflib.serializer import Serializer from xml.sax.saxutils import quoteattr, escape -import xml.dom.minidom from .xmlwriter import ESCAPE_ENTITIES @@ -182,7 +182,7 @@ class PrettyXMLSerializer(Serializer): namespaces["rdf"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" - writer.push(RDF.RDF) + writer.push(RDFVOC.RDF) if "xml_base" in args: writer.attribute(XMLBASE, args["xml_base"]) @@ -214,7 +214,7 @@ class PrettyXMLSerializer(Serializer): if bnode not in self.__serialized: self.subject(subject, 1) - writer.pop(RDF.RDF) + writer.pop(RDFVOC.RDF) stream.write("\n".encode("latin-1")) # Set to None so that the memory can get garbage collected. @@ -225,9 +225,9 @@ class PrettyXMLSerializer(Serializer): writer = self.writer if subject in self.forceRDFAbout: - writer.push(RDF.Description) - writer.attribute(RDF.about, self.relativize(subject)) - writer.pop(RDF.Description) + writer.push(RDFVOC.Description) + writer.attribute(RDFVOC.about, self.relativize(subject)) + writer.pop(RDFVOC.Description) self.forceRDFAbout.remove(subject) elif subject not in self.__serialized: @@ -239,7 +239,7 @@ class PrettyXMLSerializer(Serializer): except: type = None - element = type or RDF.Description + element = type or RDFVOC.Description writer.push(element) if isinstance(subject, BNode): @@ -252,10 +252,10 @@ class PrettyXMLSerializer(Serializer): # more than once (this reduces the use of redundant BNode # identifiers) if subj_as_obj_more_than(1): - writer.attribute(RDF.nodeID, fix(subject)) + writer.attribute(RDFVOC.nodeID, fix(subject)) else: - writer.attribute(RDF.about, self.relativize(subject)) + writer.attribute(RDFVOC.about, self.relativize(subject)) if (subject, None, None) in store: for predicate, object in store.predicate_objects(subject): @@ -265,9 +265,9 @@ class PrettyXMLSerializer(Serializer): writer.pop(element) elif subject in self.forceRDFAbout: - writer.push(RDF.Description) - writer.attribute(RDF.about, self.relativize(subject)) - writer.pop(RDF.Description) + writer.push(RDFVOC.Description) + writer.attribute(RDFVOC.about, self.relativize(subject)) + writer.pop(RDFVOC.Description) self.forceRDFAbout.remove(subject) def predicate(self, predicate, object, depth=1): @@ -282,21 +282,21 @@ class PrettyXMLSerializer(Serializer): if object.datatype == RDF.XMLLiteral and isinstance( object.value, xml.dom.minidom.Document ): - writer.attribute(RDF.parseType, "Literal") + writer.attribute(RDFVOC.parseType, "Literal") writer.text(u"") writer.stream.write(object) else: if object.datatype: - writer.attribute(RDF.datatype, object.datatype) + writer.attribute(RDFVOC.datatype, object.datatype) writer.text(object) elif object in self.__serialized or not (object, None, None) in store: if isinstance(object, BNode): if more_than(store.triples((None, None, object)), 0): - writer.attribute(RDF.nodeID, fix(object)) + writer.attribute(RDFVOC.nodeID, fix(object)) else: - writer.attribute(RDF.resource, self.relativize(object)) + writer.attribute(RDFVOC.resource, self.relativize(object)) else: if first(store.objects(object, RDF.first)): # may not have type @@ -314,7 +314,7 @@ class PrettyXMLSerializer(Serializer): UserWarning, stacklevel=2, ) - writer.attribute(RDF.parseType, "Collection") + writer.attribute(RDFVOC.parseType, "Collection") col = Collection(store, object) @@ -332,7 +332,7 @@ class PrettyXMLSerializer(Serializer): (object, RDF.type, [OWL_NS.Class, RDFS.Class]) ) ) and isinstance(object, URIRef): - writer.attribute(RDF.resource, self.relativize(object)) + writer.attribute(RDFVOC.resource, self.relativize(object)) elif depth <= self.max_depth: self.subject(object, depth + 1) @@ -348,9 +348,9 @@ class PrettyXMLSerializer(Serializer): # and are only referenced once (regardless of depth) self.subject(object, depth + 1) else: - writer.attribute(RDF.nodeID, fix(object)) + writer.attribute(RDFVOC.nodeID, fix(object)) else: - writer.attribute(RDF.resource, self.relativize(object)) + writer.attribute(RDFVOC.resource, self.relativize(object)) writer.pop(predicate) diff --git a/rdflib/plugins/serializers/turtle.py b/rdflib/plugins/serializers/turtle.py index b3bb9618..a2270674 100644 --- a/rdflib/plugins/serializers/turtle.py +++ b/rdflib/plugins/serializers/turtle.py @@ -9,8 +9,7 @@ from functools import cmp_to_key from rdflib.term import BNode, Literal, URIRef from rdflib.exceptions import Error from rdflib.serializer import Serializer -from rdflib.namespace.RDF import RDF -from rdflib.namespace.RDFS import RDFS +from rdflib.namespace import RDF, RDFS __all__ = ["RecursiveSerializer", "TurtleSerializer"] diff --git a/test/test_dawg.py b/test/test_dawg.py index 4e2bb122..0226e3ba 100644 --- a/test/test_dawg.py +++ b/test/test_dawg.py @@ -1,9 +1,15 @@ from __future__ import print_function + +import os import sys # Needed to pass # http://www.w3.org/2009/sparql/docs/tests/data-sparql11/ # syntax-update-2/manifest#syntax-update-other-01 +from test import TEST_DIR +from test.earl import report, add_test +from test.manifest import nose_tests, UP, MF + sys.setrecursionlimit(6000) # default is 1000 @@ -47,9 +53,6 @@ from io import BytesIO from nose.tools import nottest, eq_ from nose import SkipTest - -from manifest import nose_tests, MF, UP -from earl import report, add_test def eq(a, b, msg): return eq_(a, b, msg + ": (%r!=%r)" % (a, b)) @@ -641,8 +644,8 @@ if __name__ == "__main__": % (now, i, success, f_sum, e_sum, skip, 100.0 * success / i) ) - earl_report = "test_reports/rdflib_sparql-%s.ttl" % now.replace(":", "") + earl_report = os.path.join(TEST_DIR, "../test_reports/rdflib_sparql-%s.ttl" % now.replace(":", "")) report.serialize(earl_report, format="n3") - report.serialize("test_reports/rdflib_sparql-latest.ttl", format="n3") + report.serialize(os.path.join(TEST_DIR, "../test_reports/rdflib_sparql-latest.ttl"), format="n3") print("Wrote EARL-report to '%s'" % earl_report) diff --git a/test/test_empty_xml_base.py b/test/test_empty_xml_base.py index 86296254..c6fa1ce1 100644 --- a/test/test_empty_xml_base.py +++ b/test/test_empty_xml_base.py @@ -7,13 +7,11 @@ and RDF/XML dependence on it from rdflib.graph import ConjunctiveGraph from rdflib.term import URIRef -from rdflib.namespace import Namespace -from rdflib.namespace import RDF +from rdflib.namespace import RDF, FOAF from io import StringIO import unittest -FOAF = Namespace("http://xmlns.com/foaf/0.1/") test_data = """ <rdf:RDF diff --git a/test/test_issue190.py b/test/test_issue190.py index f8ab37e7..53011648 100644 --- a/test/test_issue190.py +++ b/test/test_issue190.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import unittest + from nose import SkipTest from rdflib.graph import ConjunctiveGraph from rdflib.parser import StringInputSource @@ -40,6 +42,8 @@ test_string1 = u"""\ Betriebsnummer der Einzugsstelle:\nKnappschaft\n980 0000 6\nWICHTIGES DOKUMENT - SORGFÄLTIG AUFBEWAHREN!\n """ + +@unittest.skipIf(True, "Known issue with newlines in text") def test1(): meta1 = meta.encode("utf-8") % test_string1.encode("utf-8") graph = ConjunctiveGraph() @@ -55,7 +59,7 @@ Knappschaft WICHTIGES DOKUMENT - SORGFÄLTIG AUFBEWAHREN! """ - +@unittest.skipIf(True, "Known issue with newlines in text") def test2(): meta2 = meta.encode("utf-8") % test_string2.encode("utf-8") graph = ConjunctiveGraph() @@ -64,4 +68,5 @@ def test2(): ) -raise SkipTest("Known issue, with newlines in text") +if __name__ == "__main__": + unittest.main() diff --git a/test/test_issue200.py b/test/test_issue200.py index 3fb76894..8dc5433c 100644 --- a/test/test_issue200.py +++ b/test/test_issue200.py @@ -5,8 +5,8 @@ import rdflib import unittest try: - import os.fork - import os.pipe + from os import fork + from os import pipe except ImportError: from nose import SkipTest @@ -26,6 +26,7 @@ class TestRandomSeedInFork(unittest.TestCase): r = os.fdopen(r) # turn r into a file object txt = r.read() os.waitpid(pid, 0) # make sure the child process gets cleaned up + r.close() else: os.close(r) w = os.fdopen(w, "w") diff --git a/test/test_nt_w3c.py b/test/test_nt_w3c.py index daae96fb..ca9ac165 100644 --- a/test/test_nt_w3c.py +++ b/test/test_nt_w3c.py @@ -1,10 +1,12 @@ """This runs the nt tests for the W3C RDF Working Group's N-Quads test suite.""" +import os from rdflib import Graph -from manifest import nose_tests, RDFT +from test import TEST_DIR +from test.manifest import nose_tests, RDFT -from testutils import nose_tst_earl_report +from test.testutils import nose_tst_earl_report verbose = False @@ -25,7 +27,8 @@ testers = {RDFT.TestNTriplesPositiveSyntax: nt, RDFT.TestNTriplesNegativeSyntax: def test_nt(tests=None): - for t in nose_tests(testers, "test/w3c/nt/manifest.ttl", legacy=True): + manifest_file = os.path.join(TEST_DIR, "w3c/nt/manifest.ttl") + for t in nose_tests(testers, manifest_file, legacy=True): if tests: for test in tests: if test in t[1].uri: diff --git a/test/test_sparqlupdatestore.py b/test/test_sparqlupdatestore.py index b6dcedbd..8d4eb41c 100644 --- a/test/test_sparqlupdatestore.py +++ b/test/test_sparqlupdatestore.py @@ -35,7 +35,14 @@ cheese = URIRef("urn:cheese") graphuri = URIRef("urn:graph") othergraphuri = URIRef("urn:othergraph") +try: + assert len(urlopen(HOST).read()) > 0 + skip = False +except: + skip = True + +@unittest.skipIf(skip, HOST + " is unavailablez.") class TestSparql11(unittest.TestCase): def setUp(self): self.longMessage = True @@ -354,11 +361,5 @@ class TestSparql11(unittest.TestCase): self.assertEqual(o, Literal(""), repr(o)) -try: - assert len(urlopen(HOST).read()) > 0 -except: - raise SkipTest(HOST + " is unavailable.") - - if __name__ == "__main__": unittest.main() diff --git a/test/test_trig.py b/test/test_trig.py index 90321c5c..b58c00b4 100644 --- a/test/test_trig.py +++ b/test/test_trig.py @@ -118,10 +118,9 @@ class TestTrig(unittest.TestCase): g.parse(data=data, format="trig") self.assertEqual(len(list(g.contexts())), 2) + @unittest.skipIf(True, "Iterative serialization currently produces 16 copies of everything") def testRoundTrips(self): - raise SkipTest("skipped until 5.0") - data = """ <http://example.com/thing#thing_a> <http://example.com/knows> <http://example.com/thing#thing_b> . @@ -134,7 +133,7 @@ class TestTrig(unittest.TestCase): g = rdflib.ConjunctiveGraph() for i in range(5): g.parse(data=data, format="trig") - data = g.serialize(format="trig") + data = g.serialize(format="trig").decode() # output should only contain 1 mention of each resource/graph name self.assertEqual(data.count("thing_a"), 1) @@ -175,6 +174,6 @@ class TestTrig(unittest.TestCase): cg.parse(data=data, format="trig") data = cg.serialize(format="trig") - self.assert_("ns2: <http://ex.org/docs/".encode("latin-1") in data, data) - self.assert_("<ns2:document1>".encode("latin-1") not in data, data) - self.assert_("ns2:document1".encode("latin-1") in data, data) + self.assertTrue("ns2: <http://ex.org/docs/".encode("latin-1") in data, data) + self.assertTrue("<ns2:document1>".encode("latin-1") not in data, data) + self.assertTrue("ns2:document1".encode("latin-1") in data, data) diff --git a/test/testutils.py b/test/testutils.py index 01e78f3f..e1dcc6c1 100644 --- a/test/testutils.py +++ b/test/testutils.py @@ -1,18 +1,22 @@ from __future__ import print_function +import os import sys import isodate import datetime from traceback import print_exc from nose import SkipTest -from earl import add_test, report from rdflib import BNode, Graph, ConjunctiveGraph # TODO: make an introspective version (like this one) of # rdflib.graphutils.isomorphic and use instead. +from test import TEST_DIR +from test.earl import add_test, report + + def crapCompare(g1, g2): """A really crappy way to 'check' if two graphs are equal. It ignores blank nodes completely and ignores subgraphs.""" @@ -99,11 +103,11 @@ def nose_tst_earl_report(generator, earl_report_name=None): ) if earl_report_name: now = isodate.datetime_isoformat(datetime.datetime.utcnow()) - earl_report = "test_reports/%s-%s.ttl" % ( + earl_report = os.path.join(TEST_DIR, "../test_reports/%s-%s.ttl" % ( earl_report_name, now.replace(":", ""), - ) + )) report.serialize(earl_report, format="n3") - report.serialize("test_reports/%s-latest.ttl" % earl_report_name, format="n3") + report.serialize(os.path.join(TEST_DIR, "../test_reports/%s-latest.ttl" % earl_report_name), format="n3") print("Wrote EARL-report to '%s'" % earl_report) |
