Josh Elser commented on HBASE-20136:

{quote}So I do not think it is necessary to improve the test rule to handle the 
case where we miss the category since if you miss that one, you will not be 
I'm a bit confused then, Duo. By that logic, you're saying that you're OK with 
folks committing tests that don't have a Category?

Agree with you that we only run tests that have Categories. My understanding is 
that this RuleChecker is the replacement to the old unit test (I forget the 
name) to verify that each and every test has a Category. By that approach, our 
verification logic is flawed and we're allowing this test to exist but never be 

> TestKeyValue misses ClassRule and Category annotations
> ------------------------------------------------------
>                 Key: HBASE-20136
>                 URL: https://issues.apache.org/jira/browse/HBASE-20136
>             Project: HBase
>          Issue Type: Test
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Minor
>              Labels: CE
>         Attachments: 20136.addendum, 20136.v1.txt, 20136.v2.txt
> hbase-common/src/test/java/org/apache/hadoop/hbase/TestKeyValue.java misses 
> ClassRule and Category annotations.
> TestKeyValue was flagged by internal RE which used mvn command that is 
> different from what Apache Jenkins uses.
> {code}
> mvn -B -nsu test -Dtest=TestKeyValue --projects :hbase-common
> {code}
> ArrayIndexOutOfBoundsException from HBaseClassTestRuleChecker was observed in 
> snippet from dump file:
> {code}
> # Created on 2018-03-05T22:25:50.252
> org.apache.maven.surefire.testset.TestSetFailedException: Test mechanism :: 0
>       at 
> org.apache.maven.surefire.common.junit4.JUnit4RunListener.rethrowAnyTestMechanismFailures(JUnit4RunListener.java:223)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:168)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:334)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:119)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:407)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
>       at 
> org.apache.hadoop.hbase.HBaseClassTestRuleChecker.testStarted(HBaseClassTestRuleChecker.java:45)
>       at 
> org.junit.runner.notification.RunNotifier$3.notifyListener(RunNotifier.java:121)
>       at 
> org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
>       at 
> org.junit.runner.notification.RunNotifier.fireTestStarted(RunNotifier.java:118)
> {code}
> This issue adds the annotations to this test.
> The test passes with annotations added.
> I have searched code base but didn't find other test which misses test 
> category.

This message was sent by Atlassian JIRA

Reply via email to