Author: olamy
Date: Wed Sep 21 13:41:43 2011
New Revision: 1173637
URL: http://svn.apache.org/viewvc?rev=1173637&view=rev
Log:
[WAGON-350] add unit test for wagon ssh with an embedded ssh server
Modified:
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagonTest.java
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpWagonWithSshPrivateKeySearchTest.java
maven/wagon/trunk/wagon-providers/wagon-ssh/pom.xml
maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonTest.java
Modified:
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java?rev=1173637&r1=1173636&r2=1173637&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java
(original)
+++
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/StreamingWagonTestCase.java
Wed Sep 21 13:41:43 2011
@@ -19,6 +19,11 @@ package org.apache.maven.wagon;
* under the License.
*/
+import org.apache.maven.wagon.observers.ChecksumObserver;
+import org.apache.maven.wagon.resource.Resource;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -26,11 +31,6 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
-import org.apache.maven.wagon.observers.ChecksumObserver;
-import org.apache.maven.wagon.resource.Resource;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
-
/**
* @author <a href="mailto:[email protected]">Brett Porter</a>
* @version $Id: WagonTestCase.java 660462 2008-05-27 10:52:46Z brett $
@@ -41,13 +41,16 @@ public abstract class StreamingWagonTest
public void testStreamingWagon()
throws Exception
{
- setupRepositories();
+ if ( supportsGetIfNewer() )
+ {
+ setupRepositories();
- setupWagonTestingFixtures();
+ setupWagonTestingFixtures();
- streamRoundTripTesting();
+ streamRoundTripTesting();
- tearDownWagonTestingFixtures();
+ tearDownWagonTestingFixtures();
+ }
}
public void testFailedGetToStream()
@@ -102,8 +105,8 @@ public abstract class StreamingWagonTest
setupRepositories();
setupWagonTestingFixtures();
int expectedSize = putFile();
- getIfNewerToStream( getExpectedLastModifiedOnGet( testRepository,
new Resource( resource ) ) + 30000,
- false, expectedSize );
+ getIfNewerToStream( getExpectedLastModifiedOnGet( testRepository,
new Resource( resource ) ) + 30000, false,
+ expectedSize );
}
}
@@ -143,7 +146,7 @@ public abstract class StreamingWagonTest
connectWagon( wagon );
OutputStream stream = new LazyFileOutputStream( destFile );
-
+
try
{
boolean result = wagon.getIfNewerToStream( this.resource, stream,
timestamp );
@@ -153,7 +156,7 @@ public abstract class StreamingWagonTest
{
IOUtil.close( stream );
}
-
+
disconnectWagon( wagon );
assertGetIfNewerTest( progressArgumentMatcher, expectedResult,
expectedSize );
@@ -252,7 +255,7 @@ public abstract class StreamingWagonTest
stream = new FileInputStream( sourceFile );
wagon.putFromStream( stream, resource, sourceFile.length(),
sourceFile.lastModified() );
}
- catch( Exception e )
+ catch ( Exception e )
{
logger.error( "error while putting resources to the FTP Server", e
);
}
@@ -288,7 +291,7 @@ public abstract class StreamingWagonTest
stream = new FileOutputStream( destFile );
wagon.getToStream( this.resource, stream );
}
- catch( Exception e )
+ catch ( Exception e )
{
logger.error( "error while reading resources from the FTP Server",
e );
}
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=1173637&r1=1173636&r2=1173637&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
Wed Sep 21 13:41:43 2011
@@ -19,14 +19,6 @@ package org.apache.maven.wagon;
* under the License.
*/
-import java.io.File;
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
import org.apache.log4j.Logger;
import org.apache.maven.wagon.authentication.AuthenticationException;
import org.apache.maven.wagon.authentication.AuthenticationInfo;
@@ -43,6 +35,14 @@ import org.codehaus.plexus.util.FileUtil
import org.easymock.AbstractMatcher;
import org.easymock.MockControl;
+import java.io.File;
+import java.io.IOException;
+import java.security.NoSuchAlgorithmException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
/**
* @author <a href="mailto:[email protected]">Jason van Zyl</a>
* @version $Id$
@@ -130,7 +130,7 @@ public abstract class WagonTestCase
/**
* Protocol id of the Wagon to use, eg. <code>scp</code>, <code>ftp</code>
- *
+ *
* @return the protocol id
*/
protected abstract String getProtocol();
@@ -240,13 +240,16 @@ public abstract class WagonTestCase
public void testWagon()
throws Exception
{
- setupRepositories();
+ if ( supportsGetIfNewer() )
+ {
+ setupRepositories();
- setupWagonTestingFixtures();
+ setupWagonTestingFixtures();
- fileRoundTripTesting();
+ fileRoundTripTesting();
- tearDownWagonTestingFixtures();
+ tearDownWagonTestingFixtures();
+ }
}
public void testWagonGetIfNewerIsNewer()
@@ -320,7 +323,8 @@ public abstract class WagonTestCase
assertNotNull( "check checksum is not null",
checksumObserver.getActualChecksum() );
- assertEquals( "compare checksums",
"6b144b7285ffd6b0bc8300da162120b9", checksumObserver.getActualChecksum() );
+ assertEquals( "compare checksums",
"6b144b7285ffd6b0bc8300da162120b9",
+ checksumObserver.getActualChecksum() );
// Now compare the contents of the artifact that was placed in
// the repository with the contents of the artifact that was
@@ -367,8 +371,9 @@ public abstract class WagonTestCase
private void replaceMockForSkippedGetIfNewer( Wagon wagon, int
expectedSize )
{
Resource resource = new Resource( this.resource );
- mockTransferListener.transferInitiated( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_INITIATED,
-
TransferEvent.REQUEST_GET, destFile ) );
+ mockTransferListener.transferInitiated(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_INITIATED, TransferEvent.REQUEST_GET,
+ destFile ) );
resource = new Resource( this.resource );
resource.setContentLength( getExpectedContentLengthOnGet( expectedSize
) );
resource.setLastModified( getExpectedLastModifiedOnGet(
testRepository, resource ) );
@@ -427,7 +432,7 @@ public abstract class WagonTestCase
/**
* Test for putting a directory with a destination that multiple
directories deep, all of which haven't been
* created.
- *
+ *
* @throws Exception
* @since 1.0-beta-2
*/
@@ -474,7 +479,7 @@ public abstract class WagonTestCase
/**
* Test that when putting a directory that already exists new files get
also copied
- *
+ *
* @throws Exception
* @since 1.0-beta-1
*/
@@ -529,7 +534,7 @@ public abstract class WagonTestCase
/**
* Test that when putting a directory that already exists new files get
also copied and destination is "."
- *
+ *
* @throws Exception
* @since 1.0-beta-1
*/
@@ -581,10 +586,10 @@ public abstract class WagonTestCase
/**
* Create a directory with a resource and check that the other ones don't
exist
- *
+ *
* @param wagon
* @param resourceToCreate name of the resource to be created
- * @param dirName directory name to create
+ * @param dirName directory name to create
* @throws Exception
*/
protected void createDirectory( Wagon wagon, String resourceToCreate,
String dirName )
@@ -611,10 +616,10 @@ public abstract class WagonTestCase
/**
* Assert that a resource does not exist in the remote wagon system
- *
- * @param wagon wagon to get the resource from
+ *
+ * @param wagon wagon to get the resource from
* @param resourceName name of the resource
- * @throws IOException if a temp file can't be created
+ * @throws IOException if a temp file can't be created
* @throws AuthorizationException
* @throws TransferFailedException
* @since 1.0-beta-1
@@ -721,7 +726,7 @@ public abstract class WagonTestCase
/**
* Test {@link Wagon#getFileList(String)}.
- *
+ *
* @throws Exception
* @since 1.0-beta-2
*/
@@ -735,7 +740,7 @@ public abstract class WagonTestCase
String dirName = "file-list";
String filenames[] =
- new String[] { "test-resource.txt", "test-resource.pom",
"test-resource b.txt", "more-resources.dat",
+ new String[]{ "test-resource.txt", "test-resource.pom",
"test-resource b.txt", "more-resources.dat",
".index.txt" };
for ( int i = 0; i < filenames.length; i++ )
@@ -756,7 +761,7 @@ public abstract class WagonTestCase
{
assertTrue( "Filename '" + filenames[i] + "' should be in list.",
list.contains( filenames[i] ) );
}
-
+
// WAGON-250
list = wagon.getFileList( "" );
assertNotNull( "file list should not be null.", list );
@@ -775,7 +780,7 @@ public abstract class WagonTestCase
/**
* Test {@link Wagon#getFileList(String)} when the directory does not
exist.
- *
+ *
* @throws Exception
* @since 1.0-beta-2
*/
@@ -811,7 +816,7 @@ public abstract class WagonTestCase
/**
* Test for an existing resource.
- *
+ *
* @throws Exception
* @since 1.0-beta-2
*/
@@ -837,7 +842,7 @@ public abstract class WagonTestCase
/**
* Test for an invalid resource.
- *
+ *
* @throws Exception
* @since 1.0-beta-2
*/
@@ -891,16 +896,18 @@ public abstract class WagonTestCase
protected ProgressArgumentMatcher replayMockForPut( String resourceName,
String content, Wagon wagon )
{
Resource resource = new Resource( resourceName );
- mockTransferListener.transferInitiated( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_INITIATED,
-
TransferEvent.REQUEST_PUT, sourceFile ) );
+ mockTransferListener.transferInitiated(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_INITIATED, TransferEvent.REQUEST_PUT,
+ sourceFile ) );
resource = new Resource( resourceName );
resource.setContentLength( content.length() );
resource.setLastModified( sourceFile.lastModified() );
- mockTransferListener.transferStarted( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_STARTED,
-
TransferEvent.REQUEST_PUT, sourceFile ) );
- mockTransferListener.transferProgress( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_PROGRESS,
-
TransferEvent.REQUEST_PUT, sourceFile ),
- new byte[] {}, 0 );
+ mockTransferListener.transferStarted(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_STARTED, TransferEvent.REQUEST_PUT,
+ sourceFile ) );
+ mockTransferListener.transferProgress(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_PROGRESS, TransferEvent.REQUEST_PUT,
+ sourceFile ), new byte[]{ }, 0 );
ProgressArgumentMatcher progressArgumentMatcher = new
ProgressArgumentMatcher();
mockTransferListenerControl.setMatcher( progressArgumentMatcher );
@@ -908,8 +915,9 @@ public abstract class WagonTestCase
mockTransferListenerControl.setMatcher( MockControl.ALWAYS_MATCHER );
mockTransferListenerControl.setVoidCallable( MockControl.ZERO_OR_MORE
);
- mockTransferListener.transferCompleted( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_COMPLETED,
-
TransferEvent.REQUEST_PUT, sourceFile ) );
+ mockTransferListener.transferCompleted(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_COMPLETED, TransferEvent.REQUEST_PUT,
+ sourceFile ) );
mockTransferListenerControl.replay();
return progressArgumentMatcher;
@@ -984,16 +992,18 @@ public abstract class WagonTestCase
protected ProgressArgumentMatcher replaceMockForGet( Wagon wagon, int
expectedSize )
{
Resource resource = new Resource( this.resource );
- mockTransferListener.transferInitiated( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_INITIATED,
-
TransferEvent.REQUEST_GET, destFile ) );
+ mockTransferListener.transferInitiated(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_INITIATED, TransferEvent.REQUEST_GET,
+ destFile ) );
resource = new Resource( this.resource );
resource.setContentLength( getExpectedContentLengthOnGet( expectedSize
) );
resource.setLastModified( getExpectedLastModifiedOnGet(
testRepository, resource ) );
- TransferEvent te = createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_STARTED,
-
TransferEvent.REQUEST_GET, null );
+ TransferEvent te =
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_STARTED, TransferEvent.REQUEST_GET, null );
mockTransferListener.transferStarted( te );
- mockTransferListener.transferProgress( new TransferEvent( wagon,
resource, TransferEvent.TRANSFER_PROGRESS,
-
TransferEvent.REQUEST_GET ), new byte[] {}, 0 );
+ mockTransferListener.transferProgress(
+ new TransferEvent( wagon, resource,
TransferEvent.TRANSFER_PROGRESS, TransferEvent.REQUEST_GET ),
+ new byte[]{ }, 0 );
ProgressArgumentMatcher progressArgumentMatcher = new
ProgressArgumentMatcher();
mockTransferListenerControl.setMatcher( progressArgumentMatcher );
@@ -1001,8 +1011,9 @@ public abstract class WagonTestCase
mockTransferListenerControl.setMatcher( MockControl.ALWAYS_MATCHER );
mockTransferListenerControl.setVoidCallable( MockControl.ZERO_OR_MORE
);
- mockTransferListener.transferCompleted( createTransferEvent( wagon,
resource, TransferEvent.TRANSFER_COMPLETED,
-
TransferEvent.REQUEST_GET, destFile ) );
+ mockTransferListener.transferCompleted(
+ createTransferEvent( wagon, resource,
TransferEvent.TRANSFER_COMPLETED, TransferEvent.REQUEST_GET,
+ destFile ) );
mockTransferListenerControl.replay();
return progressArgumentMatcher;
Modified:
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java?rev=1173637&r1=1173636&r2=1173637&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
(original)
+++
maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ScpHelper.java
Wed Sep 21 13:41:43 2011
@@ -280,7 +280,12 @@ public class ScpHelper
String path = getPath( repository.getBasedir(),
destinationDirectory );
Streams streams = executor.executeCommand( "ls -FlA " + path,
false );
- return new LSParser().parseFiles( streams.getOut() );
+ List<String> ret = new LSParser().parseFiles( streams.getOut() );
+ if (ret == null || ret.isEmpty())
+ {
+ throw new ResourceDoesNotExistException( "No such file or
directory" );
+ }
+ return ret;
}
catch ( CommandExecutionException e )
{
@@ -305,7 +310,7 @@ public class ScpHelper
try
{
String path = getPath( repository.getBasedir(), resourceName );
- executor.executeCommand( "ls " + path );
+ executor.executeCommand( "ls " + path, false );
// Parsing of output not really needed. As a failed ls results in
a
// CommandExectionException on the 'ls' command.
Modified:
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagonTest.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagonTest.java?rev=1173637&r1=1173636&r2=1173637&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagonTest.java
(original)
+++
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagonTest.java
Wed Sep 21 13:41:43 2011
@@ -56,14 +56,15 @@ public class ScpExternalWagonTest
}
@Override
- protected int getTestRepositoryPort() {
+ protected int getTestRepositoryPort()
+ {
return 0; // not used
}
public String getTestRepositoryUrl()
{
- return TestData.getTestRepositoryUrl();
+ return TestData.getTestRepositoryUrl( getTestRepositoryPort() );
}
protected AuthenticationInfo getAuthInfo()
@@ -85,8 +86,9 @@ public class ScpExternalWagonTest
return authInfo;
}
-
- public void testIsPuTTY() throws Exception
+
+ public void testIsPuTTY()
+ throws Exception
{
ScpExternalWagon wagon = (ScpExternalWagon) getWagon();
Modified:
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpWagonWithSshPrivateKeySearchTest.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpWagonWithSshPrivateKeySearchTest.java?rev=1173637&r1=1173636&r2=1173637&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpWagonWithSshPrivateKeySearchTest.java
(original)
+++
maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/test/java/org/apache/maven/wagon/providers/ssh/external/ScpWagonWithSshPrivateKeySearchTest.java
Wed Sep 21 13:41:43 2011
@@ -54,14 +54,15 @@ public class ScpWagonWithSshPrivateKeySe
}
@Override
- protected int getTestRepositoryPort() {
+ protected int getTestRepositoryPort()
+ {
return 0; // not used
}
public String getTestRepositoryUrl()
{
- return TestData.getTestRepositoryUrl();
+ return TestData.getTestRepositoryUrl( getTestRepositoryPort() );
}
Modified: maven/wagon/trunk/wagon-providers/wagon-ssh/pom.xml
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh/pom.xml?rev=1173637&r1=1173636&r2=1173637&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh/pom.xml Wed Sep 21 13:41:43 2011
@@ -103,7 +103,7 @@ under the License.
<exclude>**/SftpWagonTest.*</exclude>
<exclude>**/SshCommandExecutorTest.*</exclude>
<exclude>**/KnownHostsProviderTest.*</exclude>
- <exclude>**/ScpWagon*Test.*</exclude>
+ <exclude>**/ScpWagonW*Test.*</exclude>
</excludes>
<systemPropertyVariables>
<java.io.tmpdir>${project.build.outputDirectory}</java.io.tmpdir>
Modified:
maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonTest.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonTest.java?rev=1173637&r1=1173636&r2=1173637&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonTest.java
(original)
+++
maven/wagon/trunk/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/ScpWagonTest.java
Wed Sep 21 13:41:43 2011
@@ -287,6 +287,8 @@ public class ScpWagonTest
public void start( Environment env )
throws IOException
{
+ File tmpFile = File.createTempFile( "wagon", "test-sh" );
+ tmpFile.deleteOnExit();
int exitValue = 0;
SystemLogOutputStream systemOut = new SystemLogOutputStream( 1 );
SystemLogOutputStream errOut = new SystemLogOutputStream( 1 );
@@ -298,55 +300,87 @@ public class ScpWagonTest
Executor exec = new DefaultExecutor();
exec.setStreamHandler( new PumpStreamHandler( systemOut,
errOut ) );
// hackhish defaut commandline tools not support ; or && so
write a file with the script
- // and /bin/sh -xe file
- File tmpFile = File.createTempFile( "wagon", "test-sh" );
- FileUtils.fileWrite( tmpFile, commandLine );
+ // and "/bin/sh -e " + tmpFile.getPath();
- String execScript = "/bin/sh -e " + tmpFile.getPath();
+ FileUtils.fileWrite( tmpFile, commandLine );
- /*
- CommandLine cl = CommandLine.parse( execScript );
- exitValue = exec.execute( cl );*/
Commandline cl = new Commandline();
-
cl.setExecutable( "/bin/sh" );
- cl.createArg().setValue( "-e" );
- cl.createArg().setValue( tmpFile.getPath() );
+ //cl.createArg().setValue( "-e" );
+ //cl.createArg().setValue( tmpFile.getPath() );
+ cl.createArg().setFile( tmpFile );
exitValue = CommandLineUtils.executeCommandLine( cl, stdout,
stderr );
+ System.out.println( "exit value " + exitValue );
+ /*
+ if ( exitValue == 0 )
+ {
+ out.write( stdout.getOutput().getBytes() );
+ out.write( '\n' );
+ out.flush();
+
+ }
+ else
+ {
+ out.write( stderr.getOutput().getBytes() );
+ out.write( '\n' );
+ out.flush();
- tmpFile.deleteOnExit();
-
- out.write( stdout.getOutput().getBytes() );
- out.write( '\n' );
- out.flush();
- this.callback.onExit( exitValue, stdout.getOutput() );
+ }*/
}
catch ( Exception e )
{
exitValue = ERROR;
e.printStackTrace();
- err.write( stderr.getOutput().getBytes() );
-
}
finally
{
- callback.onExit( exitValue, stderr.getOutput() );
- }
+ deleteQuietly( tmpFile );
+ if ( exitValue != 0 )
+ {
+ err.write( stderr.getOutput().getBytes() );
+ err.write( '\n' );
+ err.flush();
+ callback.onExit( exitValue, stderr.getOutput() );
+ }
+ else
+ {
+ out.write( stdout.getOutput().getBytes() );
+ out.write( '\n' );
+ out.flush();
+ callback.onExit( exitValue, stdout.getOutput() );
+ }
+ }
+ /*
out.write( exitValue );
out.write( '\n' );
- out.flush();
+ */
+ out.flush();
}
public void destroy()
{
}
+
+ private void deleteQuietly( File f )
+ {
+
+ try
+ {
+ f.delete();
+ }
+ catch ( Exception e )
+ {
+ // ignore
+ }
+ }
}
+
static class TestSshFile
extends NativeSshFile
{
@@ -374,10 +408,16 @@ public class ScpWagonTest
}
}
- public void testWagonGetFileList()
- throws Exception
+ // file lastModified not return so don't support
+ protected boolean supportsGetIfNewer()
+ {
+ return false;
+ }
+
+ public void testWagon() throws Exception
{
- super.testWagonGetFileList();
+ super.testWagon();
}
+
}