[ 
https://issues.apache.org/jira/browse/HADOOP-6987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917835#action_12917835
 ] 

Jakob Homan commented on HADOOP-6987:
-------------------------------------

bq. I don't like unnecessary inheritance in tests. 
I'm not wild about them either, but one works with what one's got.

bq. what if we'll have tests which shouldn't go over 10 secs, and others (i.e. 
true unit tests) which shouldn't exceed 2 secs
The current layout in HDFS is to have separate directory trees for the 
integration and (currently sparsely populated) unit tests.  This implies we 
wouldn't be commingling the two types in the same file, and this approach is 
predicated on that assumption.  I'm ok with either approach, but if we're going 
to be combining types, we probably should collapse the directory trees sooner 
than later.

If, on the other hand, we're separating unit and integration tests into 
different files, this approach has the advantage that one can apply the rule to 
an entire file with only one line (assuming the test is JUnit 4), rather than 
having to mark each and every test case with the same annotation.  This 
approach thus has a smaller burden on the test writer and on any refactoring we 
may want to do to implement it.

Also, it would be simple enough to write a script as part of test-patch to 
verify that all tests in /unit are so marked and thus eligible to be in the 
unit category (although, it also wouldn't be prohibitively difficult to write 
one to check each @Test annotation to include a timeout value).



> Use JUnit Rule to optionally fail test cases that run more than 10 seconds
> --------------------------------------------------------------------------
>
>                 Key: HADOOP-6987
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6987
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: test
>    Affects Versions: 0.21.0
>            Reporter: Jakob Homan
>            Assignee: Jakob Homan
>             Fix For: 0.22.0
>
>         Attachments: HADOOP-6897.patch
>
>
> Using JUnit Rules annotations we can fail tests cases that take longer than 
> 10 seconds (for instance) to run.  This provides a regression check against 
> test cases taking longer than they had previously due to unintended code 
> changes, as well as provides a membership criteria for unit tests versus 
> integration tests in HDFS and MR.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to