modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftDetector.java | 3 ++- modules/core/plugin-container/src/test/java/org/rhq/core/pc/drift/FilterFileVisitorTest.java | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-)
New commits: commit e27fe0d95627f061e9c9c9253d656f20662234cf Author: Jay Shaughnessy jshaughn@redhat.com Date: Fri Jun 22 12:01:04 2012 -0400
Fix test that was failingon Linux because it wasn't properly normalizing the include filter's basedir path. This was a test-only problem and does not affect production code.
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftDetector.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftDetector.java index 1c9e50c..92042e7 100644 --- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftDetector.java +++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftDetector.java @@ -404,7 +404,8 @@ public class DriftDetector implements Runnable { } }
- private Set<File> getScanDirectories(final File basedir, List<Filter> includes) { + // package-private for test accessibility + static Set<File> getScanDirectories(final File basedir, List<Filter> includes) {
Set<File> directories = new HashSet<File>();
diff --git a/modules/core/plugin-container/src/test/java/org/rhq/core/pc/drift/FilterFileVisitorTest.java b/modules/core/plugin-container/src/test/java/org/rhq/core/pc/drift/FilterFileVisitorTest.java index a654607..8d31a82 100644 --- a/modules/core/plugin-container/src/test/java/org/rhq/core/pc/drift/FilterFileVisitorTest.java +++ b/modules/core/plugin-container/src/test/java/org/rhq/core/pc/drift/FilterFileVisitorTest.java @@ -31,8 +31,10 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Set;
import org.apache.commons.io.FileUtils; +import org.testng.Assert; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test;
@@ -71,6 +73,7 @@ public class FilterFileVisitorTest { visitor.visitedFiles, "Visitor should be called for every file when no filters specified"); }
+ // This could be a DriftDetectorTest but fits well here. @Test public void visitBaseDirFilesThatMatchFilters() throws Exception { File fooJar = touch(basedir, "foo.jar"); @@ -78,11 +81,15 @@ public class FilterFileVisitorTest { File myapp = touch(basedir, "myapp.war"); touch(basedir, "bar.jar");
+ // These filter paths should all normalize to the same directory List<Filter> includes = asList(new Filter(".", "foo*"), new Filter("./", "*.war"), new Filter("/", "goo*")); List<Filter> excludes = emptyList(); TestVisitor visitor = new TestVisitor();
- forEachFile(basedir, new FilterFileVisitor(basedir, includes, excludes, visitor)); + // This call normalizes the basedir. + Set<File> dirs = DriftDetector.getScanDirectories(basedir, includes); + Assert.assertEquals(dirs.size(), 1, "Should just be the basedir"); + forEachFile(dirs.iterator().next(), new FilterFileVisitor(basedir, includes, excludes, visitor));
assertCollectionEqualsNoOrder(asList(fooJar, gooJar, myapp), visitor.visitedFiles, "Filtering failed with multiple includes and no excludes");
rhq-commits@lists.fedorahosted.org