From: David Gilbert <david.gilbert@object-refinery.com>
To: mauve-patches <mauve-patches@sources.redhat.com>,
Mauve News Group <mauve-discuss@sources.redhat.com>
Subject: Re: Running Mauve tests with JUnit
Date: Wed, 08 Mar 2006 10:40:00 -0000 [thread overview]
Message-ID: <440EB4B7.1020709@object-refinery.com> (raw)
In-Reply-To: <440C6BB8.90002@object-refinery.com>
I didn't get any feedback about this...anyone think it is a good/bad idea?
Regards,
Dave
David Gilbert wrote:
> Hi All,
>
> A while back there was some discussion about converting Mauve tests to
> run under JUnit. I did some experimentation and have put together the
> following patch that shows one approach to making this work. I
> created a new JUnitRunnable class which makes it possible to run a
> Mauve testlet under JUnit (as well as continuing to support the
> standard Mauve runners). It requires that the existing testlets be
> modified to 'extend JUnitRunnable' (or, where this isn't possible, an
> alternative JUnitWrapper class can be used, see AttributeSetTests.java
> for an example). The patch includes conversion of the tests in the
> javax.swing.text.* package so you can at least try it out - if this
> patch is approved, I also have done the conversion of all the Swing
> tests (roughly 25% of Mauve I think).
>
> Here is a link to the patch, it's probably over the size limit for the
> mailing list (the ChangeLog entry is at the end of this e-mail):
>
> http://www.object-refinery.com/classpath/diff.txt
>
> I'm actually indifferent about whether or not this patch is accepted,
> I find Mauve slightly easier to work with relative to JUnit for the
> type of tests we write for GNU Classpath and plan to continue writing
> tests in the Mauve format. Anyway, here's the pros and cons that I
> can think of, please feel free to add to the list:
>
> Pros:
> - JUnit is integrated with Eclipse, so it can be used to run Mauve
> tests easily for developers that work in Eclipse;
> - most Java developers are familiar with JUnit, so Mauve may reach a
> wider audience;
> - other tools can work with JUnit (although I haven't used any of them
> - does anyone know of a JUnit runner that can produce comparisons of
> two runs? I'm interested in (a) regression reports (e.g. CVS vs last
> release) and (b) comparison reports (GNU Classpath vs Sun JDK1.5));
>
> Cons:
> - a lot of work to modify the remaining tests in Mauve;
> - one extra step to make Mauve tests that run with both JUnit and
> Mauve test runners - it's pretty easy, but still a mental step that
> new contributors to Mauve will have to learn;
> - there is a possibility that some developers will write new tests
> against JUnit only, so we'll lose the ability to run all tests with
> the Mauve runners (which I think provide better detail on failures);
>
> Oh, and someone mentioned that the JUnit licence is not GPL
> compatible, so I compiled the tests against the GPLed code here:
>
> http://cvs.sourceforge.net/viewcvs.py/freenet/Contrib/junit/
>
> I had to add a no-arg constructor for the TestCase class, then the
> tests compiled OK. And I can use the SimpleTestRunner to run a single
> test (this could do with some more work though).
>
> Please comment!
>
> Regards,
>
> Dave
>
> P.S. Here is the ChangeLog entry:
>
> 2006-03-06 David Gilbert <david.gilbert@object-refinery.com>
>
> * gnu/testlet/JUnitRunnable.java: New file,
> * gnu/testlet/JUnitTestHarness.java: Likewise,
> * gnu/testlet/JUnitTestWrapper.java: Likewise,
> * gnu/testlet/JUnitWrapper.java: Likewise,
> * gnu/testlet/javax/swing/text/PackageTestSuite.java: Likewise,
> *
> gnu/testlet/javax/swing/text/AbstractDocument/AbstractDocumentTest.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/AbstractDocument/AbstractDocumentTests.java:
> New file,
> * gnu/testlet/javax/swing/text/AbstractDocument/ElementChange.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/AbstractDocument/ElementChange2.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/BranchElementTest.java:
> Updated header,
> *
> gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/BranchElementTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/AbstractDocument/BranchElement/getElementIndexNullPointer.java:
> Now extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/AttributeSet/AttributeSetTests.java:
> New file,
> * gnu/testlet/javax/swing/text/BoxView/BoxViewTests.java: Likewise,
> * gnu/testlet/javax/swing/text/BoxView/spans.java: Now extends
> JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/DefaultEditorKit/DefaultEditorKitTests.java:
> New file,
> * gnu/testlet/javax/swing/text/DefaultEditorKit/getActions.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/DefaultFormatter/DefaultFormatterTests.java:
> New file,
> * gnu/testlet/javax/swing/text/DefaultFormatter/getValueClass.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/DefaultStyledDocument/DefaultStyledDocumentTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/DefaultStyledDocument/insertString.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementBufferTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/ElementIterator/ElementIteratorTest.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/ElementIterator/ElementIteratorTests.java:
> New file,
> * gnu/testlet/javax/swing/text/FlowView/FlowViewTests.java: New file,
> * gnu/testlet/javax/swing/text/FlowView/getFlowAxis.java: Now
> extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/GapContent/GapContentTest.java:
> Likewise,
> * gnu/testlet/javax/swing/text/GapContent/GapContentTests.java: New
> file,
> * gnu/testlet/javax/swing/text/GapContent/PositionTest.java: Now
> extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/GapContent/constructors.java: Likewise,
> * gnu/testlet/javax/swing/text/GapContent/createPosition.java:
> Likewise,
> * gnu/testlet/javax/swing/text/GapContent/getChars.java: Likewise,
> * gnu/testlet/javax/swing/text/GapContent/getString.java: Likewise,
> * gnu/testlet/javax/swing/text/GapContent/insertString.java: Likewise,
> * gnu/testlet/javax/swing/text/GapContent/length.java: Likewise,
> * gnu/testlet/javax/swing/text/GapContent/remove.java: Likewise,
> *
> gnu/testlet/javax/swing/text/InternationalFormatter/InternationalFormatterTest.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/InternationalFormatter/InternationalFormatterTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/MaskFormatter/MaskFormatterTest.java: Now
> extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/MaskFormatter/MaskFormatterTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/PlainDocument/PlainDocumentTest.java: Now
> extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/PlainDocument/PlainDocumentTests.java:
> New file,
> * gnu/testlet/javax/swing/text/PlainDocument/createPosition.java:
> Now extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/PlainDocument/getLength.java: Likewise,
> * gnu/testlet/javax/swing/text/PlainDocument/getRootElements.java:
> Likewise,
> * gnu/testlet/javax/swing/text/PlainDocument/getText.java: Likewise,
> * gnu/testlet/javax/swing/text/PlainDocument/insertString.java:
> Likewise,
> * gnu/testlet/javax/swing/text/PlainDocument/multipleLeafs.java:
> Likewise,
> * gnu/testlet/javax/swing/text/PlainDocument/remove.java: Likewise,
> *
> gnu/testlet/javax/swing/text/PlainDocument/removeJoinesLines.java:
> Likewise,
> * gnu/testlet/javax/swing/text/Segment/SegmentTests.java: New file,
> * gnu/testlet/javax/swing/text/Segment/clone.java: Now extends
> JUnitRunnable,
> * gnu/testlet/javax/swing/text/Segment/constructors.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/first.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/getBeginIndex.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/getEndIndex.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/getIndex.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/isPartialReturn.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/last.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/next.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/previous.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/setIndex.java: Likewise,
> * gnu/testlet/javax/swing/text/Segment/setPartialReturn.java:
> Likewise,
> * gnu/testlet/javax/swing/text/Segment/toString(), Likewise,
> *
> gnu/testlet/javax/swing/text/SimpleAttributeSet/SimpleAttributeSetTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/StringContent/BadLocationExceptionTest.java:
> Now extends JUnitRunnable,
> *
> gnu/testlet/javax/swing/text/StringContent/StringContentTest.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/StringContent/StringContentTests.java:
> New file,
> * gnu/testlet/javax/swing/text/StringContent/constructors.java: Now
> extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/StringContent/createPosition.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StringContent/getChars.java: Likewise,
> * gnu/testlet/javax/swing/text/StringContent/getString.java: Likewise,
> * gnu/testlet/javax/swing/text/StringContent/insertString.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StringContent/insertUndo.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StringContent/length.java: Likewise,
> * gnu/testlet/javax/swing/text/StringContent/remove.java: Likewise,
> * gnu/testlet/javax/swing/text/StringContent/removeUndo.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StringContent/stickyPosition.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/StyleConstants/StyleConstantsTests.java:
> New file,
> * gnu/testlet/javax/swing/text/StyleConstants/constants.java: Now
> extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/StyleConstants/getAlignment.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getBackground.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getBidiLevel.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getComponent.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/StyleConstants/getFirstLineIndent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getFontFamily.java:
> Liekwise,
> * gnu/testlet/javax/swing/text/StyleConstants/getFontSize.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getForeground.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getIcon.java: Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getLeftIndent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getLineSpacing.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getRightIndent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getSpaceAbove.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getSpaceBelow.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/getTabSet.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/isBold.java: Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/isItalic.java: Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/isStrikeThrough.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/isSubscript.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/isSuperscript.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/isUnderline.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setAlignment.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setBackground.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setBidiLevel.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setBold.java: Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setComponent.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/StyleConstants/setFirstLineIndent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setFontFamily.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setFontSize.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setForeground.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setIcon.java: Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setItalic.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setLeftIndent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setLineSpacing.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setRightIndent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setSpaceAbove.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setSpaceBelow.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/StyleConstants/setStrikeThrough.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setSubscript.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setSuperscript.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setTabSet.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleConstants/setUnderline.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleContext/NamedStyleInit.java:
> Likewise,
> *
> gnu/testlet/javax/swing/text/StyleContext/NamedStyleSetResolveParent.java:
> Likewise,
> * gnu/testlet/javax/swing/text/StyleContext/StyleContextTests.java:
> New file,
> * gnu/testlet/javax/swing/text/StyleContext/addAttribute.java: Now
> extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/StyleContext/addStyle.java: Likewise,
> *
> gnu/testlet/javax/swing/text/StyledEditorKit/StyledEditorKitTests.java:
> New file,
> *
> gnu/testlet/javax/swing/text/StyledEditorKit/createInputAttributesTest.java:
> Now extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/TextAction/TextActionTests.java: New
> file,
> * gnu/testlet/javax/swing/text/TextAction/augmentList.java: Now
> extends JUnitRunnable,
> * gnu/testlet/javax/swing/text/View/ViewTests.java: New file,
> * gnu/testlet/javax/swing/text/View/getAlignment.java: Now extends
> JUnitRunnable,
> * gnu/testlet/javax/swing/text/View/getMaximumSpan.java: Likewise,
> * gnu/testlet/javax/swing/text/View/getMinimumSpan.java: Likewise,
> * gnu/testlet/javax/swing/text/View/getResizeWeight.java: Likewise.
>
>
next prev parent reply other threads:[~2006-03-08 10:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-06 17:05 David Gilbert
2006-03-08 10:40 ` David Gilbert [this message]
2006-03-08 11:08 ` Michael Koch
[not found] ` <20060308120721.GA7569@pogo.kaffe.org>
2006-03-08 13:21 ` David Gilbert
2006-03-08 19:07 ` Dalibor Topic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=440EB4B7.1020709@object-refinery.com \
--to=david.gilbert@object-refinery.com \
--cc=mauve-discuss@sources.redhat.com \
--cc=mauve-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).