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

Rui Shen commented on EDGENT-306:
---------------------------------

Hi Dale,

Thanks for your response during your vacation. 

Here is my method to generate the file content, which is just the usual way. 

  private void writeFileContent(File file, String[] lines) throws Exception {
    try (BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
        new FileOutputStream(file), StandardCharsets.UTF_8))) {
      for (int j = 0; j < lines.length; j++) {
        bw.write(lines[j]);
        bw.write("\n");
      }
    } catch (Exception e) {
      throw e;
    }
  }

I replace my above code with your code of writing files in 
FileStreamsTextFileWriterTest.testWriterWatcherReader(), and my test case can 
pass now, :).  And an interesting thing is that if I remove the policy setting 
from the code, it does not work any more. So looks like that I must use 
FileStreams.textFileWriter() to generate file contents and must uses policy as 
you defined. 

> With edgent Tester, failed to read file content from the newly appeared files 
> from a directory 
> -----------------------------------------------------------------------------------------------
>
>                 Key: EDGENT-306
>                 URL: https://issues.apache.org/jira/browse/EDGENT-306
>             Project: Edgent
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 0.4.0
>            Reporter: Rui Shen
>         Attachments: CopyOfFileStreamsTest.java, FileReaderApp.java, M2.png
>
>
> I got a trouble when using edgent Tester. The scenario that I am trying to 
> test is:
> 1) There is a empty directory (e.g "testdata")
> 2) Use FileStreams.directoryWatcher to watch the directory "testdata" and use 
> FileStreams.textFileReader to read content of newly appeared files in the 
> directory.
>  
> I am trying to use edgent Tester to write a unit test of this scenario (I 
> checked org.apache.edgent.test.connectors.file.FileStreamsTest and didn't 
> find such scenario). But I found my unit test always failed at reading the 
> content of newly appeared files. But if the files are pre-existing, it works. 
>  
> I attached two files. To reproduce this issue, you can run 
> testDirectoryWatcherOrder in CopyOfFileStreamsTest.java. And you will see the 
> following error. FileReaderApp.java is a standard alone version of the above 
> test scenario - it works well (once you start it, generate some files with 
> content in the directory, you can see the file content are printed in 
> console). 
>  
> So could you please let me know if this is a defect of edgent Tester or my 
> usage mistake? 



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

Reply via email to