Hello, test/org/apache/catalina/valves/rewrite/TestRewriteValve.java fails with file not found when a custom tomcat.output directory is specified in build.properties.
I have the Tomcat source code (main branch) at /workspace/src/tomcat/main (let's call it <source>), and the following in build.properties: tomcat.output=/workspace/build/tomcat/main That setup allows me to have different directories for the different active versions of Tomcat, where the leaf directory can also be 10.0.x, 9.0.x, 8.5.x, etc, and has been working well for a while. A recent update to TestRewriteValve works with the default configuration, but with my setup it fails with a FileNotFoundException. Details below [1]. I can see that with the default configuration the file is loaded from /workspace/src/tomcat/main/test/conf/TesterRewriteMapB.txt, i.e. <source>/test/conf/TesterRewriteMapB.txt, but with the custom tomcat.output the file is searched for at /workspace/build/tomcat/main/build/test/conf/TesterRewriteMapB.txt, i.e. <tomcat.output>/build/test/conf/TesterRewriteMapB.txt Is it possible to specify the file path differently so that it would work with a custom tomcat.output directory? Thanks, Igal [1] FileNotFoundException: Testcase: testRewriteMap12 took 0.011 sec Caused an ERROR Error reading text file [../../../test/conf/TesterRewriteMapB.txt] java.lang.IllegalArgumentException: Error reading text file [../../../test/conf/TesterRewriteMapB.txt] at org.apache.catalina.valves.rewrite.RandomizedTextRewriteMap.<init>(RandomizedTextRewriteMap.java:72) at org.apache.catalina.valves.rewrite.RewriteValve.parse(RewriteValve.java:619) at org.apache.catalina.valves.rewrite.RewriteValve.parse(RewriteValve.java:221) at org.apache.catalina.valves.rewrite.RewriteValve.setConfiguration(RewriteValve.java:192) at org.apache.catalina.valves.rewrite.TestRewriteValve.doTestRewrite(TestRewriteValve.java:766) at org.apache.catalina.valves.rewrite.TestRewriteValve.doTestRewrite(TestRewriteValve.java:751) at org.apache.catalina.valves.rewrite.TestRewriteValve.doTestRewrite(TestRewriteValve.java:745) at org.apache.catalina.valves.rewrite.TestRewriteValve.testRewriteMap12(TestRewriteValve.java:152) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) Caused by: java.io.FileNotFoundException: /workspace/build/tomcat/test/conf/TesterRewriteMapB.txt (No such file or directory) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:216) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:111) at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86) at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:189) at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:118) at org.apache.catalina.valves.rewrite.RandomizedTextRewriteMap.<init>(RandomizedTextRewriteMap.java:48)