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

Zoltan Farkas commented on AVRO-1577:
-------------------------------------

can wherever a file deletion is being done changed to:

        if (!this.outputFile.delete()) {
          throw new RuntimeException("cannot delete " + this.outputFile);
        }

this will make the code more robust.

also IOUtils.closeQuietly not really needed here (and the extra dependency), 
code can be written instead:

  BufferedReader reader = new BufferedReader(new FileReader(this.outputFile));
    try {
      reader = new BufferedReader(new FileReader(this.outputFile));
      String line = null;
      while ((line = reader.readLine()) != null) {
        // No line, once trimmed, should start with a deprecated field 
declaration
        // nor a private field declaration.  Since the nested builder uses 
private
        // fields, we cannot do the second check.
        line = line.trim();
        assertFalse("Line started with a deprecated field declaration: " + line,
          line.startsWith("@Deprecated public int value"));
      }
    } finally {
       reader.close();
    }


we should consider using findbugs as part of the build, issues like this can be 
avoided.


> TestSpecificCompiler is not closing resources
> ---------------------------------------------
>
>                 Key: AVRO-1577
>                 URL: https://issues.apache.org/jira/browse/AVRO-1577
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.7.7
>         Environment: Windows
>            Reporter: Stevo Slavic
>             Fix For: 1.8.0
>
>         Attachments: AVRO-1577.patch
>
>
> Test methods in {{TestSpecificCompiler}} are opening various {{Closable}} 
> resources, but they are not closing them. Because of this, file deletion in 
> {{tearDown}} silently fails (on platforms like Windows which are locking 
> files that are being used). This causes few test methods to fail since they 
> are using same temp file as output file - they generate new file content but 
> only if file is not already present, and then assertions comparing actual and 
> expected output content fail.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to