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(a)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");
Show replies by date