Skip to content

Commit

Permalink
More on test failures etc.
Browse files Browse the repository at this point in the history
git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@566 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
tvdstorm committed Apr 8, 2009
1 parent befec3f commit 8741be0
Show file tree
Hide file tree
Showing 6 changed files with 209 additions and 22 deletions.
12 changes: 12 additions & 0 deletions topics/apimigration/benchmark/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
#Wed Apr 08 17:59:42 CEST 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5
Binary file added topics/apimigration/benchmark/Annos.ods
Binary file not shown.
152 changes: 152 additions & 0 deletions topics/apimigration/benchmark/annos.csv
@@ -0,0 +1,152 @@
"xom.nu", "org.jdom", "Status", "Strategy", "Pre", "Post", "Throws", "Invariant", "Doc"
"Attribute#getLocalName()", "Attribute#getName()", "OK", "D", "", "", "", "", ""
"Attribute#getNamespacePrefix()", "Attribute#getNamespacePrefix()", "OK", "D", "", "", "", "", ""
"Attribute#getNamespaceURI()", "Attribute#getNamespaceURI()", "OK", "D", "", "", "", "", ""
"Attribute#getQualifiedName()", "Attribute#getQualifiedName()", "OK", "D", "", "", "", "", ""
"Attribute#setLocalName(String)", "Attribute#setName()", "OK", "D", "", "", "", "", ""
"Attribute#setNamespace(String, String)", "Attribute#setNamespace(Namespace)", "OK", "AD", "", "", "xom throws NamespaceConflictException (not IllegalNameException)", "", ""
"Attribute#toXML()", "", "DC", "C", "", "proper escaping of attribute's value", "", "", ""
"Attribute#detach()", "Attribute#detach()", "OK", "D", "", "", "", "", ""
"Attribute#getBaseURI()", "", "OK", "M", "", "", "", "", ""
"Attribute#hashCode()", "Attribute#hashCode()", "DC", "D", "", "", "", "", ""
"Attribute#equals(Object)", "Attribute#equals(Object)", "OK", "D", "", "", "", "", ""
"Attribute#getValue()", "Attribute#getValue()", "OK", "D", "", "", "", "", ""
"Attribute#getParent()", "Attribute#getParent()", "OK", "AD", "", "", "", "", ""
"Attribute#copy()", "Attribute#clone()", "OK", "D", "", "", "", "", ""
"Attribute#getType()", "Attribute#getAttributeType()", "OK", "AD", "", "", "", "", ""
"Attribute#setValue(String)", "Attribute#setValue()", "OK", "AD", "", "", "", "", ""
"Attribute#query(String, XPathContext)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"Attribute#query(String)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"Attribute#setType(Type)", "Attribute#setAttributeType(int)", "OK", "AD", "", "", "XOM Attribute.Type can be null, but not outof bounds as in JDOM (which throws IllegalDataException", "", ""
"Attribute#getDocument()", "Attribute#getDocument()", "OK", "D", "", "", "", "", ""
"Attribute(String, String, String, Type)", "Attribute(String, String, int, Namespace)", "OK", "AD", "XOM allows colons in names, JDOM does not", "", "NamespaceConflictException is not thrown by JDOM", "", ""
"Attribute(String, String, String)", "Attribute(String, String, Namespace)", "OK", "AD", "", "", "", "", ""
"Attribute(String, String, Type)", "Attribute(String, String, int)", "OK", "D", "", "", "", "", ""
"Attribute(String, String)", "Attribute(String, String)", "NW", "AD", "", "", "", "", "XOM docs say first arg is localName, however, tests send colonized names"
"Attribute(Attribute)", "Attribute#clone()", "OK", "D", "", "", "", "", ""
"Builder#getNodeFactory()", "", "GU", "", "", "No NodeFactory available since it does not work with SAXBuilder", "", "", ""
"Builder#build(Reader)", "input.SAXBuilder#build(Reader)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder#build(InputStream, String)", "input.SAXBuilder#build(InputStream, String)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder#build(File)", "input.SAXBuilder#build(File)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder#build(InputStream)", "input.SAXBuilder#build(InputStream)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder#build(Reader, String)", "input.SAXBuilder#build(Reader, String)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder#build(String, String)", "input.SAXBuilder#build(String, String)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder#build(String)", "input.SAXBuilder#build(String)", "NW", "AD", "", "", "JDOMException can be thrown without being a JDOMParseException", "", ""
"Builder()", "input.SAXBuilder()", "NW", "AD", "", "", "", "", ""
"Builder(boolean)", "input.SAXBuilder(boolean)", "NW", "AD", "", "", "", "", ""
"Builder(boolean, NodeFactory)", "", "GU", "", "NodeFactory is not available in JDOM and cannot be used by SAXBuilder", "", "", "", ""
"Builder(NodeFactory)", "", "GU", "", "NodeFactory is not available in JDOM and cannot be used by SAXBuilder", "", "", "", ""
"Builder(XMLReader)", "input.SAXBuilder(String)", "NW", "AD", "Not sure if XMLReader.class can function as a SAX driver", "", "", "", ""
"Builder(XMLReader, boolean)", "input.SAXBuilder(String, boolean)", "NW", "AD", "Not sure if XMLReader.class can function as a SAX driver", "", "", "", ""
"Builder(XMLReader, boolean, NodeFactory)", "", "GU", "", "NodeFactory is not available in JDOM and cannot be used by SAXBuilder", "", "", "", ""
"Comment#toXML()", "", "DC", "EM", "", "the resulting string may be slightly different", "", "", ""
"Comment#detach()", "Comment#detach()", "OK", "D", "", "", "", "", ""
"Comment#getBaseURI()", "", "NW", "M", "", "unclear how baseURI should be determined for Comments in JDom", "", "", ""
"Comment#getValue()", "Comment#getValue()", "OK", "D", "", "", "", "", ""
"Comment#getParent()", "Comment#getParent()", "OK", "AD", "", "", "", "", ""
"Comment#copy()", "Comment#clone()", "OK", "D", "", "", "", "", ""
"Comment#setValue(String)", "Comment#setText(String)", "OK", "AD", "", "", "", "", ""
"Comment#query(String)", "", "NW", "EM", "", "unsure how XPathContext affects the result", "", "", ""
"Comment#query(String, XPathContext)", "", "NW", "EM", "", "unsure how XPathContext affects the result", "", "", ""
"Comment#getDocument()", "Comment#getDocument()", "OK", "AD", "", "", "", "", ""
"Comment(Comment)", "Comment#clone()", "OK", "D", "", "", "", "", ""
"Comment(String)", "Comment(String)", "OK", "AD", "XOM is more picky about invalid chars in comment data", "", "", "", ""
"DocType#toXML()", "", "DC", "EM", "", "output may differ slightly", "", "", ""
"DocType#detach()", "DocType#detach()", "OK", "D", "", "", "", "", ""
"DocType#getBaseURI()", "", "OK", "M", "", "", "", "", ""
"DocType#getInternalDTDSubset()", "DocType#getInternalSubset()", "OK", "D", "", "", "", "", ""
"DocType#getPublicID()", "DocType#getPublicID()", "OK", "D", "", "", "", "", ""
"DocType#getRootElementName()", "DocType#getElementName()", "OK", "D", "", "", "", "", ""
"DocType#getSystemID()", "DocType#getSystemID()", "OK", "D", "", "", "", "", ""
"DocType#setInternalDTDSubset(String)", "DocType#setInternalSubset(String)", "NW", "AD", "XOM parses the InternalSubset string and throws accordingly", "", "", "", ""
"DocType#setPublicID(String)", "DocType#setPublicID(String)", "NW", "AD", "Xom checks for invalid characters", "", "", "", ""
"DocType#setRootElementName(String)", "DocType#setElementName(String)", "NW", "AD", "XOM checks for more invalid chars in rootElementNames ", "", "", "", ""
"DocType#setSystemID(String)", "DocType#setSystemId(String)", "NW", "AD", "XOM checks for invalid chars", "", "", "maintains that public is nulled before any systemid is nulled", ""
"DocType#getValue()", "DocType#getValue()", "OK", "D", "", "", "", "", ""
"DocType#getParent()", "DocType#getParent()", "OK", "AD", "", "", "", "", ""
"DocType#copy()", "DocType#clone()", "OK", "D", "", "", "", "", ""
"DocType#query(String, XPathContext)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"DocType#query(String)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"DocType#getDocument()", "DocType#getDocument()", "OK", "D", "", "", "", "", ""
"DocType(DocType)", "DocType#clone()", "OK", "D", "", "", "", "", ""
"DocType(String)", "DocType(String)", "NW", "AD", "XOM does a lot more input validation on rootElementName", "", "for some invalid names (starting with digits) jdom *does* throw", "", ""
"DocType(String, String)", "DocType(String, String)", "NW", "AD", "XOM does a lot more input validation on rootElementName etc.", "", "", "", ""
"DocType(String, String, String)", "DocType(String, String, String)", "NW", "AD", "XOM does a lot more input validation on rootElementName etc.", "", "", "", ""
"Document#toXML()", "", "DC", "EM", "", "the resulting String may be slightly different", "", "", ""
"Document#detach()", "", "OK", "M", "", "", "", "", ""
"Document#getBaseURI()", "Document#getBaseURI()", "OK", "AD", "", "", "", "", ""
"Document#appendChild(Node)", "Document#addContent(Content)", "OK", "AD", "XOM disallows null and Text nodes", "", "special exception for multiple parent situation", "", ""
"Document#removeChild(int)", "Document#removeContent(int)", "OK", "AD", "XOM prevents root element to be removed", "", "", "", ""
"Document#removeChild(Node)", "Document#removeChild(Content)", "OK", "AD", "XOM disallows root removal; throws if child is not a child of this document", "", "", "", ""
"Document#replaceChild(Node, Node)", "", "OK", "M", "xom requires that newchild is an element if oldchild is", "", "xom has a special exception for multiple parent situation", "", ""
"Document#setBaseURI(String)", "Document#setBaseURI(String)", "OK", "D", "", "", "", "", ""
"Document#insertChild(Node, int)", "Document#addContent(int, Content)", "OK", "AD", "", "", "", "", ""
"Document#getRootElement()", "Document#getRootElement()", "OK", "D", "", "", "", "", ""
"Document#getDocType()", "Document#getDocType()", "OK", "D", "", "", "", "", ""
"Document#setDocType(DocType)", "Document#setDocType(DocType)", "OK", "AD", "xom allows a doctype to be already attached if it is attached to this document but does not allow null", "", "special exception for multiple parent issue", "", ""
"Document#setRootElement(Element)", "Document#setRootElement(Element)", "OK", "AD", "xom allows a root to be already attached if it is attached to this document but does not allow null", "", "special exception for multiple parent issue", "", ""
"Document#hashCode()", "Document#hashCode()", "DC", "", "", "", "", "", ""
"Document#equals(Object)", "Document#equals(Object)", "OK", "D", "", "", "", "", ""
"Document#indexOf(Node)", "Document#indexOf(Content)", "OK", "D", "", "", "", "", ""
"Document#getValue()", "", "OK", "M", "", "", "", "", ""
"Document#getParent()", "Document#getParent()", "OK", "AD", "", "", "", "", ""
"Document#copy()", "Document#clone()", "OK", "D", "", "", "", "", ""
"Document#query(String, XPathContext)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"Document#query(String)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"Document#getChild(int)", "Document#getContent(int)", "OK", "D", "", "", "", "", ""
"Document#getDocument()", "Document#getDocument()", "OK", "D", "", "", "", "", ""
"Document#getChildCount()", "Document#getContentSize()", "OK", "D", "", "", "", "", ""
"Document(Element)", "Document(Element)", "OK", "D", "", "", "", "", ""
"Document(Document)", "Document#clone()", "OK", "D", "", "", "", "", ""
"Element#getLocalName()", "Element#getName()", "OK", "D", "", "", "", "", ""
"Element#getNamespacePrefix()", "Element#getNamespacePrefix", "OK", "D", "", "", "", "", ""
"Element#getNamespacePrefix(int)", "", "GU", "M", "", "result is undefined since XOM includes the element's own namespace", "", "", ""
"Element#getNamespaceURI(String)", "", "OK", "M", "", "", "", "", ""
"Element#getNamespaceURI()", "Element#getNamespaceURI()", "OK", "D", "", "", "", "", ""
"Element#getQualifiedName()", "Element#getQualifiedName()", "OK", "D", "", "", "", "", ""
"Element#setLocalName(String)", "Element#setName(String)", "OK", "D", "", "", "", "", ""
"Element#toXML()", "", "DC", "EM", "", "the resulting string may be slightly different", "", "", ""
"Element#detach()", "Element#detach()", "OK", "AD", "in XOM this element must not be a root of a document", "", "", "", ""
"Element#getBaseURI()", "", "NW", "M", "", "in XOM the result is absolutized and/or converted from IRI to URI", "", "", ""
"Element#appendChild(Node)", "Element#addContent(Content)", "OK", "AD", "", "", "", "", ""
"Element#appendChild(String)", "Element#addContent(String)", "OK", "D", "", "", "", "", ""
"Element#removeChild(int)", "Element#removeContent(int)", "OK", "AD", "", "", "", "", ""
"Element#removeChild(Node)", "Element@removeContent(Content)", "OK", "AD", "child must be a child of this element; jdom silently continues if not so", "", "", "", ""
"Element#replaceChild(Node, Node)", "", "OK", "M", "", "", "", "", ""
"Element#setBaseURI(String)", "", "NW", "M", "xom agressively checks uri for well-formedness and throws accordingly", "", "", "", ""
"Element#insertChild(Node, int)", "Element(int, Content)", "OK", "AD", "", "", "XOM throws NullPointerException where considers null to be an IllegalName", "", ""
"Element#insertChild(String, int)", "Element#addContent(int, Text)", "OK", "AD", "", "", "", "", ""
"Element#addNamespaceDeclaration(String, String)", "Element#addNamespaceDeclaration(Namespace)", "OK", "AD", "", "", "XOM throws NamespaceConflictException vs. IllegalAddException in jdom", "", ""
"Element#getAttributeValue(String)", "Element#getAttributeValue(String)", "OK", "D", "", "", "", "", ""
"Element#getAttributeValue(String, String)", "Element#getAttributeValue(String, Namespace", "OK", "AD", "", "", "XOM returns null where jdom throws on illegal attr name", "", ""
"Element#getChildElements(String, String)", "Element#getChildren(String, Namespace)", "OK", "AD", "", "", "", "", ""
"Element#getChildElements(String)", "Element#getChildren(String)", "OK", "AD", "", "", "", "", ""
"Element#getChildElements()", "Element#getChildren()", "OK", "D", "", "", "", "", ""
"Element#getFirstChildElement(String)", "", "OK", "M", "", "", "", "", ""
"Element#getFirstChildElement(String, String)", "", "OK", "M", "", "", "", "", ""
"Element#getNamespaceDeclarationCount()", "", "OK", "M", "", "TODO: check if result differs because of "additional"", "", "", ""
"Element#removeChildren()", "Element#removeContent()", "OK", "AD", "", "", "", "", ""
"Element#removeNamespaceDeclaration(String)", "Element#removeNamespaceDeclaration(Namespace)", "OK", "AD", "", "", "", "", ""
"Element#setNamespacePrefix(String)", "", "OK", "M", "", "", "", "", ""
"Element#setNamespaceURI(String)", "", "NW", "M", "", "", "", "", ""
"Element#hashCode()", "Element#hashCode()", "DC", "", "", "", "", "", ""
"Element#equals(Object)", "Element#equals(Object)", "OK", "D", "", "", "", "", ""
"Element#indexOf(Node)", "Element#indexOf(Content)", "OK", "AD", "", "", "", "", ""
"Element#getValue()", "Element#getValue()", "OK", "D", "", "", "", "", ""
"Element#getParent()", "Element#getParent()", "OK", "AD", "", "", "", "", ""
"Element#copy()", "Element#clone()", "OK", "D", "", "", "", "", ""
"Element#query(String)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"Element#query(String, XPathContext)", "", "NW", "EM", "", "unclear how XPathContext affects the result", "", "", ""
"Element#getChild(int)", "Element#getContent(int)", "OK", "AD", "", "", "", "", ""
"Element#addAttribute(Attribute)", "Element#setAttribute()", "NW", "AD", "", "", "XOM throws MultipleParentException vs IllegalAddException in jdom", "", ""
"Element#getAttribute(int)", "", "OK", "M", "", "", "", "", ""
"Element#getAttribute(String)", "Element#getAttribute(String)", "OK", "D", "", "", "", "", ""
"Element#getAttribute(String, String)", "Element#getAttribute(String, Namespace)", "OK", "AD", "", "", "XOM returns null where jdom throws on illegal attr name", "", ""
"Element#getDocument()", "Element#getDocument()", "OK", "D", "", "", "", "", ""
"Element#removeAttribute(Attribute)", "Element#removeAttribute(Attribute)", "OK", "AD", "", "", "jdom just returns false if it could not remove the attribute; XOM throws", "", ""
"Element#getAttributeCount()", "", "OK", "M", "", "", "", "", ""
"Element#getChildCount()", "getContentSize()", "OK", "AD", "", "", "", "", ""
"Element(Element)", "Element#clone()", "OK", "D", "", "", "", "", ""
"Element(String)", "Element(String)", "OK", "AD", "XOM allows prefixed names where jdom does not", "", "XOM throws NullPointerException where considers null to be an IllegalName", "", ""
"Element(String, String)", "Element(String, String, String)", "OK", "AD", "XOM allows prefixed names where jdom does not", "", "XOM throws NullPointerException where considers null to be an IllegalName", "", ""
"Elements#get(int)", "java.util.List#get(int)", "OK", "D",
Empty file.
Expand Up @@ -27,23 +27,23 @@ public class CollectFailures {
public static void main(String args[]) {
TestSuite suite = new TestSuite();
suite.addTestSuite(AttributeTest.class);
// suite.addTestSuite(AttributeTypeTest.class);
// suite.addTestSuite(BaseURITest.class);
// suite.addTestSuite(BuilderTest.class);
// suite.addTestSuite(CommentTest.class);
// suite.addTestSuite(DocTypeTest.class);
// suite.addTestSuite(DocumentTest.class);
// suite.addTestSuite(ElementTest.class);
// suite.addTestSuite(EncodingTest.class);
// suite.addTestSuite(IDTest.class);
// suite.addTestSuite(LeafNodeTest.class);
// suite.addTestSuite(NamespaceNodeTest.class);
// suite.addTestSuite(NamespacesTest.class);
// suite.addTestSuite(NodesTest.class);
// suite.addTestSuite(ParentNodeTest.class);
// suite.addTestSuite(ProcessingInstructionTest.class);
// suite.addTestSuite(TextTest.class);
// suite.addTestSuite(XPathTest.class);
suite.addTestSuite(AttributeTypeTest.class);
suite.addTestSuite(BaseURITest.class);
suite.addTestSuite(BuilderTest.class);
suite.addTestSuite(CommentTest.class);
suite.addTestSuite(DocTypeTest.class);
suite.addTestSuite(DocumentTest.class);
suite.addTestSuite(ElementTest.class);
suite.addTestSuite(EncodingTest.class);
suite.addTestSuite(IDTest.class);
suite.addTestSuite(LeafNodeTest.class);
suite.addTestSuite(NamespaceNodeTest.class);
suite.addTestSuite(NamespacesTest.class);
suite.addTestSuite(NodesTest.class);
suite.addTestSuite(ParentNodeTest.class);
suite.addTestSuite(ProcessingInstructionTest.class);
suite.addTestSuite(TextTest.class);
suite.addTestSuite(XPathTest.class);
TestRunner runner = new TestRunner();
runner.doRun(suite);
}
Expand Down

0 comments on commit 8741be0

Please sign in to comment.