[
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)