lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-3762) Upgrade JUnit to 4.10, refactor state-machine of detecting setUp/tearDown call chaining.
Date Fri, 10 Feb 2012 12:11:59 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13205380#comment-13205380
] 

Robert Muir commented on LUCENE-3762:
-------------------------------------

about the assumes() etc from setup, in general exceptions/assumes, I think we would like them
to be treated the same whether they happen in the actual test method body or setup or teardown?

So like today, the buggy behavior is that if an assumption fails from a test method itself,
we get a message to stderr:
NOTE: Assume failed in 'testFoo' (ignored): Some message explaining why this is ok!

But, if it fails in setup, we get no message at all!

The reason I think it was hard was because of how the TestWatcher didn't get an event if it
failed in setup, so we didnt have a clean way to 
do this... but maybe its something we can fix in junit 4.8+ (doesn't need to be done on this
issue!)

                
> Upgrade JUnit to 4.10, refactor state-machine of detecting setUp/tearDown call chaining.
> ----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-3762
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3762
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Dawid Weiss
>            Assignee: Dawid Weiss
>            Priority: Trivial
>             Fix For: 3.6, 4.0
>
>         Attachments: LUCENE-3762.patch, LUCENE-3762.patch
>
>
> Both Lucene and Solr use JUnit 4.7. I suggest we move forward and upgrade to JUnit 4.10
which provides several infrastructural changes (serializable Description objects, class-level
rules, various tweaks). JUnit 4.10 also changes (or fixes, depends how you look at it) the
order in which @Before/@After hooks and @Rules are applied. This makes the old state-machine
in LuceneTestCase fail (because the order is changed).
> I rewrote the state machine and used a different, I think simpler, although Uwe may disagree
:), mechanism in which the hook methods setUp/ tearDown are still there, but they are empty
at the top level and serve only to detect whether subclasses chain super.setUp/tearDown properly
(if they override anything).
> In the long term, I would love to just get rid of public setup/teardown methods and make
them private (so that they cannot be overriden or even seen by subclasses) but this will require
changes to the runner itself.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message