You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2008/05/22 09:50:36 UTC

svn commit: r659032 - in /maven/wagon/trunk: wagon-provider-api/src/main/java/org/apache/maven/wagon/events/ wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/ wagon-provider-test/src/main/java/org/apache/maven/wagon/ wagon-providers/wag...

Author: brett
Date: Thu May 22 00:50:35 2008
New Revision: 659032

URL: http://svn.apache.org/viewvc?rev=659032&view=rev
Log:
[WAGON-212] make tests deterministic based on times

Modified:
    maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java
    maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java
    maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
    maven/wagon/trunk/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmCvsWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmSvnWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/AuthenticatedWebDavWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java

Modified: maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java (original)
+++ maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java Thu May 22 00:50:35 2008
@@ -254,7 +254,7 @@
 
         sb.append( this.getWagon().getRepository() ).append( "|" );
         sb.append( this.getLocalFile() ).append( "|" );
-        sb.append( this.getResource() );
+        sb.append( this.getResource().inspect() );
         sb.append( "]" );
 
         return sb.toString();

Modified: maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java (original)
+++ maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java Thu May 22 00:50:35 2008
@@ -91,6 +91,11 @@
     {
         return name;
     }
+    
+    public String inspect()
+    {
+        return name + "[len = " + contentLength + "; mod = " + lastModified + "]";
+    }
 
     public int hashCode()
     {

Modified: maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java (original)
+++ maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java Thu May 22 00:50:35 2008
@@ -703,7 +703,7 @@
     {
         destFile = FileTestUtils.createUniqueFile( getName(), getName() );
         destFile.deleteOnExit();
-
+        
         Wagon wagon = getWagon();
 
         Resource resource = new Resource( this.resource );
@@ -711,7 +711,7 @@
                                                                      TransferEvent.REQUEST_GET, destFile ) );
         resource = new Resource( this.resource );
         resource.setContentLength( getExpectedContentLengthOnGet( expectedSize ) );
-        resource.setLastModified( getExpectedLastModifiedOnGet() );
+        resource.setLastModified( getExpectedLastModifiedOnGet( testRepository, resource ) );
         mockTransferListener.transferStarted( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_STARTED,
                                                                    TransferEvent.REQUEST_GET, destFile ) );
         mockTransferListener.transferProgress( new TransferEvent( wagon, resource, TransferEvent.TRANSFER_PROGRESS,
@@ -756,8 +756,11 @@
         return expectedSize;
     }
 
-    protected long getExpectedLastModifiedOnGet()
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
     {
+        // default implementation - prone to failing if the time between test file creation and completion of putFile()
+        // cross the "second" boundary, causing the "remote" and local files to have different times.
+
         return sourceFile.lastModified();
     }
 

Modified: maven/wagon/trunk/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java Thu May 22 00:50:35 2008
@@ -65,4 +65,9 @@
         Repository repository = new Repository();
         wagon.connect( repository );
     }
+
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
+    {
+        return new File( repository.getBasedir(), resource.getName() ).lastModified();
+    }
 }

Modified: maven/wagon/trunk/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java Thu May 22 00:50:35 2008
@@ -19,9 +19,13 @@
  * under the License.
  */
 
+import java.io.File;
+
 import org.apache.ftpserver.interfaces.FtpServerInterface;
 import org.apache.maven.wagon.WagonTestCase;
 import org.apache.maven.wagon.authentication.AuthenticationInfo;
+import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.resource.Resource;
 
 /**
  * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
@@ -37,12 +41,6 @@
         return "ftp";
     }
 
-    protected long getExpectedLastModifiedOnGet()
-    {
-        // granularity for FTP is minutes
-        return ( sourceFile.lastModified() / 60000 ) * 60000;
-    }
-
     protected void setupWagonTestingFixtures()
         throws Exception
     {
@@ -73,4 +71,12 @@
 
         return authInfo;
     }
+
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
+    {
+        File file = getTestFile( "target/test-output/local-repository", resource.getName() );
+        
+        // granularity for FTP is minutes
+        return ( file.lastModified() / 60000 ) * 60000;
+    }
 }

Modified: maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java Thu May 22 00:50:35 2008
@@ -21,6 +21,8 @@
 
 import org.apache.maven.wagon.FileTestUtils;
 import org.apache.maven.wagon.WagonTestCase;
+import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.resource.Resource;
 import org.codehaus.plexus.jetty.Httpd;
 
 import java.io.File;
@@ -78,4 +80,10 @@
         
         super.testWagonGetFileList();
     }
+
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
+    {
+        File file = getTestFile( "target/test-output/http-repository", resource.getName() );
+        return file.lastModified();
+    }
 }

Modified: maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java Thu May 22 00:50:35 2008
@@ -21,6 +21,8 @@
 
 import org.apache.maven.wagon.FileTestUtils;
 import org.apache.maven.wagon.WagonTestCase;
+import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.resource.Resource;
 import org.codehaus.plexus.jetty.Httpd;
 
 import java.io.File;
@@ -90,4 +92,10 @@
     {
         release( httpd );
     }
+
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
+    {
+        File file = getTestFile( "target/test-output/http-repository", resource.getName() );
+        return file.lastModified();
+    }
 }

Modified: maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmCvsWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmCvsWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmCvsWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmCvsWagonTest.java Thu May 22 00:50:35 2008
@@ -27,7 +27,7 @@
  * @author <a href="brett@apache.org">Brett Porter</a>
  * @version $Id$
  */
-public class AbstractScmCvsWagonTest
+public abstract class AbstractScmCvsWagonTest
     extends AbstractScmWagonTest
 {
 

Modified: maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmSvnWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmSvnWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmSvnWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmSvnWagonTest.java Thu May 22 00:50:35 2008
@@ -29,7 +29,7 @@
  * @author <a href="brett@apache.org">Brett Porter</a>
  * @version $Id$
  */
-public class AbstractScmSvnWagonTest
+public abstract class AbstractScmSvnWagonTest
     extends AbstractScmWagonTest
 {
     private String repository;

Modified: maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-scm/src/test/java/org/apache/maven/wagon/providers/scm/AbstractScmWagonTest.java Thu May 22 00:50:35 2008
@@ -32,6 +32,8 @@
 import org.apache.maven.wagon.WagonConstants;
 import org.apache.maven.wagon.WagonTestCase;
 import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.resource.Resource;
 import org.codehaus.plexus.util.FileUtils;
 
 /**
@@ -104,7 +106,7 @@
         return WagonConstants.UNKNOWN_LENGTH;
     }
     
-    protected long getExpectedLastModifiedOnGet()
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
     {
         return 0;
     }

Modified: maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/AuthenticatedWebDavWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/AuthenticatedWebDavWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/AuthenticatedWebDavWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/AuthenticatedWebDavWagonTest.java Thu May 22 00:50:35 2008
@@ -25,6 +25,8 @@
 import org.apache.maven.wagon.FileTestUtils;
 import org.apache.maven.wagon.WagonTestCase;
 import org.apache.maven.wagon.authentication.AuthenticationInfo;
+import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.resource.Resource;
 
 /**
  * Authenticated WebDAV Wagon Test 
@@ -81,4 +83,10 @@
     {
         release( server );
     }
+
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
+    {
+        File file = getTestFile( "target/test-output/authdav-repository/newfolder/folder2", resource.getName() );
+        return file.lastModified();
+    }
 }

Modified: maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java?rev=659032&r1=659031&r2=659032&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-webdav/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java Thu May 22 00:50:35 2008
@@ -24,6 +24,8 @@
 
 import org.apache.maven.wagon.FileTestUtils;
 import org.apache.maven.wagon.WagonTestCase;
+import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.resource.Resource;
 
 /**
  * WebDAV Wagon Test
@@ -70,4 +72,10 @@
     {
         release( server );
     }
+
+    protected long getExpectedLastModifiedOnGet( Repository repository, Resource resource )
+    {
+        File file = getTestFile( "target/test-output/dav-repository/newfolder/folder2", resource.getName() );
+        return file.lastModified();
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org