Author: maartenc
Date: Tue Mar 30 20:01:55 2010
New Revision: 929239

URL: http://svn.apache.org/viewvc?rev=929239&view=rev
Log:
FIX: Transitive dependencies resolutions issue when eviction is triggered 
(IVY-1178)

Modified:
    ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java

Modified: 
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?rev=929239&r1=929238&r2=929239&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java 
(original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java 
Tue Mar 30 20:01:55 2010
@@ -3310,6 +3310,33 @@ public class ResolveTest extends TestCas
                 .exists());
     }
 
+    public void testIVY1178() throws Exception {
+        Ivy ivy = new Ivy();
+        ivy.configure(new File("test/repositories/IVY-1178/ivysettings.xml"));
+        ResolveReport report = 
ivy.resolve(ResolveTest.class.getResource("ivy-1178.xml"),
+            getResolveOptions(new String[] {"*"}));
+
+        assertNotNull(report);
+        assertNotNull(report.getUnresolvedDependencies());
+        assertEquals("Number of unresolved dependencies not correct", 0, report
+                .getUnresolvedDependencies().length);
+        
+        // dependencies
+        assertTrue(getIvyFileInCache(
+            ModuleRevisionId.newInstance("myorg", "modD", "1.1")).exists());
+        assertTrue(getArchiveFileInCache("myorg", "modD", "1.1", "modD", 
"jar", "jar").exists());
+
+        // evicted dependencies
+        assertFalse(getIvyFileInCache(
+            ModuleRevisionId.newInstance("myorg", "modD", "1.0")).exists());
+        assertFalse(getArchiveFileInCache("myorg", "modD", "1.0", "modD", 
"jar", "jar").exists());
+        
+        // transitive dependencies of modD-1.1 (must not exist: 
transitive="false" !)
+        assertFalse(getIvyFileInCache(
+            ModuleRevisionId.newInstance("myorg", "modE", "1.1")).exists());
+        assertFalse(getArchiveFileInCache("myorg", "modE", "1.1", "modE", 
"jar", "jar").exists());
+    }
+
     public void testIVY999() throws Exception {
         Ivy ivy = new Ivy();
         ivy.configure(new File("test/repositories/IVY-999/ivysettings.xml"));


Reply via email to