The build works for me on my host ( windows vista).  Let's try a another on
unix at work

what test fail on yours?

-Dan


brettporter wrote:
> 
> This seems to have broken the unit tests... are they working for you?
> 
> - Brett
> 
> On 03/01/2009, at 10:35 AM, dant...@apache.org wrote:
> 
>> Author: dantran
>> Date: Fri Jan  2 15:35:51 2009
>> New Revision: 730869
>>
>> URL: http://svn.apache.org/viewvc?rev=730869&view=rev
>> Log:
>> WAGON-254: rewritten known_hosts file only if its contents are changed
>>
>> Added:
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/KnownHostEntry.java
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProviderTest.java
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts_same
>> Modified:
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> AbstractKnownHostsProvider.java
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProvider.java
>>    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> StreamKnownHostsProvider.java
>>
>> Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/ 
>> main/java/org/apache/maven/wagon/providers/ssh/knownhost/ 
>> AbstractKnownHostsProvider.java
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java?rev=730869&r1=730868&r2=730869&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> AbstractKnownHostsProvider.java (original)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> AbstractKnownHostsProvider.java Fri Jan  2 15:35:51 2009
>> @@ -20,6 +20,8 @@
>>  */
>>
>> import java.io.IOException;
>> +import java.util.HashSet;
>> +import java.util.Set;
>>
>> /**
>>  * Common base for known hosts providers.
>> @@ -41,6 +43,8 @@
>>      * the known hosts, in the openssh format
>>      */
>>     protected String contents;
>> +
>> +    protected Set knownHosts = new HashSet();
>>
>>     public void setHostKeyChecking( String hostKeyChecking )
>>     {
>> @@ -56,14 +60,11 @@
>>     {
>>         return contents;
>>     }
>> -
>> -    public void setContents( String contents )
>> -    {
>> -        this.contents = contents;
>> -    }
>>
>>     public void storeKnownHosts( String contents )
>>         throws IOException
>>     {
>>     }
>> +
>> +
>> }
>>
>> Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/ 
>> main/java/org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProvider.java
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java?rev=730869&r1=730868&r2=730869&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProvider.java (original)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProvider.java Fri Jan  2 15:35:51 2009
>> @@ -19,13 +19,14 @@
>>  * under the License.
>>  */
>>
>> -import org.codehaus.plexus.util.FileUtils;
>> -
>> import java.io.ByteArrayInputStream;
>> import java.io.File;
>> import java.io.FileInputStream;
>> import java.io.IOException;
>> import java.io.InputStream;
>> +import java.util.Set;
>> +
>> +import org.codehaus.plexus.util.FileUtils;
>>
>> /**
>>  * Provides known hosts from a file
>> @@ -70,10 +71,16 @@
>>     public void storeKnownHosts( String contents )
>>         throws IOException
>>     {
>> -        file.getParentFile().mkdirs();
>> -        FileUtils.fileWrite( file.getAbsolutePath(), contents );
>> +        Set hosts = this.loadKnownHosts( contents );
>> +
>> +        if ( ! this.knownHosts.equals( hosts ) )
>> +        {
>> +            file.getParentFile().mkdirs();
>> +            FileUtils.fileWrite( file.getAbsolutePath(), contents );
>> +            this.knownHosts = hosts;
>> +        }
>>     }
>> -
>> +
>>     public File getFile()
>>     {
>>         return file;
>>
>> Added: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/ 
>> java/org/apache/maven/wagon/providers/ssh/knownhost/ 
>> KnownHostEntry.java
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostEntry.java?rev=730869&view=auto
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/KnownHostEntry.java  
>> (added)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/KnownHostEntry.java  
>> Fri Jan  2 15:35:51 2009
>> @@ -0,0 +1,97 @@
>> +package org.apache.maven.wagon.providers.ssh.knownhost;
>> +
>> +public class KnownHostEntry
>> +{
>> +
>> +    private String hostName;
>> +
>> +    private String keyType;
>> +
>> +    private String keyValue;
>> +
>> +    public KnownHostEntry()
>> +    {
>> +
>> +    }
>> +
>> +    public KnownHostEntry( String hostName, String keyType, String  
>> keyValue )
>> +    {
>> +        this.hostName = hostName;
>> +        this.keyType = keyType;
>> +        this.keyValue = keyValue;
>> +    }
>> +
>> +    public String getHostName()
>> +    {
>> +        return hostName;
>> +    }
>> +
>> +    public void setHostName( String hostName )
>> +    {
>> +        this.hostName = hostName;
>> +    }
>> +
>> +    public String getKeyType()
>> +    {
>> +        return keyType;
>> +    }
>> +
>> +    public void setKeyType( String keyType )
>> +    {
>> +        this.keyType = keyType;
>> +    }
>> +
>> +    public String getKeyValue()
>> +    {
>> +        return keyValue;
>> +    }
>> +
>> +    public void setKeyValue( String keyValue )
>> +    {
>> +        this.keyValue = keyValue;
>> +    }
>> +
>> +    public int hashCode()
>> +    {
>> +        final int prime = 31;
>> +        int result = 1;
>> +        result = prime * result + ( ( hostName == null ) ? 0 :  
>> hostName.hashCode() );
>> +        result = prime * result + ( ( keyType == null ) ? 0 :  
>> keyType.hashCode() );
>> +        result = prime * result + ( ( keyValue == null ) ? 0 :  
>> keyValue.hashCode() );
>> +        return result;
>> +    }
>> +
>> +    public boolean equals( Object obj )
>> +    {
>> +        if ( this == obj )
>> +            return true;
>> +        if ( obj == null )
>> +            return false;
>> +        if ( getClass() != obj.getClass() )
>> +            return false;
>> +        KnownHostEntry other = (KnownHostEntry) obj;
>> +        if ( hostName == null )
>> +        {
>> +            if ( other.hostName != null )
>> +                return false;
>> +        }
>> +        else if ( !hostName.equals( other.hostName ) )
>> +            return false;
>> +        if ( keyType == null )
>> +        {
>> +            if ( other.keyType != null )
>> +                return false;
>> +        }
>> +        else if ( !keyType.equals( other.keyType ) )
>> +            return false;
>> +        if ( keyValue == null )
>> +        {
>> +            if ( other.keyValue != null )
>> +                return false;
>> +        }
>> +        else if ( !keyValue.equals( other.keyValue ) )
>> +            return false;
>> +        return true;
>> +    }
>> +
>> +}
>>
>> Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/ 
>> main/java/org/apache/maven/wagon/providers/ssh/knownhost/ 
>> StreamKnownHostsProvider.java
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/StreamKnownHostsProvider.java?rev=730869&r1=730868&r2=730869&view=diff
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> StreamKnownHostsProvider.java (original)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> StreamKnownHostsProvider.java Fri Jan  2 15:35:51 2009
>> @@ -19,11 +19,16 @@
>>  * under the License.
>>  */
>>
>> -import org.codehaus.plexus.util.IOUtil;
>> -import org.codehaus.plexus.util.StringOutputStream;
>> -
>> +import java.io.BufferedReader;
>> import java.io.IOException;
>> import java.io.InputStream;
>> +import java.io.StringReader;
>> +import java.util.HashSet;
>> +import java.util.Set;
>> +
>> +import org.codehaus.plexus.util.IOUtil;
>> +import org.codehaus.plexus.util.StringOutputStream;
>> +import org.codehaus.plexus.util.StringUtils;
>>
>> /**
>>  * Provides known hosts from a file
>> @@ -43,10 +48,38 @@
>>             StringOutputStream stringOutputStream = new  
>> StringOutputStream();
>>             IOUtil.copy( stream, stringOutputStream );
>>             this.contents = stringOutputStream.toString();
>> +
>> +            this.knownHosts = this.loadKnownHosts( this.contents );
>>         }
>>         finally
>>         {
>>             IOUtil.close( stream );
>>         }
>>     }
>> +
>> +    protected Set loadKnownHosts( String contents )
>> +        throws IOException
>> +    {
>> +        Set hosts = new HashSet();
>> +
>> +        BufferedReader br = new BufferedReader( new  
>> StringReader( contents ) );
>> +
>> +        String line = null;
>> +
>> +        do
>> +        {
>> +            line = br.readLine();
>> +            if ( line != null )
>> +            {
>> +                String tokens[] = StringUtils.split( line );
>> +                if ( tokens.length == 3 )
>> +                {
>> +                    hosts.add( new KnownHostEntry( tokens[0],  
>> tokens[1], tokens[2] ) );
>> +                }
>> +            }
>> +
>> +        }while ( line != null );
>> +
>> +        return hosts;
>> +    }
>> }
>>
>> Added: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> java/org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProviderTest.java
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProviderTest.java?rev=730869&view=auto
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProviderTest.java (added)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/java/ 
>> org/apache/maven/wagon/providers/ssh/knownhost/ 
>> FileKnownHostsProviderTest.java Fri Jan  2 15:35:51 2009
>> @@ -0,0 +1,57 @@
>> +package org.apache.maven.wagon.providers.ssh.knownhost;
>> +
>> +import java.io.File;
>> +
>> +import org.codehaus.plexus.util.FileUtils;
>> +
>> +import junit.framework.TestCase;
>> +
>> +public class FileKnownHostsProviderTest
>> +    extends TestCase
>> +{
>> +    private File basedir = new File( System.getProperty( "basedir",  
>> "." ) );
>> +
>> +    private File testKnownHostsFile;
>> +
>> +
>> +    private FileKnownHostsProvider provider;
>> +
>> +    public void setUp()
>> +        throws Exception
>> +    {
>> +        File readonlyKnownHostFile = new File( basedir, "src/test/ 
>> resources/known_hosts" );
>> +        testKnownHostsFile = new File( basedir, "target/ 
>> known_hosts" );
>> +        testKnownHostsFile.delete();
>> +        FileUtils.copyFile( readonlyKnownHostFile,  
>> testKnownHostsFile );
>> +
>> +        provider = new FileKnownHostsProvider( testKnownHostsFile );
>> +
>> +    }
>> +
>> +    public void testStoreKnownHostsNoChange()
>> +        throws Exception
>> +    {
>> +        long timestamp = this.testKnownHostsFile.lastModified();
>> +        //file with the same contents, but with entries swapped
>> +        File sameKnownHostFile = new File( basedir, "src/test/ 
>> resources/known_hosts_same" );
>> +        String contents = FileUtils.fileRead( sameKnownHostFile );
>> +
>> +        Thread.sleep( 50 );
>> +        provider.storeKnownHosts( contents );
>> +        assertEquals( "known_hosts file is rewritten", timestamp,  
>> testKnownHostsFile.lastModified() );
>> +    }
>> +
>> +    public void testStoreKnownHostsWithChange()
>> +        throws Exception
>> +    {
>> +        long timestamp = this.testKnownHostsFile.lastModified();
>> +        File sameKnownHostFile = new File( basedir, "src/test/ 
>> resources/known_hosts_same" );
>> +        String contents = FileUtils.fileRead( sameKnownHostFile );
>> +        contents += "1 2 3";
>> +
>> +        Thread.sleep( 50 );
>> +        provider.storeKnownHosts( contents );
>> +        assertTrue( "known_hosts file is not rewritten", timestamp ! 
>> = testKnownHostsFile.lastModified() );
>> +    }
>> +
>> +}
>>
>> Added: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/resources/known_hosts?rev=730869&view=auto
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts (added)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts Fri Jan  2 15:35:51 2009
>> @@ -0,0 +1,2 @@
>> +server,192.168.0.10 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtnWEbH/ 
>> WTZG2aAl9gX8HtMqXidzQXgluARIOijWigbvA4/3N4fnNmckXBUHR32iqHQM/ 
>> ySIRhc9EVDanDy0JyKdm738PwP0DbWGqiIDTtukbju4DAtXtOx3LgIqHc0PD+cquO9Ut/ 
>> 68o6/GdBgN18nVOMt+8Q9Vr1VSFqfHoLEx04NI+4BbGaGKQOFU25VJ3KtM0zkoyDfu0/ 
>> MDusVoFIDVb0KtfxZVEDRmEFnySpFHOBdSdODsunftYccCNTNdsh 
>> + 
>> 58jSqChUUlP3B0bTykm7o52CrXCMWCsLzH6dDkN7GUQwLvjPG04gedeZg6tEN8vTInRmHQrp0TTW7JGNjXgw
>>  
>> ==
>> +192.168.0.11 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtnWEbH/ 
>> WTZG2aAl9gX8HtMqXidzQXgluARIOijWigbvA4/3N4fnNmckXBUHR32iqHQM/ 
>> ySIRhc9EVDanDy0JyKdm738PwP0DbWGqiIDTtukbju4DAtXtOx3LgIqHc0PD+cquO9Ut/ 
>> 68o6/GdBgN18nVOMt+8Q9Vr1VSFqfHoLEx04NI+4BbGaGKQOFU25VJ3KtM0zkoyDfu0/ 
>> MDusVoFIDVb0KtfxZVEDRmEFnySpFHOBdSdODsunftYccCNTNdsh 
>> + 
>> 58jSqChUUlP3B0bTykm7o52CrXCMWCsLzH6dDkN7GUQwLvjPG04gedeZg6tEN8vTInRmHQrp0TTW7JGNjXgw
>>  
>> ==
>>
>> Added: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts_same
>> URL:
>> http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/resources/known_hosts_same?rev=730869&view=auto
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> ======================================================================
>> --- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts_same (added)
>> +++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/test/ 
>> resources/known_hosts_same Fri Jan  2 15:35:51 2009
>> @@ -0,0 +1,2 @@
>> +192.168.0.11 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtnWEbH/ 
>> WTZG2aAl9gX8HtMqXidzQXgluARIOijWigbvA4/3N4fnNmckXBUHR32iqHQM/ 
>> ySIRhc9EVDanDy0JyKdm738PwP0DbWGqiIDTtukbju4DAtXtOx3LgIqHc0PD+cquO9Ut/ 
>> 68o6/GdBgN18nVOMt+8Q9Vr1VSFqfHoLEx04NI+4BbGaGKQOFU25VJ3KtM0zkoyDfu0/ 
>> MDusVoFIDVb0KtfxZVEDRmEFnySpFHOBdSdODsunftYccCNTNdsh 
>> + 
>> 58jSqChUUlP3B0bTykm7o52CrXCMWCsLzH6dDkN7GUQwLvjPG04gedeZg6tEN8vTInRmHQrp0TTW7JGNjXgw
>>  
>> ==
>> +server,192.168.0.10 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtnWEbH/ 
>> WTZG2aAl9gX8HtMqXidzQXgluARIOijWigbvA4/3N4fnNmckXBUHR32iqHQM/ 
>> ySIRhc9EVDanDy0JyKdm738PwP0DbWGqiIDTtukbju4DAtXtOx3LgIqHc0PD+cquO9Ut/ 
>> 68o6/GdBgN18nVOMt+8Q9Vr1VSFqfHoLEx04NI+4BbGaGKQOFU25VJ3KtM0zkoyDfu0/ 
>> MDusVoFIDVb0KtfxZVEDRmEFnySpFHOBdSdODsunftYccCNTNdsh 
>> + 
>> 58jSqChUUlP3B0bTykm7o52CrXCMWCsLzH6dDkN7GUQwLvjPG04gedeZg6tEN8vTInRmHQrp0TTW7JGNjXgw
>>  
>> ==
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: wagon-commits-unsubscr...@maven.apache.org
>> For additional commands, e-mail: wagon-commits-h...@maven.apache.org
>>
> 
> --
> Brett Porter
> br...@apache.org
> http://blogs.exist.com/bporter/
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wagon-dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: wagon-dev-h...@maven.apache.org
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Re%3A-svn-commit%3A-r730869---in--maven-wagon-trunk-wagon-providers-wagon-ssh-common-src%3A-main-java-org-apache-maven-wagon-providers-ssh-knownhost--test-java-org-apache-maven-wagon-providers-ssh-knownhost--test-resources--tp21284515p21430156.html
Sent from the Wagon - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-dev-unsubscr...@maven.apache.org
For additional commands, e-mail: wagon-dev-h...@maven.apache.org

Reply via email to