Concerning the case insensitive scanning : - As a very short term fix, one can bypass the checkIncludePatterns routine and call scandir(basedir, "", true) in the case of case insensitive scanning.
- The other possibility is to write (for instance in FileUtils) a routine of the type public static File findFileCaseInsensitive(File basedir, String child) which internally would try all uppercase/lowercase combinations of child and return null if the file cannot be found, or otherwise the sought file. Would this be OK ? Antoine ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, July 16, 2003 1:09 PM Subject: cvs commit: ant/src/testcases/org/apache/tools/ant DirectoryScannerTest.java > bodewig 2003/07/16 04:09:22 > > Modified: src/testcases/org/apache/tools/ant DirectoryScannerTest.java > Log: > Add tests for case insensitive matching. > > Both tests with CaseInsensitive in their name fail on Linux, I expect > test2ButCaseInsesitive to pass on case insensitive file systems. > > Will be either fixed or disabled shortly. > > Revision Changes Path > 1.14 +29 -0 ant/src/testcases/org/apache/tools/ant/DirectoryScannerTest.java > > Index: DirectoryScannerTest.java > =================================================================== > RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/DirectoryScannerTest.java,v > retrieving revision 1.13 > retrieving revision 1.14 > diff -u -r1.13 -r1.14 > --- DirectoryScannerTest.java 16 Jul 2003 10:57:56 -0000 1.13 > +++ DirectoryScannerTest.java 16 Jul 2003 11:09:19 -0000 1.14 > @@ -115,6 +115,35 @@ > "alpha/beta/gamma"}); > } > > + public void testFullPathMatchesCaseSensitive() { > + DirectoryScanner ds = new DirectoryScanner(); > + ds.setBasedir(new File(getProject().getBaseDir(), "tmp")); > + ds.setIncludes(new String[] {"alpha/beta/gamma/GAMMA.XML"}); > + ds.scan(); > + compareFiles(ds, new String[] {}, new String[] {}); > + } > + > + public void testFullPathMatchesCaseInsensitive() { > + DirectoryScanner ds = new DirectoryScanner(); > + ds.setCaseSensitive(false); > + ds.setBasedir(new File(getProject().getBaseDir(), "tmp")); > + ds.setIncludes(new String[] {"alpha/beta/gamma/GAMMA.XML"}); > + ds.scan(); > + compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, > + new String[] {}); > + } > + > + public void test2ButCaseInsesitive() { > + DirectoryScanner ds = new DirectoryScanner(); > + ds.setBasedir(new File(getProject().getBaseDir(), "tmp")); > + ds.setIncludes(new String[] {"ALPHA/"}); > + ds.setCaseSensitive(false); > + ds.scan(); > + compareFiles(ds, new String[] {"alpha/beta/beta.xml", > + "alpha/beta/gamma/gamma.xml"}, > + new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); > + } > + > // father and child pattern test > public void testOrderOfIncludePatternsIrrelevant() { > String [] expectedFiles = {"alpha/beta/beta.xml", > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]