From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9674 invoked by alias); 8 Mar 2006 10:40:52 -0000 Received: (qmail 9651 invoked by uid 22791); 8 Mar 2006 10:40:50 -0000 X-Spam-Check-By: sourceware.org Received: from outmail128149.authsmtp.co.uk (HELO outmail128149.authsmtp.co.uk) (62.13.128.149) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 08 Mar 2006 10:40:47 +0000 Received: from [192.168.1.37] (host217-37-65-246.in-addr.btopenworld.com [217.37.65.246]) (authenticated bits=0) by squirrel.dmpriest.net.uk (8.13.3/8.13.3/Kp) with ESMTP id k28AehxD001740; Wed, 8 Mar 2006 10:40:43 GMT (envelope-from david.gilbert@object-refinery.com) Message-ID: <440EB4B7.1020709@object-refinery.com> Date: Wed, 08 Mar 2006 10:40:00 -0000 From: David Gilbert User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051013) MIME-Version: 1.0 To: mauve-patches , Mauve News Group Subject: Re: Running Mauve tests with JUnit References: <440C6BB8.90002@object-refinery.com> In-Reply-To: <440C6BB8.90002@object-refinery.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Server-Quench: fec42b92-ae8f-11da-84c5-001185d377ca X-Authentic-SMTP: 61633132333134.squirrel.dmpriest.net.uk:1.47/Kp X-Powered-By: AuthSMTP - http://www.authsmtp.com - Authenticated SMTP Mail Relay X-Report-SPAM: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-Virus-Status: No virus detected - but ensure you scan with your own anti-virus system! X-IsSubscribed: yes Mailing-List: contact mauve-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-discuss-owner@sourceware.org X-SW-Source: 2006-q1/txt/msg00052.txt.bz2 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 > > * 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. > >