[ 
https://issues.apache.org/jira/browse/NIFI-3454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Otto Fowler updated NIFI-3454:
------------------------------
    Description: 
DS_Store files [https://en.wikipedia.org/wiki/.DS_Store]  may be present in any 
directory on Mac OS X. 

Any call made to getURLsForClasspath  or getCustomClassLoader passing 
directories an not jars for modules will return these files as urls unless they 
are specifically filtered out using the FileNameFilter parameter.

The FileNameFilter parameter to these functions can be used to protect against 
this, and be sure the URL's returned are for the expected items.  In fact there 
is a function  getJarFilenameFilter in the TestClassloaderUtils already, that 
is used by the getCustomClassloader tests.

This function should be used in all of the tests.  Without it, NiFi builds that 
enable tests will fail on Mac OS X if .DS_Store files exist in the testing 
directory.

        



  was:
testGetURLsForClasspathWithDirectory

DS_Store files [https://en.wikipedia.org/wiki/.DS_Store]  may be present in any 
directory on Mac OS X. 

Any call made to getURLsForClasspath will return these files as urls unless 
they are specifically filtered out using the FileNameFilter parameter.

testGetURLsForClasspathWithDirectory does not pass in a filter and thus fails 
it's assertion with the wrong number of urls returned.  This results in a 
failure of Nifi to build with tests enabled.

The fix for this is to pass a filter from the test function which will limit 
the urls to not null names, and names that end in .jar.

This is the approach taken in other areas of the code such as 
DBCPConnectionPool and JoltTransformJSON


> testGetURLsForClasspathWithDirectory fails on Mac OS X if .DS_Store files are 
> present
> -------------------------------------------------------------------------------------
>
>                 Key: NIFI-3454
>                 URL: https://issues.apache.org/jira/browse/NIFI-3454
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Tools and Build
>    Affects Versions: 1.1.1
>         Environment: Mac OS X ( any version )  Java 1.8.0_31  Maven 3.3.9
>            Reporter: Otto Fowler
>
> DS_Store files [https://en.wikipedia.org/wiki/.DS_Store]  may be present in 
> any directory on Mac OS X. 
> Any call made to getURLsForClasspath  or getCustomClassLoader passing 
> directories an not jars for modules will return these files as urls unless 
> they are specifically filtered out using the FileNameFilter parameter.
> The FileNameFilter parameter to these functions can be used to protect 
> against this, and be sure the URL's returned are for the expected items.  In 
> fact there is a function  getJarFilenameFilter in the TestClassloaderUtils 
> already, that is used by the getCustomClassloader tests.
> This function should be used in all of the tests.  Without it, NiFi builds 
> that enable tests will fail on Mac OS X if .DS_Store files exist in the 
> testing directory.
>         



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to