You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2017/11/21 18:52:00 UTC
[jira] [Comment Edited] (HBASE-19310) Verify IntegrationTests don't
rely on Rules outside of JUnit context
[ https://issues.apache.org/jira/browse/HBASE-19310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16261272#comment-16261272 ]
Ted Yu edited comment on HBASE-19310 at 11/21/17 6:51 PM:
----------------------------------------------------------
The log is at INFO level.
Then it goes on to calling generateAndLoad().
I don't know how the test would fail early in the current formation.
was (Author: yuzhihong@gmail.com):
The log is at INFO level.
Then it goes on to calling generateAndLoad().
I don't know the test would fail early in the current formation.
> 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
>
> Attachments: HBASE-19310.001.branch-2.patch
>
>
> {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)