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

Andrew Wang commented on HDFS-12398:
------------------------------------

Hi Huafeng, agree that this doesn't reduce duplication much, my idea was to 
split it into multiple classes to avoid the Surefire class-level timeout.

As an example, right now we have a bunch of test methods that look like this:

{code}
  @Test
  public void testFileMoreThanABlockGroup1() throws Exception {
    testOneFileUsingDFSStripedInputStream("/ec/MoreThanABlockGroup1",
        blockSize * dataBlocks + 123);
    testOneFileUsingDFSStripedInputStream("/ec/MoreThanABlockGroup12",
        blockSize * dataBlocks + 123, true);
  }
....
  private void testOneFileUsingDFSStripedInputStream(String src, int fileLength)
      throws Exception {
    testOneFileUsingDFSStripedInputStream(src, fileLength, false);
  }
{code}

We could change it as follows:

{code:title=Parent.java}
  @Test
  public void testFileMoreThanABlockGroup1() throws Exception {
    testOneFileUsingDFSStripedInputStream("/ec/MoreThanABlockGroup1",
        blockSize * dataBlocks + 123);
  }
....
  protected void testOneFileUsingDFSStripedInputStream(String src, int 
fileLength)
      throws Exception {
    testOneFileUsingDFSStripedInputStream(src, fileLength, false);
  }
{code}

{code:title=Subclass.java}
  @Override
  protected void testOneFileUsingDFSStripedInputStream(String src, int 
fileLength)
      throws Exception {
    testOneFileUsingDFSStripedInputStream(src, fileLength, true);
  }
{code}

We could combine with JUnit parameterization if you want, seems like Kai had 
some reservations though. Personally I'm okay parameterizing; it's harder to 
run a single test case on the commandline, but IntelliJ IDEA knows how to do 
this.

> Use JUnit Paramaterized test suite in TestWriteReadStripedFile
> --------------------------------------------------------------
>
>                 Key: HDFS-12398
>                 URL: https://issues.apache.org/jira/browse/HDFS-12398
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: test
>            Reporter: Huafeng Wang
>            Assignee: Huafeng Wang
>            Priority: Trivial
>              Labels: flaky-test
>         Attachments: HDFS-12398.001.patch, HDFS-12398.002.patch
>
>
> The TestWriteReadStripedFile is basically doing the full product of file size 
> with data node failure or not. It's better to use JUnit Paramaterized test 
> suite.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to