[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:hpcloud-objectstorage-lvs:bundle:1.3.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.3.0-SNAPSHOT (/Users/adriancole/workspace/git/jclouds/project/pom.xml) points at org.jclouds:jclouds-multi instead of org.sonatype.oss:oss-parent, please verify your project structure @ org.jclouds:jclouds-project:1.3.0-SNAPSHOT, /Users/adriancole/workspace/git/jclouds/project/pom.xml, line 24, column 13
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jclouds HP Cloud Object Storage in Las Vegas (SuperNAP) 1.3.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ hpcloud-objectstorage-lvs ---
[INFO] Deleting /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ hpcloud-objectstorage-lvs ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ hpcloud-objectstorage-lvs ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ hpcloud-objectstorage-lvs ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2:process (process-remote-resources) @ hpcloud-objectstorage-lvs ---
[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) @ hpcloud-objectstorage-lvs ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ hpcloud-objectstorage-lvs ---
[INFO] Compiling 18 source files to /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:testResources (default-testResources) @ hpcloud-objectstorage-lvs ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/src/test/clojure
[INFO] Copying 2 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ hpcloud-objectstorage-lvs ---
[INFO] Compiling 13 source files to /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ hpcloud-objectstorage-lvs ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test testPublicAccessStatic(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest)
Starting test testMetadata(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest)
Starting test testPublicAccess(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest)
Starting test testMetadataStatic(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest)
Starting test testMetadataAlreadyPrefixed(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest)
[pool-2-thread-2] Test testMetadataAlreadyPrefixed(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest) succeeded: 30ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-5] Test testPublicAccessStatic(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest) succeeded: 35ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-1] Test testMetadata(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest) succeeded: 33ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-3] Test testMetadataStatic(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest) succeeded: 31ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testApplyInputStream(org.jclouds.hpcloud.objectstorage.lvs.functions.ParseContainerCDNMetadataListFromJsonResponseTest)
[pool-2-thread-4] Test testPublicAccess(org.jclouds.hpcloud.objectstorage.lvs.options.CreateContainerOptionsTest) succeeded: 32ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
[pool-2-thread-2] Test testApplyInputStream(org.jclouds.hpcloud.objectstorage.lvs.functions.ParseContainerCDNMetadataListFromJsonResponseTest) succeeded: 184ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testAllContains(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest)
Starting test testOfTypeContains(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest)
Starting test testInRestProperties(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest)
[pool-3-thread-3] Test testOfTypeContains(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest) succeeded: 4ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testWithId(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest)
[pool-3-thread-4] Test testWithId(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest) succeeded: 1ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
[pool-3-thread-1] Test testAllContains(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest) succeeded: 11ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
[pool-3-thread-2] Test testInRestProperties(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasProviderTest) succeeded: 67ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.99 sec

Results :

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

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.8:test (test-clojure) @ hpcloud-objectstorage-lvs ---

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) @ hpcloud-objectstorage-lvs ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ hpcloud-objectstorage-lvs ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ hpcloud-objectstorage-lvs ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ hpcloud-objectstorage-lvs ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ hpcloud-objectstorage-lvs ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.testng.TestNGProvider

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
*** containers to test: [adriancole-blobstore0, adriancole-blobstore1, adriancole-blobstore2, adriancole-blobstore3, adriancole-blobstore4, adriancole-blobstore5, adriancole-blobstore6, adriancole-blobstore7, adriancole-blobstore8, adriancole-blobstore9]
Starting test deleteContainerIfEmptyNotFound(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest)
Starting test blobNotFound(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteContainerIfEmptyNotFound(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest) succeeded: 176ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testHeadAccountMetadata(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest)
[TestNG] Test blobNotFound(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 676ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testHeadAccountMetadata(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest) succeeded: 1102ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testListContainerPath(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 968ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testListContainerPath(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest) succeeded: 1380ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testListOwnedContainers(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1136ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1074ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testListOwnedContainers(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest) succeeded: 1927ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test testObjectOperations(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1213ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1681ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1063ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 969ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1018ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testObjectOperations(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest) succeeded: 5913ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testPutContainers(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1339ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1087ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test deleteObjectNoContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNoContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 157ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test deleteObjectNotFound(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testPutContainers(org.jclouds.hpcloud.objectstorage.lvs.HPCloudObjectStorageLasVegasClientLiveTest) succeeded: 2501ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
[TestNG] Test deleteObjectNotFound(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 698ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testBigFileGets(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testBigFileGets(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 30494ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testGetIfMatch(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testGetIfMatch(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 2940ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testGetIfModifiedSince(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testGetIfModifiedSince(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 2221ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testGetIfNoneMatch(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testGetIfNoneMatch(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1656ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test testGetIfUnmodifiedSince(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testGetIfUnmodifiedSince(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 2061ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test testGetRange(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testGetRange(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 2327ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test testMetadata(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testMetadata(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1694ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testPutFileParallel(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testPutFileParallel(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 30548ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1384ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1104ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1575ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test testPutObjectStream(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest)
[TestNG] Test testPutObjectStream(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobIntegrationLiveTest) succeeded: 1558ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testCopyUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobLiveTest)
[TestNG] Test testCopyUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobLiveTest) succeeded: 3175ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
Starting test testContains(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testContains(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 1332ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
Starting test testEntrySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 5132ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
Starting test testPut(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 2373ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
Starting test testPutAll(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 1998ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 5460ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
Starting test testRemove(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 2227ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
Starting test testValues(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 3928ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Starting test testClear(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 2534ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testContainsKey(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 2595ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
Starting test testDirectory(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 19487ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
Starting test testIsEmpty(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 1379ms
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test testKeySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 3206ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
Starting test testListContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobMapIntegrationLiveTest) succeeded: 3142ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
Starting test testSignGetUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest)
[TestNG] Test testSignGetUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest) succeeded: 1228ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
Starting test testSignGetUrlOptions(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest)
[TestNG] Test testSignGetUrlOptions(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest) succeeded: 1088ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
Starting test testSignPutUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest)
[TestNG] Test testSignPutUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest) succeeded: 810ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
Starting test testSignRemoveUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest)
[TestNG] Test testSignRemoveUrl(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasBlobSignerLiveTest) succeeded: 2727ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
Starting test containerDoesntExist(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 324ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test containerExists(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test containerExists(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 678ms
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
Starting test deleteContainerIfEmpty(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
*** allocated new container adriancole-blobstore9...
[TestNG] Test deleteContainerIfEmpty(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 2135ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
Starting test deleteContainerWithContents(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
*** allocated new container adriancole-blobstore0...
[TestNG] Test deleteContainerWithContents(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 4929ms
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testClearWhenContentsUnderPath(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testClearWhenContentsUnderPath(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 6455ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
Starting test testDirectory(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 11517ms
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
Starting test testListContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 4443ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
Starting test testListContainerMarker(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testListContainerMarker(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 8114ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
Starting test testListContainerMaxResults(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testListContainerMaxResults(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 7240ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
Starting test testListContainerPrefix(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testListContainerPrefix(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 8667ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
Starting test testListRootUsesDelimiter(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testListRootUsesDelimiter(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 8994ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 1454ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testWithDetails(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest)
[TestNG] Test testWithDetails(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerIntegrationLiveTest) succeeded: 1340ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
Starting test testContainsBytesValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsBytesValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1012ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
Starting test testContainsFileValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsFileValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1384ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testContainsInputStreamValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsInputStreamValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1523ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
Starting test testContainsStringValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsStringValue(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1905ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
Starting test testEntrySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 7165ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
Starting test testPut(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 4192ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
Starting test testPutAll(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2312ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
Starting test testPutAllBytes(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllBytes(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1936ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
Starting test testPutAllFiles(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllFiles(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2057ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
Starting test testPutAllStrings(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllStrings(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2621ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Starting test testPutBytes(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutBytes(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2182ms
Test suite progress: tests succeeded: 73, failed: 0, skipped: 0.
Starting test testPutFile(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutFile(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2245ms
Test suite progress: tests succeeded: 74, failed: 0, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 5445ms
Test suite progress: tests succeeded: 75, failed: 0, skipped: 0.
Starting test testPutString(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutString(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2147ms
Test suite progress: tests succeeded: 76, failed: 0, skipped: 0.
Starting test testRemove(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2416ms
Test suite progress: tests succeeded: 77, failed: 0, skipped: 0.
Starting test testValues(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1522ms
Test suite progress: tests succeeded: 78, failed: 0, skipped: 0.
Starting test testClear(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2512ms
Test suite progress: tests succeeded: 79, failed: 0, skipped: 0.
Starting test testContainsKey(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 2156ms
Test suite progress: tests succeeded: 80, failed: 0, skipped: 0.
Starting test testDirectory(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 17550ms
Test suite progress: tests succeeded: 81, failed: 0, skipped: 0.
Starting test testIsEmpty(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1543ms
Test suite progress: tests succeeded: 82, failed: 0, skipped: 0.
Starting test testKeySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1557ms
Test suite progress: tests succeeded: 83, failed: 0, skipped: 0.
Starting test testListContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasInputStreamMapIntegrationLiveTest) succeeded: 1027ms
Test suite progress: tests succeeded: 84, failed: 0, skipped: 0.
Starting test containerDoesntExist(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasServiceIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasServiceIntegrationLiveTest) succeeded: 160ms
Test suite progress: tests succeeded: 85, failed: 0, skipped: 0.
Starting test testAllLocations(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasServiceIntegrationLiveTest)
*** allocated new container adriancole-blobstore7...
 >> creating container in location [id=hpcloud-objectstorage-lvs, scope=PROVIDER, description=https://region-a.geo-1.objects.hpcloudsvc.com/auth, parent=null, iso3166Codes=[US-NV], metadata={}]
 << call complete.. checking
*** allocated new container adriancole-blobstore713...
[TestNG] Test testAllLocations(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasServiceIntegrationLiveTest) succeeded: 1563ms
Test suite progress: tests succeeded: 86, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasServiceIntegrationLiveTest)
location [id=hpcloud-objectstorage-lvs, scope=PROVIDER, description=https://region-a.geo-1.objects.hpcloudsvc.com/auth, parent=null, iso3166Codes=[US-NV], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasServiceIntegrationLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 87, failed: 0, skipped: 0.
Exception in thread "user thread 1" java.lang.IllegalStateException: interrupted calling get() on [[method=HPCloudObjectStorageLasVegasAsyncClient.containerExists, request=HEAD https://region-a.geo-1.objects.hpcloudsvc.com:443/v1/AUTH_651c939f-04f0-4fbf-bd50-27f114ccaa15/adriancole-blobstore713 HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:237)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:270)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:241)
	... 4 more
Starting test testPublicAccess(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerLiveTest)
*** allocated new container adriancole-blobstore1...
*** allocated new container adriancole-blobstore115...
[TestNG] Test testPublicAccess(org.jclouds.hpcloud.objectstorage.lvs.blobstore.integration.HPCloudObjectStorageLasVegasContainerLiveTest) succeeded: 1410ms
Test suite progress: tests succeeded: 88, failed: 0, skipped: 0.
Exception in thread "user thread 3" java.lang.IllegalStateException: interrupted calling get() on [[method=HPCloudObjectStorageLasVegasAsyncClient.listObjects, request=GET https://region-a.geo-1.objects.hpcloudsvc.com:443/v1/AUTH_651c939f-04f0-4fbf-bd50-27f114ccaa15/adriancole-blobstore115?format=json&prefix= HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	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: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:237)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:270)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:241)
	... 4 more
Tests run: 88, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 315.76 sec

Results :

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

[INFO] 
[INFO] --- maven-install-plugin:2.3:install (default-install) @ hpcloud-objectstorage-lvs ---
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/hpcloud-objectstorage-lvs/1.3.0-SNAPSHOT/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT.jar
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/pom.xml to /Users/adriancole/.m2/repository/org/jclouds/provider/hpcloud-objectstorage-lvs/1.3.0-SNAPSHOT/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT.pom
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT-sources.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/hpcloud-objectstorage-lvs/1.3.0-SNAPSHOT/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/adriancole/workspace/git/jclouds/providers/hpcloud-objectstorage-lvs/target/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT-tests.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/hpcloud-objectstorage-lvs/1.3.0-SNAPSHOT/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:install (default-install) @ hpcloud-objectstorage-lvs ---
[INFO] Installing org/jclouds/provider/hpcloud-objectstorage-lvs/1.3.0-SNAPSHOT/hpcloud-objectstorage-lvs-1.3.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5:36.366s
[INFO] Finished at: Sun Jan 15 17:55:23 PST 2012
[INFO] Final Memory: 21M/265M
[INFO] ------------------------------------------------------------------------
