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

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test testAssignability(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Starting test testMarker(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-1] Test testAssignability(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 23ms
Starting test testMarkerStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testMaxKeys(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Starting test testMarkerNPE(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Starting test testMaxKeysNegative(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-3] Test testMarkerNPE(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 19ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testMaxKeysStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-1] Test testMaxKeysNegative(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 9ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testNoOptionsQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-1] Test testNoOptionsQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 3ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testNullMarker(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-1] Test testNullMarker(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 9ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
[pool-2-thread-2] Test testMarker(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 53ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testNullMaxKeys(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-1] Test testNullMaxKeys(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testNullPath(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Starting test testNullPrefix(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-1] Test testNullPrefix(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test testOneOptionQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-2] Test testNullPath(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
[pool-2-thread-5] Test testMaxKeys(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 40ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test testPath(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-2] Test testPath(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Starting test testPathNPE(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
[pool-2-thread-5] Test testPathNPE(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test testPathStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Starting test testPrefix(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-2] Test testPathStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
[pool-2-thread-3] Test testMaxKeysStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 19ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testPrefixAndPathUrlEncodingQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-2] Test testPrefixAndPathUrlEncodingQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test testPrefixStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-2] Test testPrefixStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 1ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testTwoOptionQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
Starting test testPrefixNPE(org.jclouds.openstack.swift.options.ListContainerOptionsTest)
[pool-2-thread-2] Test testTwoOptionQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
[pool-2-thread-3] Test testPrefixNPE(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 0ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testReplaceLocalhost(org.jclouds.openstack.functions.ParseAuthenticationResponseFromHeadersTest)
Starting test testApplyInputStream(org.jclouds.openstack.swift.functions.ParseContainerListFromJsonResponseTest)
[pool-2-thread-4] Test testMarkerStatic(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 57ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testEtagCaseIssue(org.jclouds.openstack.swift.functions.ParseObjectInfoFromHeadersTest)
[pool-2-thread-5] Test testPrefix(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 4ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testApplyInputStream(org.jclouds.openstack.swift.domain.internal.ParseObjectInfoListFromJsonResponseTest)
[pool-2-thread-1] Test testOneOptionQueryString(org.jclouds.openstack.swift.options.ListContainerOptionsTest) succeeded: 26ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test test404SetsContainerNotFoundExceptionMosso(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest)
[pool-2-thread-2] Test testReplaceLocalhost(org.jclouds.openstack.functions.ParseAuthenticationResponseFromHeadersTest) succeeded: 178ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test test404SetsContainerNotFoundExceptionSwift(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest)
[pool-2-thread-2] Test test404SetsContainerNotFoundExceptionSwift(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest) succeeded: 32ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test test404SetsKeyNotFoundExceptionMosso(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest)
[pool-2-thread-2] Test test404SetsKeyNotFoundExceptionMosso(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest) succeeded: 1ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test test404SetsKeyNotFoundExceptionSwift(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest)
[pool-2-thread-2] Test test404SetsKeyNotFoundExceptionSwift(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest) succeeded: 1ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
[pool-2-thread-1] Test test404SetsContainerNotFoundExceptionMosso(org.jclouds.openstack.swift.handlers.ParseSwiftErrorFromHttpResponseTest) succeeded: 198ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
[pool-2-thread-3] Test testApplyInputStream(org.jclouds.openstack.swift.functions.ParseContainerListFromJsonResponseTest) succeeded: 247ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
[pool-2-thread-4] Test testEtagCaseIssue(org.jclouds.openstack.swift.functions.ParseObjectInfoFromHeadersTest) succeeded: 284ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
[pool-2-thread-5] Test testApplyInputStream(org.jclouds.openstack.swift.domain.internal.ParseObjectInfoListFromJsonResponseTest) succeeded: 307ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testExtendedPropertiesBind(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
Starting test testNullIsBad(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
Starting test testMustBeSwiftObject(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
Starting test testNoNameIsBad(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
Starting test testNoContentLengthIsChunked(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
[pool-3-thread-5] Test testNullIsBad(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 9ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test testOver5GBIsBad(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
[pool-3-thread-5] Test testOver5GBIsBad(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 0ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testPassWithMinimumDetailsAndPayload5GB(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest)
[pool-3-thread-4] Test testNoNameIsBad(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 7ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
[pool-3-thread-1] Test testExtendedPropertiesBind(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 24ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
[pool-3-thread-3] Test testNoContentLengthIsChunked(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 19ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
[pool-3-thread-5] Test testPassWithMinimumDetailsAndPayload5GB(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 18ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
[pool-3-thread-2] Test testMustBeSwiftObject(org.jclouds.openstack.swift.binders.BindSwiftObjectMetadataToRequestTest) succeeded: 28ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testSignPutBlob(org.jclouds.openstack.swift.blobstore.SwiftBlobRequestSignerTest)
Starting test testSignRemoveBlob(org.jclouds.openstack.swift.blobstore.SwiftBlobRequestSignerTest)
Starting test testSignGetBlob(org.jclouds.openstack.swift.blobstore.SwiftBlobRequestSignerTest)
[pool-4-thread-1] Test testSignGetBlob(org.jclouds.openstack.swift.blobstore.SwiftBlobRequestSignerTest) succeeded: 39ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
[pool-4-thread-3] Test testSignRemoveBlob(org.jclouds.openstack.swift.blobstore.SwiftBlobRequestSignerTest) succeeded: 41ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
[pool-4-thread-2] Test testSignPutBlob(org.jclouds.openstack.swift.blobstore.SwiftBlobRequestSignerTest) succeeded: 42ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Tests run: 39, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.041 sec

Results :

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

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

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) @ swift ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ swift ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/apis/swift/target/swift-1.3.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ swift ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ swift ---
[INFO] Building jar: /Users/adriancole/workspace/git/jclouds/apis/swift/target/swift-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ swift ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/jclouds/apis/swift/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 blobNotFound(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test blobNotFound(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 631ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1108ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1003ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 985ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 986ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1558ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1041ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1176ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 988ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1059ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1092ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test deleteObjectNoContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNoContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 169ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test deleteObjectNotFound(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNotFound(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 676ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test testBigFileGets(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testBigFileGets(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 30385ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testGetIfMatch(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testGetIfMatch(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1693ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test testGetIfModifiedSince(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testGetIfModifiedSince(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 2136ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testGetIfNoneMatch(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testGetIfNoneMatch(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 2813ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test testGetIfUnmodifiedSince(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testGetIfUnmodifiedSince(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 2178ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testGetRange(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testGetRange(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1423ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testMetadata(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testMetadata(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1575ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testPutFileParallel(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testPutFileParallel(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 30546ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 2091ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1068ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1464ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test testPutObjectStream(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest)
[TestNG] Test testPutObjectStream(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobIntegrationLiveTest) succeeded: 1423ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test testCopyUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobLiveTest)
[TestNG] Test testCopyUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobLiveTest) succeeded: 2684ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testContains(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testContains(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 1395ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testEntrySet(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 5036ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test testPut(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 2420ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testPutAll(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 2616ms
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 4985ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testRemove(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 2282ms
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
Starting test testValues(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 3521ms
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
Starting test testClear(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 2537ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
Starting test testContainsKey(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 1583ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
Starting test testDirectory(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 18678ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testIsEmpty(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 1443ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
Starting test testKeySet(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 1653ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
Starting test testListContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobMapIntegrationLiveTest) succeeded: 1111ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Starting test testSignGetUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest)
[TestNG] Test testSignGetUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest) succeeded: 1988ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testSignGetUrlOptions(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest)
[TestNG] Test testSignGetUrlOptions(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest) succeeded: 1409ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
Starting test testSignPutUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest)
[TestNG] Test testSignPutUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest) succeeded: 798ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
Starting test testSignRemoveUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest)
[TestNG] Test testSignRemoveUrl(org.jclouds.openstack.swift.blobstore.integration.SwiftBlobSignerLiveTest) succeeded: 2697ms
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test containerDoesntExist(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 295ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
Starting test containerExists(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test containerExists(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 692ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
Starting test deleteContainerIfEmpty(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
*** allocated new container adriancole-blobstore3...
[TestNG] Test deleteContainerIfEmpty(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 2129ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
Starting test deleteContainerWithContents(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
*** allocated new container adriancole-blobstore4...
[TestNG] Test deleteContainerWithContents(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 5333ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
Starting test testClearWhenContentsUnderPath(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testClearWhenContentsUnderPath(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 5804ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
Starting test testDirectory(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 11047ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
Starting test testListContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 4573ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test testListContainerMarker(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testListContainerMarker(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 6481ms
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
Starting test testListContainerMaxResults(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testListContainerMaxResults(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 6907ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
Starting test testListContainerPrefix(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testListContainerPrefix(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 8858ms
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testListRootUsesDelimiter(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testListRootUsesDelimiter(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 8703ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
Starting test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 1265ms
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
Starting test testWithDetails(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest)
[TestNG] Test testWithDetails(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerIntegrationLiveTest) succeeded: 1373ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
Starting test testContainsBytesValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsBytesValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1019ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
Starting test testContainsFileValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsFileValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1413ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
Starting test testContainsInputStreamValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsInputStreamValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1537ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
Starting test testContainsStringValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsStringValue(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1654ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testEntrySet(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 6991ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testPut(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 3802ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
Starting test testPutAll(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1925ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
Starting test testPutAllBytes(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllBytes(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1924ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testPutAllFiles(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllFiles(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1926ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
Starting test testPutAllStrings(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllStrings(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2790ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
Starting test testPutBytes(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutBytes(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2093ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
Starting test testPutFile(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutFile(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2106ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 5075ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
Starting test testPutString(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutString(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2131ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
Starting test testRemove(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2416ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
Starting test testValues(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1503ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Starting test testClear(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2144ms
Test suite progress: tests succeeded: 73, failed: 0, skipped: 0.
Starting test testContainsKey(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1634ms
Test suite progress: tests succeeded: 74, failed: 0, skipped: 0.
Starting test testDirectory(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 16902ms
Test suite progress: tests succeeded: 75, failed: 0, skipped: 0.
Starting test testIsEmpty(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 2553ms
Test suite progress: tests succeeded: 76, failed: 0, skipped: 0.
Starting test testKeySet(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 1357ms
Test suite progress: tests succeeded: 77, failed: 0, skipped: 0.
Starting test testListContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.openstack.swift.blobstore.integration.SwiftInputStreamMapIntegrationLiveTest) succeeded: 886ms
Test suite progress: tests succeeded: 78, failed: 0, skipped: 0.
Starting test containerDoesntExist(org.jclouds.openstack.swift.blobstore.integration.SwiftServiceIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.openstack.swift.blobstore.integration.SwiftServiceIntegrationLiveTest) succeeded: 148ms
Test suite progress: tests succeeded: 79, failed: 0, skipped: 0.
Starting test testAllLocations(org.jclouds.openstack.swift.blobstore.integration.SwiftServiceIntegrationLiveTest)
*** allocated new container adriancole-blobstore2...
 >> creating container in location [id=swift, scope=PROVIDER, description=https://region-a.geo-1.objects.hpcloudsvc.com/auth, parent=null, iso3166Codes=[], metadata={}]
 << call complete.. checking
*** allocated new container adriancole-blobstore213...
[TestNG] Test testAllLocations(org.jclouds.openstack.swift.blobstore.integration.SwiftServiceIntegrationLiveTest) succeeded: 1295ms
Test suite progress: tests succeeded: 80, failed: 0, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.openstack.swift.blobstore.integration.SwiftServiceIntegrationLiveTest)
location [id=swift, scope=PROVIDER, description=https://region-a.geo-1.objects.hpcloudsvc.com/auth, parent=null, iso3166Codes=[], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.openstack.swift.blobstore.integration.SwiftServiceIntegrationLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 81, failed: 0, skipped: 0.
Starting test deleteContainerIfEmptyNotFound(org.jclouds.openstack.swift.SwiftClientLiveTest)
[TestNG] Test deleteContainerIfEmptyNotFound(org.jclouds.openstack.swift.SwiftClientLiveTest) succeeded: 170ms
Test suite progress: tests succeeded: 82, failed: 0, skipped: 0.
Starting test testHeadAccountMetadata(org.jclouds.openstack.swift.SwiftClientLiveTest)
[TestNG] Test testHeadAccountMetadata(org.jclouds.openstack.swift.SwiftClientLiveTest) succeeded: 1459ms
Test suite progress: tests succeeded: 83, failed: 0, skipped: 0.
Starting test testListContainerPath(org.jclouds.openstack.swift.SwiftClientLiveTest)
[TestNG] Test testListContainerPath(org.jclouds.openstack.swift.SwiftClientLiveTest) succeeded: 1218ms
Test suite progress: tests succeeded: 84, failed: 0, skipped: 0.
Starting test testListOwnedContainers(org.jclouds.openstack.swift.SwiftClientLiveTest)
[TestNG] Test testListOwnedContainers(org.jclouds.openstack.swift.SwiftClientLiveTest) succeeded: 2475ms
Test suite progress: tests succeeded: 85, failed: 0, skipped: 0.
Starting test testObjectOperations(org.jclouds.openstack.swift.SwiftClientLiveTest)
[TestNG] Test testObjectOperations(org.jclouds.openstack.swift.SwiftClientLiveTest) succeeded: 8432ms
Test suite progress: tests succeeded: 86, failed: 0, skipped: 0.
Starting test testPutContainers(org.jclouds.openstack.swift.SwiftClientLiveTest)
[TestNG] Test testPutContainers(org.jclouds.openstack.swift.SwiftClientLiveTest) succeeded: 2250ms
Test suite progress: tests succeeded: 87, failed: 0, skipped: 0.
Starting test testPublicAccess(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerLiveTest)
*** allocated new container adriancole-blobstore0...
*** allocated new container adriancole-blobstore015...
[TestNG] Test testPublicAccess(org.jclouds.openstack.swift.blobstore.integration.SwiftContainerLiveTest) succeeded: 1669ms
Test suite progress: tests succeeded: 88, failed: 0, skipped: 0.
Tests run: 88, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 316.634 sec

Results :

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

[INFO] 
[INFO] --- maven-install-plugin:2.3:install (default-install) @ swift ---
[INFO] Installing /Users/adriancole/workspace/git/jclouds/apis/swift/target/swift-1.3.0-SNAPSHOT.jar to /Users/adriancole/.m2/repository/org/jclouds/api/swift/1.3.0-SNAPSHOT/swift-1.3.0-SNAPSHOT.jar
[INFO] Installing /Users/adriancole/workspace/git/jclouds/apis/swift/pom.xml to /Users/adriancole/.m2/repository/org/jclouds/api/swift/1.3.0-SNAPSHOT/swift-1.3.0-SNAPSHOT.pom
[INFO] Installing /Users/adriancole/workspace/git/jclouds/apis/swift/target/swift-1.3.0-SNAPSHOT-sources.jar to /Users/adriancole/.m2/repository/org/jclouds/api/swift/1.3.0-SNAPSHOT/swift-1.3.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/adriancole/workspace/git/jclouds/apis/swift/target/swift-1.3.0-SNAPSHOT-tests.jar to /Users/adriancole/.m2/repository/org/jclouds/api/swift/1.3.0-SNAPSHOT/swift-1.3.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:install (default-install) @ swift ---
[INFO] Installing org/jclouds/api/swift/1.3.0-SNAPSHOT/swift-1.3.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5:34.087s
[INFO] Finished at: Sun Jan 15 14:29:07 PST 2012
[INFO] Final Memory: 21M/265M
[INFO] ------------------------------------------------------------------------
