[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:elastichosts-sat-p:bundle:1.3.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.3.0-SNAPSHOT (/Users/adriancole/workspace/git/jclouds/project/pom.xml) points at org.jclouds:jclouds-multi instead of org.sonatype.oss:oss-parent, please verify your project structure @ org.jclouds:jclouds-project:1.3.0-SNAPSHOT, /Users/adriancole/workspace/git/jclouds/project/pom.xml, line 24, column 13
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jclouds ElasticHosts Peer1 San Antonio provider 1.3.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ elastichosts-sat-p ---
[INFO] Deleting /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ elastichosts-sat-p ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ elastichosts-sat-p ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ elastichosts-sat-p ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2:process (process-remote-resources) @ elastichosts-sat-p ---
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:resources (default-resources) @ elastichosts-sat-p ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/src/main/clojure
[INFO] Copying 2 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ elastichosts-sat-p ---
[INFO] Compiling 2 source files to /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:testResources (default-testResources) @ elastichosts-sat-p ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/src/test/clojure
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ elastichosts-sat-p ---
[INFO] Compiling 4 source files to /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ elastichosts-sat-p ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest
Starting test testAllContains(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest)
Starting test testInRestProperties(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest)
Starting test testOfTypeContains(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest)
Starting test testWithId(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest)
[pool-2-thread-4] Test testWithId(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest) succeeded: 43ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest) succeeded: 47ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-1] Test testAllContains(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest) succeeded: 123ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioProviderTest) succeeded: 205ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.851 sec

Results :

Tests run: 4, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.8:test (test-clojure) @ elastichosts-sat-p ---

Testing com.theoryinpractise.clojure.testrunner

Ran 0 tests containing 0 assertions.
0 failures, 0 errors.
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:bundle (default-bundle) @ elastichosts-sat-p ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ elastichosts-sat-p ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/elastichosts-sat-p-1.3.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ elastichosts-sat-p ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ elastichosts-sat-p ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/elastichosts-sat-p-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ elastichosts-sat-p ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test testCompareSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
Starting test setServiceDefaults(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
Starting test testCreateDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
Jan 15, 2012 6:57:42 PM org.jclouds.compute.BaseComputeServiceLiveTest testCompareSizes
INFO: smallest [id=cpu=1000.000000,ram=512,disk=1.000000, providerId=cpu=1000.000000,ram=512,disk=1.000000, name=null, processors=[[cores=1.0, speed=1000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=1.0, device=null, durable=true, isBootDevice=true]], supportsImage=sizeLessThanOrEqual(1.0), tags=[]]
Jan 15, 2012 6:57:42 PM org.jclouds.compute.BaseComputeServiceLiveTest testCompareSizes
INFO: fastest [id=cpu=20000.000000,ram=512,disk=20.000000, providerId=cpu=20000.000000,ram=512,disk=20.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=20.0, device=null, durable=true, isBootDevice=true]], supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
Jan 15, 2012 6:57:42 PM org.jclouds.compute.BaseComputeServiceLiveTest testCompareSizes
INFO: biggest [id=cpu=20000.000000,ram=8192,disk=20.000000, providerId=cpu=20000.000000,ram=8192,disk=20.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=8192, volumes=[[id=null, type=LOCAL, size=20.0, device=null, durable=true, isBootDevice=true]], supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 6040ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testCorrectAuthException(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
smallest [id=cpu=1000.000000,ram=512,disk=1.000000, providerId=cpu=1000.000000,ram=512,disk=1.000000, name=null, processors=[[cores=1.0, speed=1000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=1.0, device=null, durable=true, isBootDevice=true]], supportsImage=sizeLessThanOrEqual(1.0), tags=[]]
fastest [id=cpu=20000.000000,ram=512,disk=20.000000, providerId=cpu=20000.000000,ram=512,disk=20.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=512, volumes=[[id=null, type=LOCAL, size=20.0, device=null, durable=true, isBootDevice=true]], supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
biggest [id=cpu=20000.000000,ram=8192,disk=20.000000, providerId=cpu=20000.000000,ram=8192,disk=20.000000, name=null, processors=[[cores=1.0, speed=20000.0]], ram=8192, volumes=[[id=null, type=LOCAL, size=20.0, device=null, durable=true, isBootDevice=true]], supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 7019ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testDefaultTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testFromTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 19ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
location [id=elastichosts-sat-p, scope=PROVIDER, description=https://api.sat-p.elastichosts.com, parent=null, iso3166Codes=[US-TX], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 8ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 72ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 7ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 928ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test testCreateAndRunAService(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testCreateDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 3385ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testGetDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 4089ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 24ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 73, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 80ms
Test suite progress: tests succeeded: 75, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 76, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 77, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 78, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 79, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 80, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 81, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 21ms
Test suite progress: tests succeeded: 82, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 83, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testGetDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 1175ms
Test suite progress: tests succeeded: 84, failed: 0, skipped: 0.
Starting test testGetServer(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 85, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 86, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 87, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 88, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 89, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 90, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 91, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 92, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 93, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 94, failed: 0, skipped: 0.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testGetServer(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 375ms
Test suite progress: tests succeeded: 95, failed: 0, skipped: 0.
Starting test testListDriveInfo(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 432ms
Test suite progress: tests succeeded: 96, failed: 0, skipped: 0.
Starting test testListDrives(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 390ms
Test suite progress: tests succeeded: 97, failed: 0, skipped: 0.
Starting test testListServers(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testListServers(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 385ms
Test suite progress: tests succeeded: 98, failed: 0, skipped: 0.
Starting test testWeCanReadAndWriteToDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testWeCanReadAndWriteToDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 4089ms
Test suite progress: tests succeeded: 99, failed: 0, skipped: 0.
Starting test testListServerInfo(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testListServerInfo(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 361ms
Test suite progress: tests succeeded: 100, failed: 0, skipped: 0.
Starting test testSetDriveData(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 7856ms
Test suite progress: tests succeeded: 101, failed: 0, skipped: 0.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testSetDriveData(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 1884ms
Test suite progress: tests succeeded: 102, failed: 0, skipped: 0.
Starting test testWeCopyADriveContentsViaGzip(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 7844ms
Test suite progress: tests succeeded: 103, failed: 0, skipped: 0.
Starting test testTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 104, failed: 0, skipped: 0.
before image; drive 2[size=4194304, claimType=exclusive, readers=[], uuid=a34be7db-8928-4318-a766-ba148a3527de, name=adriancole.test2, tags=[], userMetadata={}, status=active, user=8df7463d-94d0-4564-9037-30665f45ba47, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
before image; drive 3[size=4194304, claimType=exclusive, readers=[], uuid=b8b8265f-3378-4462-a216-ab618f40b411, name=adriancole.test3, tags=[], userMetadata={}, status=active, user=8df7463d-94d0-4564-9037-30665f45ba47, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
after image; drive 2[size=4194304, claimType=exclusive, readers=[], uuid=a34be7db-8928-4318-a766-ba148a3527de, name=adriancole.test2, tags=[], userMetadata={}, status=active, user=8df7463d-94d0-4564-9037-30665f45ba47, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
after image; drive 3[size=4194304, claimType=exclusive, readers=[], uuid=b8b8265f-3378-4462-a216-ab618f40b411, name=adriancole.test3, tags=[], userMetadata={}, status=active, user=8df7463d-94d0-4564-9037-30665f45ba47, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
[TestNG] Test testWeCopyADriveContentsViaGzip(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 35609ms
Test suite progress: tests succeeded: 105, failed: 0, skipped: 0.
Starting test testCreateAndStartServer(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
Jan 15, 2012 6:58:31 PM org.jclouds.elasticstack.ElasticStackClientLiveTest testCreateAndStartServer
INFO: preparing drive
before prepare[size=1073741824, claimType=shared, readers=[ffffffff-ffff-ffff-ffff-ffffffffffff], uuid=bfb3ab79-255c-4e54-8d67-c61211929ac3, name=rediculous, tags=[networking, security, gateway], userMetadata={foo=bar}, status=active, user=8df7463d-94d0-4564-9037-30665f45ba47, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
Jan 15, 2012 6:58:50 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << available node(e454a8ae-c6fa-489f-adbc-a98cdb01d685) os([name=Ubuntu Linux 11.10, family=ubuntu, version=11.10, arch=null, is64Bit=true, description=img/Ubuntu Linux 11.10/1]) in 65s
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
after prepare[size=1073741824, claimType=shared, readers=[ffffffff-ffff-ffff-ffff-ffffffffffff], uuid=bfb3ab79-255c-4e54-8d67-c61211929ac3, name=rediculous, tags=[networking, security, gateway], userMetadata={foo=bar}, status=active, user=8df7463d-94d0-4564-9037-30665f45ba47, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
Jan 15, 2012 6:59:11 PM org.jclouds.elasticstack.ElasticStackClientLiveTest testCreateAndStartServer
INFO: starting server
{"status":"ACTIVE","started":"Jan 16, 1970 12:31:22 AM","user":"8df7463d-94d0-4564-9037-30665f45ba47","metrics":{"txPackets":0,"tx":0,"rxPackets":0,"rx":0,"driveMetrics":{"ide:0:0":{"readBytes":0,"readRequests":0,"writeBytes":0,"writeRequests":0}}},"cpu":1000,"smp":1,"mem":512,"persistent":true,"devices":{"ide:0:0":{"bus":0,"unit":0,"driveUuid":"bfb3ab79-255c-4e54-8d67-c61211929ac3","mediaType":"DISK"}},"bootDeviceIds":["ide:0:0"],"nics":[{"dhcp":"216.152.134.32","model":"E1000","mac":"02:00:d8:98:86:20","block":[]}],"vnc":{"ip":"216.152.134.32","password":"Il0veVNC","tls":false},"uuid":"2a48912f-6c01-450e-9767-1a289953a446","name":"adriancole.test","tags":[],"userMetadata":{}}
[TestNG] Test testCreateAndStartServer(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 45771ms
Test suite progress: tests succeeded: 106, failed: 0, skipped: 0.
Starting test testConnectivity(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
Jan 15, 2012 6:59:16 PM org.jclouds.elasticstack.ElasticStackClientLiveTest testConnectivity
INFO: awaiting vnc: [address=216.152.134.32, port=5900]
Jan 15, 2012 6:59:33 PM org.jclouds.elasticstack.ElasticStackClientLiveTest testConnectivity
INFO: awaiting ssh: [address=216.152.134.32, port=22]
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda               1033144    661644    322036  68% /
udev                    244336         4    244332   1% /dev
tmpfs                   100900       216    100684   1% /run
none                      5120         4      5116   1% /run/lock
none                    252248         0    252248   0% /run/shm

/dev/sda on / type ext3 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)

Linux ubuntu 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

[TestNG] Test testConnectivity(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 19890ms
Test suite progress: tests succeeded: 107, failed: 0, skipped: 0.
Starting test testLifeCycle(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testLifeCycle(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 8835ms
Test suite progress: tests succeeded: 108, failed: 0, skipped: 0.
Starting test testSetServerConfiguration(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testSetServerConfiguration(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 3824ms
Test suite progress: tests succeeded: 109, failed: 0, skipped: 0.
Starting test testDestroyServer(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testDestroyServer(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 724ms
Test suite progress: tests succeeded: 110, failed: 0, skipped: 0.
Starting test testDestroyDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest)
[TestNG] Test testDestroyDrive(org.jclouds.elastichosts.ElasticHostsPeer1SanAntonioClientLiveTest) succeeded: 2113ms
Test suite progress: tests succeeded: 111, failed: 0, skipped: 0.
Jan 15, 2012 7:00:23 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << configured node(e454a8ae-c6fa-489f-adbc-a98cdb01d685) with java full version "1.7.0_02-b13" and JBoss 7.0.2.Final in 90s
Jan 15, 2012 7:00:30 PM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 209.132.182.31; check freegeoip
Jan 15, 2012 7:00:30 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jboss7(download.jboss.org) from perpective of node(e454a8ae-c6fa-489f-adbc-a98cdb01d685): 209.132.182.31
Jan 15, 2012 7:00:32 PM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 204.245.7.89; check freegeoip
Jan 15, 2012 7:00:32 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jdk7(download.oracle.com) from perpective of node(e454a8ae-c6fa-489f-adbc-a98cdb01d685): 204.245.7.89
Jan 15, 2012 7:00:33 PM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 216.152.134.33; check freegeoip
Jan 15, 2012 7:00:33 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of node(e454a8ae-c6fa-489f-adbc-a98cdb01d685) from perspective of amazonaws: 216.152.134.33
Jan 15, 2012 7:00:41 PM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << initial start of jboss on node(e454a8ae-c6fa-489f-adbc-a98cdb01d685) [backgroundProcessMilliseconds=4105, socketOpenMilliseconds=2332, reportedStartupTimeMilliseconds=3837]
Jan 15, 2012 7:00:48 PM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << warm start of jboss on node(e454a8ae-c6fa-489f-adbc-a98cdb01d685) [backgroundProcessMilliseconds=2579, socketOpenMilliseconds=1168, reportedStartupTimeMilliseconds=2522]
[TestNG] Test testCreateAndRunAService(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 190757ms
Test suite progress: tests succeeded: 112, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
Jan 15, 2012 7:00:54 PM org.jclouds.compute.BaseComputeServiceLiveTest testGetAssignableLocations
WARNING: location [id=elastichosts-sat-p, scope=PROVIDER, description=https://api.sat-p.elastichosts.com, parent=null, iso3166Codes=[US-TX], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 113, failed: 0, skipped: 0.
Starting test testImagesCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 114, failed: 0, skipped: 0.
Starting test testListImages(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 115, failed: 0, skipped: 0.
Starting test testListSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 116, failed: 0, skipped: 0.
Starting test testOptionToNotBlock(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 117, failed: 0, skipped: 0.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 349ms
Test suite progress: tests succeeded: 118, failed: 0, skipped: 0.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
<< problem applying options to node(579767f9-d2a4-43fd-ab69-2c259423d333): 
org.jclouds.rest.AuthorizationException: (toor:pw[5d907853a9617cfd55fb62eae803595b]@216.152.134.32:22) (toor:pw[5d907853a9617cfd55fb62eae803595b]@216.152.134.32:22) error acquiring SSHClient(timeout=60000) (out of retries - max 5): Exhausted available authentication methods
	at org.jclouds.sshj.SshjSshClient.propagate(SshjSshClient.java:414)
	at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:236)
	at org.jclouds.sshj.SshjSshClient.connect(SshjSshClient.java:255)
	at org.jclouds.compute.callables.RunScriptOnNodeUsingSsh.call(RunScriptOnNodeUsingSsh.java:73)
	at org.jclouds.compute.strategy.RunScriptOnNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(RunScriptOnNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:69)
	at org.jclouds.compute.strategy.RunScriptOnNodeAndAddToGoodMapOrPutExceptionIntoBadMap.call(RunScriptOnNodeAndAddToGoodMapOrPutExceptionIntoBadMap.java:44)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: net.schmizz.sshj.userauth.UserAuthException: Exhausted available authentication methods
	at net.schmizz.sshj.userauth.UserAuthImpl.authenticate(UserAuthImpl.java:114)
	at net.schmizz.sshj.SSHClient.auth(SSHClient.java:204)
	at net.schmizz.sshj.SSHClient.auth(SSHClient.java:189)
	at net.schmizz.sshj.SSHClient.authPassword(SSHClient.java:265)
	at net.schmizz.sshj.SSHClient.authPassword(SSHClient.java:235)
	at net.schmizz.sshj.SSHClient.authPassword(SSHClient.java:219)
	at org.jclouds.sshj.SshjSshClient$1.create(SshjSshClient.java:201)
	at org.jclouds.sshj.SshjSshClient$1.create(SshjSshClient.java:177)
	at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:226)
	... 9 more
Caused by: net.schmizz.sshj.userauth.UserAuthException: keyboard-interactive auth not allowed by server
	at net.schmizz.sshj.userauth.UserAuthImpl.authenticate(UserAuthImpl.java:81)
	... 17 more
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 130443ms
Test suite progress: tests succeeded: 119, failed: 0, skipped: 0.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 121509ms
Test suite progress: tests succeeded: 120, failed: 0, skipped: 0.
Starting test testTemplateMatch(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 121, failed: 0, skipped: 0.
Starting test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
Jan 15, 2012 7:05:07 PM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired
INFO: creating another node based on existing nodes' location: [id=elastichosts-sat-p, scope=PROVIDER, description=https://api.sat-p.elastichosts.com, parent=null, iso3166Codes=[US-TX], metadata={}]
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 78868ms
Test suite progress: tests succeeded: 122, failed: 0, skipped: 0.
Starting test testCredentialsCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testCredentialsCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 108ms
Test suite progress: tests succeeded: 123, failed: 0, skipped: 0.
Starting test testGet(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testGet(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 6834ms
Test suite progress: tests succeeded: 124, failed: 0, skipped: 0.
Starting test testReboot(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testReboot(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 5684ms
Test suite progress: tests succeeded: 125, failed: 0, skipped: 0.
Starting test testSuspendResume(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testSuspendResume(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 31805ms
Test suite progress: tests succeeded: 126, failed: 0, skipped: 0.
Starting test testGetNodesWithDetails(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testGetNodesWithDetails(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 390ms
Test suite progress: tests succeeded: 127, failed: 0, skipped: 0.
Starting test testListNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testListNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 427ms
Test suite progress: tests succeeded: 128, failed: 0, skipped: 0.
Starting test testDestroyNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest)
[TestNG] Test testDestroyNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1SanAntonioComputeServiceLiveTest) succeeded: 23050ms
Test suite progress: tests succeeded: 129, failed: 0, skipped: 0.
Tests run: 129, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 604.777 sec

Results :

Tests run: 129, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-install-plugin:2.3:install (default-install) @ elastichosts-sat-p ---
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/elastichosts-sat-p-1.3.0-SNAPSHOT.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/elastichosts-sat-p/1.3.0-SNAPSHOT/elastichosts-sat-p-1.3.0-SNAPSHOT.jar
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/pom.xml to /Users/adriancole/.m2/repository/org/jclouds/provider/elastichosts-sat-p/1.3.0-SNAPSHOT/elastichosts-sat-p-1.3.0-SNAPSHOT.pom
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/elastichosts-sat-p-1.3.0-SNAPSHOT-sources.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/elastichosts-sat-p/1.3.0-SNAPSHOT/elastichosts-sat-p-1.3.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/elastichosts-sat-p/target/elastichosts-sat-p-1.3.0-SNAPSHOT-tests.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/elastichosts-sat-p/1.3.0-SNAPSHOT/elastichosts-sat-p-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:install (default-install) @ elastichosts-sat-p ---
[INFO] Installing org/jclouds/provider/elastichosts-sat-p/1.3.0-SNAPSHOT/elastichosts-sat-p-1.3.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10:37.401s
[INFO] Finished at: Sun Jan 15 19:07:39 PST 2012
[INFO] Final Memory: 20M/265M
[INFO] ------------------------------------------------------------------------
