You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2010/10/22 01:03:33 UTC
svn commit: r1026174 - in /ant/ivy/core/trunk: ./
test/java/org/apache/ivy/core/resolve/ test/repositories/1/usecacheonly/
test/repositories/1/usecacheonly/mod1/
test/repositories/1/usecacheonly/mod1/ivys/
test/repositories/1/usecacheonly/mod1/jars/ te...
Author: hibou
Date: Thu Oct 21 23:03:32 2010
New Revision: 1026174
URL: http://svn.apache.org/viewvc?rev=1026174&view=rev
Log:
IVY-1227: here are the unit test for useCacheOnly
Added:
ant/ivy/core/trunk/test/repositories/1/usecacheonly/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/ivys/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/ivys/ivy-1.0.xml
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/jars/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/jars/mod1-1.0.jar
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/ivys/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/ivys/ivy-1.0.xml
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/jars/
ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/jars/mod2-1.0.jar
Modified:
ant/ivy/core/trunk/CHANGES.txt
ant/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=1026174&r1=1026173&r2=1026174&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Thu Oct 21 23:03:32 2010
@@ -118,6 +118,7 @@ for detailed view of each issue, please
- FIX: Couldn't authenticate against sites having the same address as the proxy server (IVY-1234)
- FIX: OutOfMemoryError when uploading large files using commons-httpclient (IVY-1197) (thanks to Torkild U. Resheim)
- FIX: Only the last dependency descriptor is taken into account on the same module (IVY-1240)
+- FIX: UseCacheOnly doesn't respect the cache configuration in the ivysettings (IVY-1227)
2.2.0
=====================================
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=1026174&r1=1026173&r2=1026174&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 Thu Oct 21 23:03:32 2010
@@ -18,6 +18,8 @@
package org.apache.ivy.core.resolve;
import java.io.File;
+import java.io.IOException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -57,6 +59,8 @@ import org.apache.ivy.plugins.circular.W
import org.apache.ivy.plugins.conflict.StrictConflictException;
import org.apache.ivy.plugins.matcher.ExactPatternMatcher;
import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser;
+import org.apache.ivy.plugins.repository.AbstractRepository;
+import org.apache.ivy.plugins.repository.Resource;
import org.apache.ivy.plugins.resolver.BasicResolver;
import org.apache.ivy.plugins.resolver.DependencyResolver;
import org.apache.ivy.plugins.resolver.DualResolver;
@@ -76,6 +80,7 @@ public class ResolveTest extends TestCas
private File cache;
private File deliverDir;
+ private File workDir;
public ResolveTest() {
}
@@ -88,6 +93,9 @@ public class ResolveTest extends TestCas
deliverDir = new File("build/test/deliver");
deliverDir.mkdirs();
+ workDir = new File("build/test/work");
+ workDir.mkdirs();
+
ivy = Ivy.newInstance();
ivy.configure(new File("test/repositories/ivysettings.xml"));
}
@@ -99,6 +107,7 @@ public class ResolveTest extends TestCas
protected void tearDown() throws Exception {
CacheCleaner.deleteDir(cache);
FileUtil.forceDelete(deliverDir);
+ FileUtil.forceDelete(workDir);
}
public void testResolveWithRetainingArtifactName() throws Exception {
@@ -5205,4 +5214,62 @@ public class ResolveTest extends TestCas
ivy.deliver(pubrev, deliveryPattern, dopts);
}
+ public void testUseCacheOnly() throws Exception {
+ ResolveOptions option = getResolveOptions(new String[] {"*"}).setValidate(false);
+ URL url = new File("test/repositories/1/usecacheonly/mod1/ivys/ivy-1.0.xml").toURI()
+ .toURL();
+
+ // normal resolve, the file goes in the cache
+ ResolveReport report = ivy.resolve(url, option);
+ assertFalse(report.hasError());
+
+ option.setUseCacheOnly(true);
+
+ // use cache only, hit the cache
+ report = ivy.resolve(url, option);
+ assertFalse(report.hasError());
+
+ CacheCleaner.deleteDir(cache);
+ createCache();
+
+ // no more in the cache, missed
+ report = ivy.resolve(url, option);
+ assertTrue(report.hasError());
+
+ option.setUseCacheOnly(false);
+
+ // try with use origin: should fail as the cache is empty
+ ivy.getSettings().setDefaultUseOrigin(true);
+ option.setUseCacheOnly(true);
+ report = ivy.resolve(url, option);
+ assertTrue(report.hasError());
+
+ // populate the cache
+ option.setUseCacheOnly(false);
+ report = ivy.resolve(url, option);
+ assertFalse(report.hasError());
+
+ // use origin should now work
+ option.setUseCacheOnly(true);
+ report = ivy.resolve(url, option);
+ assertFalse(report.hasError());
+
+ // ensure that we hit only the cache and never try to hit in the repository
+ FileSystemResolver resolver = (FileSystemResolver) ivy.getSettings().getResolver("1");
+ resolver.setRepository(new AbstractRepository() {
+ public List list(String parent) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ public Resource getResource(String source) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
+ public void get(String source, File destination) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+ });
+ report = ivy.resolve(url, option);
+ assertFalse(report.hasError());
+ }
}
Added: ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/ivys/ivy-1.0.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/ivys/ivy-1.0.xml?rev=1026174&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/ivys/ivy-1.0.xml (added)
+++ ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/ivys/ivy-1.0.xml Thu Oct 21 23:03:32 2010
@@ -0,0 +1,27 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<ivy-module version="1.0">
+ <info organisation="usecacheonly" module="mod1" revision="1.0" />
+ <configurations>
+ <conf name="default" />
+ </configurations>
+ <dependencies>
+ <dependency org="usecacheonly" name="mod2" rev="1.0" />
+ </dependencies>
+</ivy-module>
Added: ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/jars/mod1-1.0.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/jars/mod1-1.0.jar?rev=1026174&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/jars/mod1-1.0.jar (added)
+++ ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod1/jars/mod1-1.0.jar Thu Oct 21 23:03:32 2010
@@ -0,0 +1 @@
+.
\ No newline at end of file
Added: ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/ivys/ivy-1.0.xml
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/ivys/ivy-1.0.xml?rev=1026174&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/ivys/ivy-1.0.xml (added)
+++ ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/ivys/ivy-1.0.xml Thu Oct 21 23:03:32 2010
@@ -0,0 +1,26 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<ivy-module version="1.0">
+ <info organisation="usecacheonly" module="mod2" revision="1.0" />
+ <configurations>
+ <conf name="default" />
+ </configurations>
+ <dependencies>
+ </dependencies>
+</ivy-module>
Added: ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/jars/mod2-1.0.jar
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/jars/mod2-1.0.jar?rev=1026174&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/jars/mod2-1.0.jar (added)
+++ ant/ivy/core/trunk/test/repositories/1/usecacheonly/mod2/jars/mod2-1.0.jar Thu Oct 21 23:03:32 2010
@@ -0,0 +1 @@
+.
\ No newline at end of file