hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-19310) Verify IntegrationTests don't rely on Rules outside of JUnit context
Date Mon, 20 Nov 2017 22:47:00 GMT
Josh Elser created HBASE-19310:
----------------------------------

             Summary: Verify IntegrationTests don't rely on Rules outside of JUnit context
                 Key: HBASE-19310
                 URL: https://issues.apache.org/jira/browse/HBASE-19310
             Project: HBase
          Issue Type: Bug
          Components: integration tests
            Reporter: Romil Choksi
            Assignee: Josh Elser
            Priority: Critical
             Fix For: 2.0.0-beta-1


{noformat}
2017-11-16 00:43:41,204 INFO  [main] mapreduce.IntegrationTestImportTsv: Running test testGenerateAndLoad.
Exception in thread "main" java.lang.NullPointerException
  at org.apache.hadoop.hbase.TableName.valueOf(TableName.java:461)
  at org.apache.hadoop.hbase.mapreduce.IntegrationTestImportTsv.testGenerateAndLoad(IntegrationTestImportTsv.java:189)
  at org.apache.hadoop.hbase.mapreduce.IntegrationTestImportTsv.run(IntegrationTestImportTsv.java:229)
  at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
  at org.apache.hadoop.hbase.mapreduce.IntegrationTestImportTsv.main(IntegrationTestImportTsv.java:239)
{noformat}

(Potential line-number skew)

{code}
  @Test
  public void testGenerateAndLoad() throws Exception {
    LOG.info("Running test testGenerateAndLoad.");
    final TableName table = TableName.valueOf(name.getMethodName());
{code}

The JUnit framework sets the test method name inside of the JUnit {{Rule}}. When we invoke
the test directly (ala {{hbase org.apache.hadoop.hbase.mapreduce.IntegrationTestImportTsv}}),
this {{getMethodName()}} returns {{null}} and we get the above stacktrace.

Should make a pass over the ITs with main methods and {{Rule}}s to make sure we don't have
this lurking. Another alternative is to just remove the main methods and just force use of
{{IntegrationTestsDriver}} instead.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message