[MSHARED-58] FileSetManager.delete() fails to delete dangling symlinks
o Added to test to prove fix from PLXUTILS-28
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@691750 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java b/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java
index 5132a4e..1b8b0c1 100644
--- a/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java
+++ b/src/test/java/org/apache/maven/shared/model/fileset/util/FileSetUtilsTest.java
@@ -168,6 +168,34 @@
}
/**
+ * @throws Exception if any
+ */
+ public void testDeleteDanglingSymlink()
+ throws Exception
+ {
+ File directory = setupTestDirectory( "testDeleteDanglingSymlink" );
+ File targetFile = new File( directory, "test.txt" );
+ File linkFile = new File( directory, "symlink" );
+
+ if ( !createSymlink( targetFile, linkFile ) )
+ {
+ // symlinks apparently not supported, skip test
+ return;
+ }
+ targetFile.delete();
+
+ FileSet set = new FileSet();
+ set.setDirectory( directory.getPath() );
+ set.addInclude( "**" );
+
+ FileSetManager fileSetManager = new FileSetManager();
+
+ fileSetManager.delete( set );
+
+ Assert.assertFalse( "directory still exists", directory.exists() );
+ }
+
+ /**
* @param from
* @param to
* @return
@@ -184,9 +212,9 @@
Commandline cli = new Commandline();
cli.setExecutable( "ln" );
- cli.createArgument().setLine( "-s" );
- cli.createArgument().setLine( from.getPath() );
- cli.createArgument().setLine( to.getPath() );
+ cli.createArg().setLine( "-s" );
+ cli.createArg().setLine( from.getPath() );
+ cli.createArg().setLine( to.getPath() );
int result = cli.execute().waitFor();
diff --git a/src/test/resources/testDeleteDanglingSymlink/test.txt b/src/test/resources/testDeleteDanglingSymlink/test.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/test/resources/testDeleteDanglingSymlink/test.txt