bodewig     2003/07/16 06:34:14

  Modified:    src/etc/testcases/core directoryscanner.xml
               src/testcases/org/apache/tools/ant DirectoryScannerTest.java
  Log:
  Demonstrate symlink problem.
  
  With includes="alpha/beta/gamma", gamma must not be scanned if beta is
  a symlink.
  
  Fix is in the works.
  
  Revision  Changes    Path
  1.2       +7 -3      ant/src/etc/testcases/core/directoryscanner.xml
  
  Index: directoryscanner.xml
  ===================================================================
  RCS file: /home/cvs/ant/src/etc/testcases/core/directoryscanner.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- directoryscanner.xml      11 Jul 2003 12:59:29 -0000      1.1
  +++ directoryscanner.xml      16 Jul 2003 13:34:14 -0000      1.2
  @@ -1,14 +1,18 @@
   <project name="directoryscanner-test" basedir=".">
       <property name="tmp.dir" location="tmp"/>
       <target name="setup">
  -        <mkdir dir="${tmp.dir}"/>
  -        <mkdir dir="${tmp.dir}/alpha"/>
  -        <mkdir dir="${tmp.dir}/alpha/beta"/>
           <mkdir dir="${tmp.dir}/alpha/beta/gamma"/>
           <touch file="${tmp.dir}/alpha/beta/gamma/gamma.xml"/>
           <touch file="${tmp.dir}/alpha/beta/beta.xml"/>
       </target>
       <target name="cleanup">
           <delete dir="${tmp.dir}" quiet="true"/>
  +    </target>
  +
  +    <target name="symlink-setup" depends="setup">
  +        <mkdir dir="${tmp.dir}/epsilon/gamma"/>
  +        <delete dir="${tmp.dir}/alpha/beta"/>
  +        <symlink link="${tmp.dir}/alpha/beta" resource="${tmp.dir}/epsilon"/>
  +        <touch file="${tmp.dir}/alpha/beta/gamma/gamma.xml"/>
       </target>
   </project>
  
  
  
  1.15      +28 -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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- DirectoryScannerTest.java 16 Jul 2003 11:09:19 -0000      1.14
  +++ DirectoryScannerTest.java 16 Jul 2003 13:34:14 -0000      1.15
  @@ -144,6 +144,34 @@
                        new String[] {"alpha", "alpha/beta", 
"alpha/beta/gamma"});
       }
   
  +    public void testAllowSymlinks() {
  +        if (!supportsSymlinks) {
  +            return;
  +        }
  +        
  +        getProject().executeTarget("symlink-setup");
  +        DirectoryScanner ds = new DirectoryScanner();
  +        ds.setBasedir(new File(getProject().getBaseDir(), "tmp"));
  +        ds.setIncludes(new String[] {"alpha/beta/gamma/"});
  +        ds.scan();
  +        compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"},
  +                     new String[] {"alpha/beta/gamma"});
  +    }
  +
  +    public void testProhibitSymlinks() {
  +        if (!supportsSymlinks) {
  +            return;
  +        }
  +        
  +        getProject().executeTarget("symlink-setup");
  +        DirectoryScanner ds = new DirectoryScanner();
  +        ds.setBasedir(new File(getProject().getBaseDir(), "tmp"));
  +        ds.setIncludes(new String[] {"alpha/beta/gamma/"});
  +        ds.setFollowSymlinks(false);
  +        ds.scan();
  +        compareFiles(ds, new String[] {}, new String[] {});
  +    }
  +
       // 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]

Reply via email to