I’ve added some system.out calls. What I am seeing on OS/X is that FileUtils.fileFromURI tests for the files existence. If it exists it uses that file name. If it does not exist it calls URLDecoder.decode(fileName, “UTF-8”) and uses that to create the file object. The decode method replaces “+” characters with spaces, which is precisely what causes the assertion failure.
I suspect the reason it is failing is because of the workspace name “Log4j 2.x”, which contains a URI encoded blank character. It seems to me there is something not quite right with the fix for LOG4J2-466. It appears to appending a non-URL-encoded relative path to a URL encoded path. It would seem that neither the “new uri” or “Decoded fileName” would actually exist. Here is the OS/X output: Running org.apache.logging.log4j.core.util.FileUtilsTest new uri: file:/Users/rgoers/projects/apache/logging/log4j/log4j2/master/log4j-core/NON-EXISTING-PATH/this+file+does+not+exist.xml Decoded fileName: /Users/rgoers/projects/apache/logging/log4j/log4j2/master/log4j-core/NON-EXISTING-PATH/this file does not exist.xml new uri: file:/Users/rgoers/projects/apache/logging/log4j/log4j2/master/log4j-core/target/test-classes/log4j+config+with+plus+characters.xml FileName: /Users/rgoers/projects/apache/logging/log4j/log4j2/master/log4j-core/target/test-classes/log4j+config+with+plus+characters.xml Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.apache.logging.log4j.core.util.FileUtilsTest and the output from Jenkins: Running org.apache.logging.log4j.core.util.FileUtilsTest new uri: file:/home/jenkins/jenkins-slave/workspace/Log4j%202.x/log4j-core/NON-EXISTING-PATH/this+file+does+not+exist.xml Decoded fileName: /home/jenkins/jenkins-slave/workspace/Log4j 2.x/log4j-core/NON-EXISTING-PATH/this file does not exist.xml new uri: file:/home/jenkins/jenkins-slave/workspace/Log4j%202.x/log4j-core/target/test-classes/log4j+config+with+plus+characters.xml Decoded fileName: /home/jenkins/jenkins-slave/workspace/Log4j 2.x/log4j-core/target/test-classes/log4j config with plus characters.xml Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec <<< FAILURE! - in org.apache.logging.log4j.core.util.FileUtilsTest testFileFromUriWithPlusCharactersInName(org.apache.logging.log4j.core.util.FileUtilsTest) Time elapsed: 0.008 sec <<< FAILURE! org.junit.ComparisonFailure: expected:<log4j[+config+with+plus+]characters.xml> but was:<log4j[ config with plus ]characters.xml> at org.junit.Assert.assertEquals(Assert.java:115) at org.junit.Assert.assertEquals(Assert.java:144) at org.apache.logging.log4j.core.util.FileUtilsTest.testFileFromUriWithPlusCharactersInName(FileUtilsTest.java:44) Ralph > On May 3, 2015, at 10:56 AM, Gary Gregory <garydgreg...@gmail.com> wrote: > > I've added more asserts to > org.apache.logging.log4j.core.util.FileUtilsTest.testFileExistsWithPlusCharactersInName(). > > It all works for me on Oracle Java 6 and 7 (all 64 bit) on Windows. > > Must some Linux vs Windows thing? > > Gary > > On Sun, May 3, 2015 at 1:59 AM, Gary Gregory <garydgreg...@gmail.com > <mailto:garydgreg...@gmail.com>> wrote: > I added this test to help debug: > org.apache.logging.log4j.core.util.FileUtilsTest.testFileExistsWithPlusCharactersInName() > > Going to bed now... 2am :-( Sorry I cannot help more ATM. > > Gary > > On Sun, May 3, 2015 at 12:13 AM, Ralph Goers <ralph.go...@dslextreme.com > <mailto:ralph.go...@dslextreme.com>> wrote: > I modified the configuration to use Java 7. These are the results. > > Ralph > > > On May 3, 2015, at 12:11 AM, Apache Jenkins Server > > <jenk...@builds.apache.org <mailto:jenk...@builds.apache.org>> wrote: > > > > See <https://builds.apache.org/job/Log4j%202.x/changes > > <https://builds.apache.org/job/Log4j%202.x/changes>> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > > <mailto:log4j-dev-unsubscr...@logging.apache.org> > > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > > <mailto:log4j-dev-h...@logging.apache.org> > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > <mailto:log4j-dev-unsubscr...@logging.apache.org> > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > <mailto:log4j-dev-h...@logging.apache.org> > > > > > -- > E-Mail: garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> | > ggreg...@apache.org <mailto:ggreg...@apache.org> > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> > > > -- > E-Mail: garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> | > ggreg...@apache.org <mailto:ggreg...@apache.org> > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>