[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:openhosting-east1:bundle:1.4.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.4.0-SNAPSHOT (/Users/adriancole/git/1.4.x/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.4.0-SNAPSHOT, /Users/adriancole/git/1.4.x/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 Open Hosting East1 provider 1.4.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ openhosting-east1 ---
<<<<<<< HEAD
[INFO] Deleting /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target
=======
[INFO] Deleting /Users/adriancole/workspace/git/1.4.x/jclouds/providers/openhosting-east1/target
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ openhosting-east1 ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ openhosting-east1 ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ openhosting-east1 ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2:process (process-remote-resources) @ openhosting-east1 ---
[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) @ openhosting-east1 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/src/main/clojure
[INFO] Copying 2 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ openhosting-east1 ---
[INFO] Compiling 4 source files to /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:testResources (default-testResources) @ openhosting-east1 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/src/test/clojure
[INFO] skip non existing resourceDirectory /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ openhosting-east1 ---
[INFO] Compiling 4 source files to /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ openhosting-east1 ---
[INFO] Surefire report directory: /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.openhosting.OpenHostingEast1ProviderTest
<<<<<<< HEAD
Starting test testWithId(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
Starting test testInRestProperties(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
Starting test testAllContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
Starting test testOfTypeContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 26ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 28ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-4] Test testWithId(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 29ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 52ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.446 sec
=======
Starting test testAllContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
Starting test testInRestProperties(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
Starting test testOfTypeContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
Starting test testWithId(org.jclouds.openhosting.OpenHostingEast1ProviderTest)
[pool-2-thread-4] Test testWithId(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 493ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 638ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-1] Test testAllContains(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 662ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.openhosting.OpenHostingEast1ProviderTest) succeeded: 849ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.077 sec
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff

Results :

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

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.8:test (test-clojure) @ openhosting-east1 ---

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) @ openhosting-east1 ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ openhosting-east1 ---
[INFO] Building jar: /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/openhosting-east1-1.4.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ openhosting-east1 ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ openhosting-east1 ---
[INFO] Building jar: /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/openhosting-east1-1.4.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ openhosting-east1 ---
[INFO] Surefire report directory: /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/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.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
Starting test setServiceDefaults(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
Starting test testCreateDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
<<<<<<< HEAD
Mar 13, 2012 9:58:35 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(1.0), tags=[]]
Mar 13, 2012 9:58:35 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
Mar 13, 2012 9:58:35 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 12402ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testCorrectAuthException(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
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]], hypervisor=kvm, 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]], hypervisor=kvm, 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 12636ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testFromTemplate(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 7ms
=======
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]], hypervisor=kvm, 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]], hypervisor=kvm, 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 6057ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testFromTemplate(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
Mar 8, 2012 12:07:10 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(1.0), tags=[]]
Mar 8, 2012 12:07:10 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
Mar 8, 2012 12:07:10 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]], hypervisor=kvm, supportsImage=sizeLessThanOrEqual(20.0), tags=[]]
[TestNG] Test testCompareSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 5099ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testCorrectAuthException(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testFromTemplate(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 14ms
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
location [id=openhosting-east1, scope=PROVIDER, description=https://api.east1.openhosting.com, parent=null, iso3166Codes=[US-FL], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 12ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 13ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3ms
=======
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 7ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 20ms
=======
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3ms
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCanFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testTemplateBuilderCanUseImageId(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testCorrectAuthException(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 719ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test testCreateAndRunAService(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3298ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
=======
[TestNG] Test testCreateDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) failed.
Test suite progress: tests succeeded: 16, failed: 1, skipped: 0.
Starting test testGetDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testGetDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 484ms
Test suite progress: tests succeeded: 17, failed: 1, skipped: 0.
Starting test testGetServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 1268ms
Test suite progress: tests succeeded: 18, failed: 1, skipped: 0.
Mar 8, 2012 12:07:11 PM com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair execute
SEVERE: RuntimeException while executing runnable com.google.common.util.concurrent.Futures$ChainingListenableFuture@3981e7fe with executor java.util.concurrent.ThreadPoolExecutor@7fa5f230
java.util.concurrent.RejectedExecutionException
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribingExecutorService.execute(ExecutorServiceModule.java:200)
	at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:149)
	at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:134)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:72)
	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)
Starting test testCreateAndRunAService(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testGetServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 519ms
Test suite progress: tests succeeded: 19, failed: 1, skipped: 0.
Starting test testListDriveInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 459ms
Test suite progress: tests succeeded: 20, failed: 1, skipped: 0.
Starting test testListDrives(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 470ms
Test suite progress: tests succeeded: 21, failed: 1, skipped: 0.
Starting test testListServers(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testListServers(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 464ms
Test suite progress: tests succeeded: 22, failed: 1, skipped: 0.
Starting test testWeCanReadAndWriteToDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testCreateAndRunAService(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 22, failed: 2, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
Mar 8, 2012 12:07:14 PM org.jclouds.compute.BaseComputeServiceLiveTest testGetAssignableLocations
WARNING: location [id=openhosting-east1, scope=PROVIDER, description=https://api.east1.openhosting.com, parent=null, iso3166Codes=[US-FL], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 23, failed: 2, skipped: 0.
Starting test testImagesCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 24, failed: 2, skipped: 0.
Starting test testListImages(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 25, failed: 2, skipped: 0.
Starting test testListSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 26, failed: 2, skipped: 0.
Starting test testOptionToNotBlock(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 27, failed: 2, skipped: 0.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testWeCanReadAndWriteToDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) failed.
Test suite progress: tests succeeded: 27, failed: 3, skipped: 0.
Starting test testListServerInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testTemplateBuilderCanUseImageId(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3836ms
Test suite progress: tests succeeded: 28, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 29, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 30, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 31, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 32, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 33, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 34, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 35, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 38, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 39, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 40, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 41, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 43, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 46, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 47, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 48, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 49, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 50, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 51, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 52, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 55, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 56, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 57, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 58, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 60, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 61, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 62, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 63, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 64, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 65, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 66, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 69, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 10ms
Test suite progress: tests succeeded: 70, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 71, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 72, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 73, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 75, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 76, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 77, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 78, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 79, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 74, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 75, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 76, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 77, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 78, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 79, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 80, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 2ms
Test suite progress: tests succeeded: 81, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 82, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 83, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 84, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 85, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 86, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 87, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 80, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 81, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 82, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 83, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
<<<<<<< HEAD
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 84, failed: 0, skipped: 0.
=======
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 92, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 93, failed: 3, skipped: 0.
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 85, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 86, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
<<<<<<< HEAD
Test suite progress: tests succeeded: 87, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 88, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 89, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 9ms
Test suite progress: tests succeeded: 90, failed: 0, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 4ms
Test suite progress: tests succeeded: 91, failed: 0, skipped: 0.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testCreateDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 3820ms
Test suite progress: tests succeeded: 92, failed: 0, skipped: 0.
Starting test testGetDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testGetDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 2256ms
Test suite progress: tests succeeded: 93, failed: 0, skipped: 0.
Starting test testGetServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testGetServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 1823ms
Test suite progress: tests succeeded: 94, failed: 0, skipped: 0.
Starting test testListDriveInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 497ms
Test suite progress: tests succeeded: 95, failed: 0, skipped: 0.
Starting test testListDrives(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 448ms
Test suite progress: tests succeeded: 96, failed: 0, skipped: 0.
Starting test testListServers(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testListServers(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 456ms
Test suite progress: tests succeeded: 97, failed: 0, skipped: 0.
Starting test testWeCanReadAndWriteToDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 6648ms
Test suite progress: tests succeeded: 98, failed: 0, skipped: 0.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testWeCanReadAndWriteToDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 7286ms
Test suite progress: tests succeeded: 99, failed: 0, skipped: 0.
Starting test testListServerInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 6579ms
Test suite progress: tests succeeded: 100, failed: 0, skipped: 0.
Starting test testDefaultTemplateBuilder(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 101, failed: 0, skipped: 0.
[TestNG] Test testListServerInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 468ms
Test suite progress: tests succeeded: 102, failed: 0, skipped: 0.
Starting test testSetDriveData(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testSetDriveData(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 6824ms
Test suite progress: tests succeeded: 103, failed: 0, skipped: 0.
Starting test testWeCopyADriveContentsViaGzip(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
before image; drive 2[size=4194304, claimType=exclusive, readers=[], uuid=a81dd14d-0bdd-4142-80e1-22585710effe, name=adriancole.test2, tags=[], userMetadata={}, status=active, user=cd452323-6a06-45b9-8ba0-eadd67f6ba8d, 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=498f6a22-c47d-43c1-9c94-913d4acd7e91, name=adriancole.test3, tags=[], userMetadata={}, status=active, user=cd452323-6a06-45b9-8ba0-eadd67f6ba8d, 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=a81dd14d-0bdd-4142-80e1-22585710effe, name=adriancole.test2, tags=[], userMetadata={}, status=active, user=cd452323-6a06-45b9-8ba0-eadd67f6ba8d, 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=498f6a22-c47d-43c1-9c94-913d4acd7e91, name=adriancole.test3, tags=[], userMetadata={}, status=active, user=cd452323-6a06-45b9-8ba0-eadd67f6ba8d, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
[TestNG] Test testWeCopyADriveContentsViaGzip(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 37617ms
Test suite progress: tests succeeded: 104, failed: 0, skipped: 0.
Starting test testCreateAndStartServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
Mar 13, 2012 9:59:37 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testCreateAndStartServer
INFO: preparing drive
before prepare[size=1073741824, claimType=shared, readers=[ffffffff-ffff-ffff-ffff-ffffffffffff], uuid=20971327-7f1f-4a80-aa5e-34cd024ee320, name=rediculous, tags=[networking, security, gateway], userMetadata={foo=bar}, status=active, user=cd452323-6a06-45b9-8ba0-eadd67f6ba8d, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
Mar 13, 2012 9:59:48 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << available node(e32e559a-2462-471a-9f46-d5690377053a) os([name=Ubuntu 10.04.3 LTS (lucid) Server 64, family=ubuntu, version=10.04, arch=null, is64Bit=true, description=img/Ubuntu 10.04.3 LTS (lucid) Server 64/1]) in 69s
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=20971327-7f1f-4a80-aa5e-34cd024ee320, name=rediculous, tags=[networking, security, gateway], userMetadata={foo=bar}, status=active, user=cd452323-6a06-45b9-8ba0-eadd67f6ba8d, claimed=[], encryptionCipher=aes-xts-plain, imaging=null, metrics=[readBytes=0, readRequests=0, writeBytes=0, writeRequests=0]]
Mar 13, 2012 10:00:25 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testCreateAndStartServer
INFO: starting server
{"status":"ACTIVE","started":"Jan 16, 1970 1:54:18 AM","user":"cd452323-6a06-45b9-8ba0-eadd67f6ba8d","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":"20971327-7f1f-4a80-aa5e-34cd024ee320","mediaType":"DISK"}},"bootDeviceIds":["ide:0:0"],"nics":[{"dhcp":"206.191.128.200","model":"E1000","mac":"02:00:ce:bf:80:c8","block":[]}],"vnc":{"ip":"206.191.128.200","password":"Il0veVNC","tls":false},"uuid":"1449527b-cd49-42e7-a1bd-44c25eb1ae40","name":"adriancole.test","tags":[],"userMetadata":{}}
[TestNG] Test testCreateAndStartServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 52444ms
Test suite progress: tests succeeded: 105, failed: 0, skipped: 0.
Starting test testConnectivity(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
Mar 13, 2012 10:00:29 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testConnectivity
INFO: awaiting vnc: [address=206.191.128.200, port=5900]
Mar 13, 2012 10:00:29 AM org.jclouds.elasticstack.ElasticStackClientLiveTest testConnectivity
INFO: awaiting ssh: [address=206.191.128.200, port=22]
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda               1032792    493172    488636  51% /
none                    248432       160    248272   1% /dev
none                    252964         0    252964   0% /dev/shm
none                    252964        40    252924   1% /var/run
none                    252964         0    252964   0% /var/lock
none                    252964         0    252964   0% /lib/init/rw
=======
Test suite progress: tests succeeded: 96, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 97, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 98, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 99, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 100, failed: 3, skipped: 0.
Starting test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderCannotFind(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 101, failed: 3, skipped: 0.
Starting test testTemplateBuilderWithImageIdSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 776ms
Test suite progress: tests succeeded: 102, failed: 3, skipped: 0.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testListServerInfo(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 541ms
Test suite progress: tests succeeded: 103, failed: 3, skipped: 0.
[TestNG] Test testSetDriveData(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 1.
[TestNG] Test testWeCopyADriveContentsViaGzip(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 2.
[TestNG] Test testCreateAndStartServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 3.
[TestNG] Test testConnectivity(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 4.
[TestNG] Test testLifeCycle(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 5.
[TestNG] Test testSetServerConfiguration(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 6.
[TestNG] Test testDestroyServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 7.
[TestNG] Test testDestroyDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) skipped.
Test suite progress: tests succeeded: 103, failed: 3, skipped: 8.
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 103, failed: 4, skipped: 8.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 103, failed: 5, skipped: 8.
Starting test testTemplateMatch(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 3ms
Test suite progress: tests succeeded: 104, failed: 5, skipped: 8.
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 9.
[TestNG] Test testCredentialsCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 10.
[TestNG] Test testGet(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 11.
[TestNG] Test testReboot(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 12.
[TestNG] Test testSuspendResume(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 13.
[TestNG] Test testGetNodesWithDetails(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 14.
[TestNG] Test testListNodes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 15.
[TestNG] Test testDestroyNodes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 104, failed: 5, skipped: 16.
[TestNG] Test testTemplateBuilderWithImageIdSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 7260ms
Test suite progress: tests succeeded: 105, failed: 5, skipped: 16.
Starting test testTemplateBuilderWithLoginUserSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testTemplateBuilderWithLoginUserSpecified(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 7295ms
Test suite progress: tests succeeded: 106, failed: 5, skipped: 16.
Starting test testDefaultTemplateBuilder(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest)
[TestNG] Test testDefaultTemplateBuilder(org.jclouds.openhosting.compute.OpenHostingEast1TemplateBuilderLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 107, failed: 5, skipped: 16.
Tests run: 128, Failures: 5, Errors: 0, Skipped: 16, Time elapsed: 33.505 sec <<< FAILURE!
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff

/dev/sda on / type ext3 (rw,noatime)
proc on /proc type proc (rw)
none 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)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)

Linux ubuntu 2.6.32-34-generic #77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 x86_64 GNU/Linux

[TestNG] Test testConnectivity(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 20009ms
Test suite progress: tests succeeded: 106, failed: 0, skipped: 0.
Starting test testLifeCycle(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testLifeCycle(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 7503ms
Test suite progress: tests succeeded: 107, failed: 0, skipped: 0.
Starting test testSetServerConfiguration(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testSetServerConfiguration(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 4102ms
Test suite progress: tests succeeded: 108, failed: 0, skipped: 0.
Starting test testDestroyServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testDestroyServer(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 1200ms
Test suite progress: tests succeeded: 109, failed: 0, skipped: 0.
Starting test testDestroyDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest)
[TestNG] Test testDestroyDrive(org.jclouds.openhosting.OpenHostingEast1ClientLiveTest) succeeded: 2510ms
Test suite progress: tests succeeded: 110, failed: 0, skipped: 0.
Mar 13, 2012 10:01:23 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << configured node(e32e559a-2462-471a-9f46-d5690377053a) with java full version "1.7.0-b147" and JBoss 7.0.2.Final in 91s
Mar 13, 2012 10:01:28 AM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 209.132.182.31; check freegeoip
Mar 13, 2012 10:01:28 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jboss7(download.jboss.org) from perpective of node(e32e559a-2462-471a-9f46-d5690377053a): 209.132.182.31
Mar 13, 2012 10:01:30 AM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 65.197.197.8; check freegeoip
Mar 13, 2012 10:01:30 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of jdk7(download.oracle.com) from perpective of node(e32e559a-2462-471a-9f46-d5690377053a): 65.197.197.8
Mar 13, 2012 10:01:33 AM org.jclouds.compute.BaseComputeServiceLiveTest getLocationForIp
WARNING: could not get info on ip 69.25.178.26; check freegeoip
Mar 13, 2012 10:01:33 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAndRunAService
INFO: << location of node(e32e559a-2462-471a-9f46-d5690377053a) from perspective of amazonaws: 69.25.178.26
Mar 13, 2012 10:01:41 AM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << initial start of jboss on node(e32e559a-2462-471a-9f46-d5690377053a) [backgroundProcessMilliseconds=4936, socketOpenMilliseconds=1044, reportedStartupTimeMilliseconds=2655]
Mar 13, 2012 10:01:48 AM org.jclouds.compute.BaseComputeServiceLiveTest trackAvailabilityOfProcessOnNode
INFO: << warm start of jboss on node(e32e559a-2462-471a-9f46-d5690377053a) [backgroundProcessMilliseconds=2837, socketOpenMilliseconds=1278, reportedStartupTimeMilliseconds=2690]
[TestNG] Test testCreateAndRunAService(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 199599ms
Test suite progress: tests succeeded: 111, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
Mar 13, 2012 10:01:56 AM org.jclouds.compute.BaseComputeServiceLiveTest testGetAssignableLocations
WARNING: location [id=openhosting-east1, scope=PROVIDER, description=https://api.east1.openhosting.com, parent=null, iso3166Codes=[US-FL], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 112, failed: 0, skipped: 0.
Starting test testImagesCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 113, failed: 0, skipped: 0.
Starting test testListImages(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 114, failed: 0, skipped: 0.
Starting test testListSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 115, failed: 0, skipped: 0.
Starting test testOptionToNotBlock(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 116, failed: 0, skipped: 0.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 486ms
Test suite progress: tests succeeded: 117, failed: 0, skipped: 0.
Starting test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
<< problem applying options to node(4817f8af-ef6d-4377-811d-08d039cb98d4): 
org.jclouds.rest.AuthorizationException: (toor:pw[5d907853a9617cfd55fb62eae803595b]@69.25.178.26:22) (toor:pw[5d907853a9617cfd55fb62eae803595b]@69.25.178.26:22) error acquiring SSHClient(timeout=60000) (out of retries - max 5): Exhausted available authentication methods
	at org.jclouds.sshj.SshjSshClient.propagate(SshjSshClient.java:416)
	at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:238)
	at org.jclouds.sshj.SshjSshClient.connect(SshjSshClient.java:257)
	at org.jclouds.compute.callables.RunScriptOnNodeUsingSsh.call(RunScriptOnNodeUsingSsh.java:80)
	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:203)
	at org.jclouds.sshj.SshjSshClient$1.create(SshjSshClient.java:179)
	at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:228)
	... 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.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 182038ms
Test suite progress: tests succeeded: 118, failed: 0, skipped: 0.
Starting test testCreateTwoNodesWithRunScript(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 197850ms
Test suite progress: tests succeeded: 119, failed: 0, skipped: 0.
Starting test testTemplateMatch(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 6ms
Test suite progress: tests succeeded: 120, failed: 0, skipped: 0.
Starting test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
Mar 13, 2012 10:08:16 AM org.jclouds.compute.BaseComputeServiceLiveTest testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired
INFO: creating another node based on existing nodes' location: [id=openhosting-east1, scope=PROVIDER, description=https://api.east1.openhosting.com, parent=null, iso3166Codes=[US-FL], metadata={}]
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 98285ms
Test suite progress: tests succeeded: 121, failed: 0, skipped: 0.
Starting test testCredentialsCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testCredentialsCache(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 88ms
Test suite progress: tests succeeded: 122, failed: 0, skipped: 0.
Starting test testGet(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testGet(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 6552ms
Test suite progress: tests succeeded: 123, failed: 0, skipped: 0.
Starting test testReboot(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testReboot(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 7314ms
Test suite progress: tests succeeded: 124, failed: 0, skipped: 0.
Starting test testSuspendResume(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testSuspendResume(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 25884ms
Test suite progress: tests succeeded: 125, failed: 0, skipped: 0.
Starting test testGetNodesWithDetails(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testGetNodesWithDetails(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 458ms
Test suite progress: tests succeeded: 126, failed: 0, skipped: 0.
Starting test testListNodes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testListNodes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 445ms
Test suite progress: tests succeeded: 127, failed: 0, skipped: 0.
Starting test testDestroyNodes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest)
[TestNG] Test testDestroyNodes(org.jclouds.openhosting.compute.OpenHostingEast1ComputeServiceLiveTest) succeeded: 10201ms
Test suite progress: tests succeeded: 128, failed: 0, skipped: 0.
Tests run: 128, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 746.155 sec

Results :

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

[INFO] 
[INFO] --- maven-install-plugin:2.3:install (default-install) @ openhosting-east1 ---
[INFO] Installing /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/openhosting-east1-1.4.0-SNAPSHOT.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/openhosting-east1/1.4.0-SNAPSHOT/openhosting-east1-1.4.0-SNAPSHOT.jar
[INFO] Installing /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/pom.xml to /Users/adriancole/.m2/repository/org/jclouds/provider/openhosting-east1/1.4.0-SNAPSHOT/openhosting-east1-1.4.0-SNAPSHOT.pom
[INFO] Installing /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/openhosting-east1-1.4.0-SNAPSHOT-sources.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/openhosting-east1/1.4.0-SNAPSHOT/openhosting-east1-1.4.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/adriancole/git/1.4.x/jclouds/providers/openhosting-east1/target/openhosting-east1-1.4.0-SNAPSHOT-tests.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/openhosting-east1/1.4.0-SNAPSHOT/openhosting-east1-1.4.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:install (default-install) @ openhosting-east1 ---
[INFO] Installing org/jclouds/provider/openhosting-east1/1.4.0-SNAPSHOT/openhosting-east1-1.4.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
<<<<<<< HEAD
[INFO] Total time: 12:39.694s
[INFO] Finished at: Tue Mar 13 10:10:48 PDT 2012
[INFO] Final Memory: 19M/125M
=======
[INFO] Total time: 1:15.711s
[INFO] Finished at: Thu Mar 08 12:07:32 PST 2012
[INFO] Final Memory: 21M/265M
>>>>>>> e2cfe390847eb0d01fab013d5f5a437de87460ff
[INFO] ------------------------------------------------------------------------
