[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:elastichosts-tor-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 Toronto provider 1.3.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ elastichosts-tor-p ---
[INFO] Deleting /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ elastichosts-tor-p ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ elastichosts-tor-p ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ elastichosts-tor-p ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2:process (process-remote-resources) @ elastichosts-tor-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-tor-p ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/src/main/clojure
[INFO] Copying 2 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ elastichosts-tor-p ---
[INFO] Compiling 2 source files to /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:testResources (default-testResources) @ elastichosts-tor-p ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/src/test/clojure
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ elastichosts-tor-p ---
[INFO] Compiling 4 source files to /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ elastichosts-tor-p ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest
Starting test testAllContains(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest)
Starting test testOfTypeContains(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest)
Starting test testWithId(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest)
Starting test testInRestProperties(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest) succeeded: 34ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest) succeeded: 26ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-4] Test testWithId(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest) succeeded: 28ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.elastichosts.ElasticHostsPeer1TorontoProviderTest) succeeded: 76ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.446 sec

Results :

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

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.8:test (test-clojure) @ elastichosts-tor-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-tor-p ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ elastichosts-tor-p ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/target/elastichosts-tor-p-1.3.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ elastichosts-tor-p ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ elastichosts-tor-p ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-p/target/elastichosts-tor-p-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ elastichosts-tor-p ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/elastichosts-tor-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.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
Starting test setServiceDefaults(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
Starting test testCreateDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
Jan 15, 2012 6:59:14 AM 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:59:14 AM 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:59:14 AM 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=[]]
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.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 5218ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testDefaultTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testCompareSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 4887ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testCorrectAuthException(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testFromTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 37ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
location [id=elastichosts-tor-p, scope=PROVIDER, description=https://api.tor-p.elastichosts.com, parent=null, iso3166Codes=[CA-ON], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 900ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test testCreateAndRunAService(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testCreateDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 2730ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testGetDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testGetDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 1449ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testGetServer(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testGetServer(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 463ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testListDriveInfo(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 4541ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 18ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 7ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 73, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 74, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 75, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 76, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 77, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 78, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 79, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 80, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 81, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 82, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 83, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 84, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 85, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 86, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 87, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 88, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 89, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 90, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 91, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 92, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 93, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 94, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 95, failed: 0, skipped: 0.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 466ms
Test suite progress: tests succeeded: 96, failed: 0, skipped: 0.
Starting test testListDrives(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 458ms
Test suite progress: tests succeeded: 97, failed: 0, skipped: 0.
Starting test testListServers(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testListServers(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 463ms
Test suite progress: tests succeeded: 98, failed: 0, skipped: 0.
Starting test testWeCanReadAndWriteToDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testWeCanReadAndWriteToDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 2998ms
Test suite progress: tests succeeded: 99, failed: 0, skipped: 0.
Starting test testListServerInfo(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testListServerInfo(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 463ms
Test suite progress: tests succeeded: 100, failed: 0, skipped: 0.
Starting test testSetDriveData(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testSetDriveData(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 1766ms
Test suite progress: tests succeeded: 101, failed: 0, skipped: 0.
Starting test testWeCopyADriveContentsViaGzip(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 8533ms
Test suite progress: tests succeeded: 102, failed: 0, skipped: 0.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
before image; drive 2[size=4194304, claimType=exclusive, readers=[], uuid=45f5ca81-e296-467e-8dd2-ab25b01a55db, name=adriancole.test2, tags=[], userMetadata={}, status=active, user=7a7d3f20-d760-4ea7-b27f-426afe5ec5c5, 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=527e1af2-89f6-486c-aea7-32c4601bfba3, name=adriancole.test3, tags=[], userMetadata={}, status=active, user=7a7d3f20-d760-4ea7-b27f-426afe5ec5c5, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 8574ms
Test suite progress: tests succeeded: 103, failed: 0, skipped: 0.
Starting test testTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilder(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoTemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 104, failed: 0, skipped: 0.
after image; drive 2[size=4194304, claimType=exclusive, readers=[], uuid=45f5ca81-e296-467e-8dd2-ab25b01a55db, name=adriancole.test2, tags=[], userMetadata={}, status=active, user=7a7d3f20-d760-4ea7-b27f-426afe5ec5c5, 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=527e1af2-89f6-486c-aea7-32c4601bfba3, name=adriancole.test3, tags=[], userMetadata={}, status=active, user=7a7d3f20-d760-4ea7-b27f-426afe5ec5c5, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
[TestNG] Test testWeCopyADriveContentsViaGzip(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 23655ms
Test suite progress: tests succeeded: 105, failed: 0, skipped: 0.
Starting test testCreateAndStartServer(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
Jan 15, 2012 6:59:49 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testCreateAndStartServer
INFO: preparing drive
before prepare[size=1073741824, claimType=shared, readers=[ffffffff-ffff-ffff-ffff-ffffffffffff], uuid=5ed21aa1-c8c2-4349-808e-4e071721f7f6, name=rediculous, tags=[networking, security, gateway], userMetadata={foo=bar}, status=active, user=7a7d3f20-d760-4ea7-b27f-426afe5ec5c5, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
Jan 15, 2012 7:00:21 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << available node(0a00a221-16e4-445b-9745-ddfa430628fb) 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=5ed21aa1-c8c2-4349-808e-4e071721f7f6, name=rediculous, tags=[networking, security, gateway], userMetadata={foo=bar}, status=active, user=7a7d3f20-d760-4ea7-b27f-426afe5ec5c5, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
Jan 15, 2012 7:00:37 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testCreateAndStartServer
INFO: starting server
{"status":"ACTIVE","started":"Jan 16, 1970 12:30:39 AM","user":"7a7d3f20-d760-4ea7-b27f-426afe5ec5c5","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":"5ed21aa1-c8c2-4349-808e-4e071721f7f6","mediaType":"DISK"}},"bootDeviceIds":["ide:0:0"],"nics":[{"dhcp":"107.6.4.175","model":"E1000","mac":"02:00:6b:06:04:af","block":[]}],"vnc":{"ip":"107.6.4.175","password":"Il0veVNC","tls":false},"uuid":"d02d7301-0e12-498e-a590-1eec0f6d0384","name":"adriancole.test","tags":[],"userMetadata":{}}
[TestNG] Test testCreateAndStartServer(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 52183ms
Test suite progress: tests succeeded: 106, failed: 0, skipped: 0.
Starting test testConnectivity(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
Jan 15, 2012 7:00:41 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testConnectivity
INFO: awaiting vnc: [address=107.6.4.175, port=5900]
Jan 15, 2012 7:00:41 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testConnectivity
INFO: awaiting ssh: [address=107.6.4.175, port=22]
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda               1033144    661656    322024  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.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 19172ms
Test suite progress: tests succeeded: 107, failed: 0, skipped: 0.
Starting test testLifeCycle(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testLifeCycle(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 11519ms
Test suite progress: tests succeeded: 108, failed: 0, skipped: 0.
Starting test testSetServerConfiguration(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testSetServerConfiguration(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 3673ms
Test suite progress: tests succeeded: 109, failed: 0, skipped: 0.
Starting test testDestroyServer(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testDestroyServer(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 957ms
Test suite progress: tests succeeded: 110, failed: 0, skipped: 0.
Starting test testDestroyDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest)
[TestNG] Test testDestroyDrive(org.jclouds.elastichosts.ElasticHostsPeer1TorontoClientLiveTest) succeeded: 2063ms
Test suite progress: tests succeeded: 111, failed: 0, skipped: 0.
Jan 15, 2012 7:02:09 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << configured node(0a00a221-16e4-445b-9745-ddfa430628fb) with java full version "1.7.0_02-b13" and JBoss 7.0.2.Final in 104s
Jan 15, 2012 7:02:11 AM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 209.132.182.31; check freegeoip
Jan 15, 2012 7:02:11 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jboss7(download.jboss.org) from perpective of node(0a00a221-16e4-445b-9745-ddfa430628fb): 209.132.182.31
Jan 15, 2012 7:02:13 AM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 67.148.147.41; check freegeoip
Jan 15, 2012 7:02:13 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jdk7(download.oracle.com) from perpective of node(0a00a221-16e4-445b-9745-ddfa430628fb): 67.148.147.41
Jan 15, 2012 7:02:15 AM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 107.6.4.90; check freegeoip
Jan 15, 2012 7:02:15 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of node(0a00a221-16e4-445b-9745-ddfa430628fb) from perspective of amazonaws: 107.6.4.90
Jan 15, 2012 7:02:25 AM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << initial start of jboss on node(0a00a221-16e4-445b-9745-ddfa430628fb) [backgroundProcessMilliseconds=4964, socketOpenMilliseconds=2528, reportedStartupTimeMilliseconds=4313]
Jan 15, 2012 7:02:33 AM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << warm start of jboss on node(0a00a221-16e4-445b-9745-ddfa430628fb) [backgroundProcessMilliseconds=2802, socketOpenMilliseconds=1894, reportedStartupTimeMilliseconds=3531]
[TestNG] Test testCreateAndRunAService(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 205083ms
Test suite progress: tests succeeded: 112, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
Jan 15, 2012 7:02:40 AM org.jclouds.compute.BaseComputeServiceLiveTest testGetAssignableLocations
WARNING: location [id=elastichosts-tor-p, scope=PROVIDER, description=https://api.tor-p.elastichosts.com, parent=null, iso3166Codes=[CA-ON], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 113, failed: 0, skipped: 0.
Starting test testImagesCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 114, failed: 0, skipped: 0.
Starting test testListImages(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 115, failed: 0, skipped: 0.
Starting test testListSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 116, failed: 0, skipped: 0.
Starting test testOptionToNotBlock(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 117, failed: 0, skipped: 0.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 462ms
Test suite progress: tests succeeded: 118, failed: 0, skipped: 0.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
<< problem applying options to node(ab6811bd-5a06-42fc-8f26-80319065485a): 
org.jclouds.rest.AuthorizationException: (toor:pw[5d907853a9617cfd55fb62eae803595b]@107.6.4.90:22) (toor:pw[5d907853a9617cfd55fb62eae803595b]@107.6.4.90: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.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 155279ms
Test suite progress: tests succeeded: 119, failed: 0, skipped: 0.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 150352ms
Test suite progress: tests succeeded: 120, failed: 0, skipped: 0.
Starting test testTemplateMatch(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 121, failed: 0, skipped: 0.
Starting test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
Jan 15, 2012 7:07:46 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired
INFO: creating another node based on existing nodes' location: [id=elastichosts-tor-p, scope=PROVIDER, description=https://api.tor-p.elastichosts.com, parent=null, iso3166Codes=[CA-ON], metadata={}]
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 95805ms
Test suite progress: tests succeeded: 122, failed: 0, skipped: 0.
Starting test testCredentialsCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testCredentialsCache(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 81ms
Test suite progress: tests succeeded: 123, failed: 0, skipped: 0.
Starting test testGet(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testGet(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 7523ms
Test suite progress: tests succeeded: 124, failed: 0, skipped: 0.
Starting test testReboot(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testReboot(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 6749ms
Test suite progress: tests succeeded: 125, failed: 0, skipped: 0.
Starting test testSuspendResume(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testSuspendResume(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 22932ms
Test suite progress: tests succeeded: 126, failed: 0, skipped: 0.
Starting test testGetNodesWithDetails(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testGetNodesWithDetails(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 472ms
Test suite progress: tests succeeded: 127, failed: 0, skipped: 0.
Starting test testListNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testListNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 468ms
Test suite progress: tests succeeded: 128, failed: 0, skipped: 0.
Starting test testDestroyNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest)
[TestNG] Test testDestroyNodes(org.jclouds.elastichosts.compute.ElasticHostsPeer1TorontoComputeServiceLiveTest) succeeded: 7822ms
Test suite progress: tests succeeded: 129, failed: 0, skipped: 0.
Tests run: 129, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 662.891 sec

Results :

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

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