[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:cloudfiles-uk:bundle:1.5.1-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.5.1-SNAPSHOT (/root/dev/everett-toews/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.5.1-SNAPSHOT, /root/dev/everett-toews/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 CloudFiles UK provider 1.5.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ cloudfiles-uk ---
[INFO] Deleting /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1:enforce (enforce-maven) @ cloudfiles-uk ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1:enforce (enforce-banned-dependencies) @ cloudfiles-uk ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1:enforce (enforce-java) @ cloudfiles-uk ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.3:process (process-remote-resources) @ cloudfiles-uk ---
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ cloudfiles-uk ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5:compile (default-compile) @ cloudfiles-uk ---
[INFO] Compiling 1 source file to /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ cloudfiles-uk ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/src/test/clojure
[INFO] skip non existing resourceDirectory /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5:testCompile (default-testCompile) @ cloudfiles-uk ---
[INFO] Compiling 10 source files to /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12:test (default-test) @ cloudfiles-uk ---
[INFO] Surefire report directory: /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNGMapConfigurator@7526e85f
Starting test testOfApiContains(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest)
Starting test testTransformableToContains(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest)
Starting test testWithId(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest)
Starting test testAllContains(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest) succeeded: 19ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-4] Test testWithId(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest) succeeded: 29ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-3] Test testTransformableToContains(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest) succeeded: 34ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testOfApiContains(org.jclouds.rackspace.cloudfiles.CloudFilesUKProviderTest) succeeded: 35ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.682 sec

Results :

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

[INFO] 
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ cloudfiles-uk ---
[INFO] 
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ cloudfiles-uk ---
[INFO] Building jar: /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target/cloudfiles-uk-1.5.1-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.12:test (integration) @ cloudfiles-uk ---
[INFO] Surefire report directory: /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNGMapConfigurator@211d0a4f
*** containers to test: [root-blobstore0, root-blobstore1, root-blobstore2, root-blobstore3, root-blobstore4, root-blobstore5, root-blobstore6, root-blobstore7, root-blobstore8, root-blobstore9, root-blobstore10, root-blobstore11, root-blobstore12, root-blobstore13, root-blobstore14]
Starting test testCDNOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
*** allocated new container root-blobstore0...
*** allocated new container root-blobstore1...
[TestNG] Test testCDNOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 19150ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test deleteContainerIfEmptyNotFound(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test deleteContainerIfEmptyNotFound(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 479ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testCopyObjectOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test testCopyObjectOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 7288ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testHeadAccountMetadata(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test testHeadAccountMetadata(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 2840ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testListContainerPath(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test testListContainerPath(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 3707ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testListOwnedContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test testListOwnedContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 5411ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testObjectOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test testObjectOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 7854ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testPutContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest)
[TestNG] Test testPutContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUKClientLiveTest) succeeded: 4714ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test blobNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test blobNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 2270ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 2895ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 2777ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 2519ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 2669ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 5420ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 3075ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 4475ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 2681ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 4266ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 3903ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test deleteObjectNoContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNoContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 478ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test deleteObjectNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 1574ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testBigFileGets(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testBigFileGets(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 7127ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testCreateBlobWithExpiry(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testCreateBlobWithExpiry(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) failed.
Test suite progress: tests succeeded: 22, failed: 1, skipped: 0.
Starting test testGetIfMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testGetIfMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 7117ms
Test suite progress: tests succeeded: 23, failed: 1, skipped: 0.
Starting test testGetIfModifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testGetIfModifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) failed.
Test suite progress: tests succeeded: 23, failed: 2, skipped: 0.
Starting test testGetIfNoneMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testGetIfNoneMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 10278ms
Test suite progress: tests succeeded: 24, failed: 2, skipped: 0.
Starting test testGetIfUnmodifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testGetIfUnmodifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 9437ms
Test suite progress: tests succeeded: 25, failed: 2, skipped: 0.
Starting test testGetRange(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testGetRange(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 5670ms
Test suite progress: tests succeeded: 26, failed: 2, skipped: 0.
Starting test testMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 6655ms
Test suite progress: tests succeeded: 27, failed: 2, skipped: 0.
Starting test testPutFileParallel(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testPutFileParallel(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 8644ms
Test suite progress: tests succeeded: 28, failed: 2, skipped: 0.
Starting test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 3790ms
Test suite progress: tests succeeded: 29, failed: 2, skipped: 0.
Starting test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 3955ms
Test suite progress: tests succeeded: 30, failed: 2, skipped: 0.
Starting test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 4588ms
Test suite progress: tests succeeded: 31, failed: 2, skipped: 0.
Starting test testPutObjectStream(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testPutObjectStream(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 4615ms
Test suite progress: tests succeeded: 32, failed: 2, skipped: 0.
Starting test testMultipartChunkedFileStream(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest)
[TestNG] Test testMultipartChunkedFileStream(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest) succeeded: 5680ms
Test suite progress: tests succeeded: 33, failed: 2, skipped: 0.
Starting test testContains(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testContains(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 5985ms
Test suite progress: tests succeeded: 34, failed: 2, skipped: 0.
Starting test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 29914ms
Test suite progress: tests succeeded: 35, failed: 2, skipped: 0.
Starting test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 8687ms
Test suite progress: tests succeeded: 36, failed: 2, skipped: 0.
Starting test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 14864ms
Test suite progress: tests succeeded: 37, failed: 2, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 156703ms
Test suite progress: tests succeeded: 38, failed: 2, skipped: 0.
Starting test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 7795ms
Test suite progress: tests succeeded: 39, failed: 2, skipped: 0.
Starting test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 18566ms
Test suite progress: tests succeeded: 40, failed: 2, skipped: 0.
Starting test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 6747ms
Test suite progress: tests succeeded: 41, failed: 2, skipped: 0.
Starting test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 4447ms
Test suite progress: tests succeeded: 42, failed: 2, skipped: 0.
Starting test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 210535ms
Test suite progress: tests succeeded: 43, failed: 2, skipped: 0.
Starting test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 5805ms
Test suite progress: tests succeeded: 44, failed: 2, skipped: 0.
Starting test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 6486ms
Test suite progress: tests succeeded: 45, failed: 2, skipped: 0.
Starting test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobMapIntegrationLiveTest) succeeded: 5962ms
Test suite progress: tests succeeded: 46, failed: 2, skipped: 0.
Starting test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 1667ms
Test suite progress: tests succeeded: 47, failed: 2, skipped: 0.
Starting test containerExists(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test containerExists(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 2599ms
Test suite progress: tests succeeded: 48, failed: 2, skipped: 0.
Starting test deleteContainerIfEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
*** allocated new container root-blobstore5...
[TestNG] Test deleteContainerIfEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 6615ms
Test suite progress: tests succeeded: 49, failed: 2, skipped: 0.
Starting test deleteContainerWithContents(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
*** allocated new container root-blobstore6...
[TestNG] Test deleteContainerWithContents(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 5761ms
Test suite progress: tests succeeded: 50, failed: 2, skipped: 0.
Starting test testClearWhenContentsUnderPath(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testClearWhenContentsUnderPath(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 27709ms
Test suite progress: tests succeeded: 51, failed: 2, skipped: 0.
Starting test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 67185ms
Test suite progress: tests succeeded: 52, failed: 2, skipped: 0.
Starting test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 21039ms
Test suite progress: tests succeeded: 53, failed: 2, skipped: 0.
Starting test testListContainerMarker(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testListContainerMarker(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 50899ms
Test suite progress: tests succeeded: 54, failed: 2, skipped: 0.
Starting test testListContainerMaxResults(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testListContainerMaxResults(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 46908ms
Test suite progress: tests succeeded: 55, failed: 2, skipped: 0.
Starting test testListContainerPrefix(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testListContainerPrefix(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 42083ms
Test suite progress: tests succeeded: 56, failed: 2, skipped: 0.
Starting test testListRootUsesDelimiter(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testListRootUsesDelimiter(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 40842ms
Test suite progress: tests succeeded: 57, failed: 2, skipped: 0.
Starting test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 3627ms
Test suite progress: tests succeeded: 58, failed: 2, skipped: 0.
Starting test testWithDetails(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testWithDetails(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 5363ms
Test suite progress: tests succeeded: 59, failed: 2, skipped: 0.
Starting test testCreateDeleteContainerMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testCreateDeleteContainerMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 2825ms
Test suite progress: tests succeeded: 60, failed: 2, skipped: 0.
Starting test testSetGetContainerMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest)
[TestNG] Test testSetGetContainerMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerIntegrationLiveTest) succeeded: 2403ms
Test suite progress: tests succeeded: 61, failed: 2, skipped: 0.
Starting test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKServiceIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKServiceIntegrationLiveTest) succeeded: 1191ms
Test suite progress: tests succeeded: 62, failed: 2, skipped: 0.
Starting test testAllLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKServiceIntegrationLiveTest)
*** allocated new container root-blobstore9...
 >> creating container in location {scope=REGION, id=DEFAULT, description=DEFAULT, parent=cloudfiles-uk}
 << call complete.. checking
*** allocated new container root-blobstore94245469889096759520...
[TestNG] Test testAllLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKServiceIntegrationLiveTest) succeeded: 10951ms
Test suite progress: tests succeeded: 63, failed: 2, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKServiceIntegrationLiveTest)
location {scope=REGION, id=DEFAULT, description=DEFAULT, parent=cloudfiles-uk}
[TestNG] Test testGetAssignableLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKServiceIntegrationLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 64, failed: 2, skipped: 0.
unable to delete container root-blobstore94245469889096759520, ignoring...
java.lang.reflect.UndeclaredThrowableException
	at $Proxy79.containerExists(Unknown Source)
	at org.jclouds.openstack.swift.blobstore.SwiftBlobStore.deleteAndVerifyContainerGone(SwiftBlobStore.java:236)
	at org.jclouds.blobstore.internal.BaseBlobStore$1.get(BaseBlobStore.java:203)
	at org.jclouds.blobstore.internal.BaseBlobStore$1.get(BaseBlobStore.java:199)
	at org.jclouds.util.Assertions.eventuallyTrue(Assertions.java:33)
	at org.jclouds.blobstore.internal.BaseBlobStore.clearAndDeleteContainer(BaseBlobStore.java:199)
	at org.jclouds.blobstore.internal.BaseBlobStore.deleteContainer(BaseBlobStore.java:194)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
	at $Proxy83.deleteContainer(Unknown Source)
	at org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest.deleteContainerOrWarnIfUnable(BaseBlobStoreIntegrationTest.java:171)
	at org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest.access$1100(BaseBlobStoreIntegrationTest.java:66)
	at org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest$11.run(BaseBlobStoreIntegrationTest.java:496)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1042)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1326)
	at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:263)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96)
	at org.jclouds.concurrent.ExceptionParsingListenableFuture.get(ExceptionParsingListenableFuture.java:76)
	at org.jclouds.concurrent.internal.SyncProxy.invoke(SyncProxy.java:164)
	... 22 more
Exception in thread "user thread 9" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudFilesAsyncClient.containerExists, request=HEAD https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_a08a5deb-7b0e-433b-8033-578340b0d63d/root-blobstore94245469889096759520 HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1000)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
	at java.util.concurrent.FutureTask.get(FutureTask.java:111)
	at org.jclouds.concurrent.config.DescribedFuture.get(DescribedFuture.java:45)
	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.DescribedFuture.ensureCauseHasSubmissionTrace(DescribedFuture.java:78)
	at org.jclouds.concurrent.config.DescribedFuture.get(DescribedFuture.java:49)
	... 4 more
Starting test testCopyUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobLiveTest)
[TestNG] Test testCopyUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobLiveTest) succeeded: 18764ms
Test suite progress: tests succeeded: 65, failed: 2, skipped: 0.
Starting test testGetAndSetTemporaryUrlKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobLiveTest)
[TestNG] Test testGetAndSetTemporaryUrlKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobLiveTest) succeeded: 1873ms
Test suite progress: tests succeeded: 66, failed: 2, skipped: 0.
Starting test testPublicAccess(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerLiveTest)
*** allocated new container root-blobstore11...
*** allocated new container root-blobstore11-5039357492153875208...
[TestNG] Test testPublicAccess(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerLiveTest) succeeded: 20217ms
Test suite progress: tests succeeded: 67, failed: 2, skipped: 0.
Starting test testPublicAccessInNonDefaultLocation(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerLiveTest)
[TestNG] Test testPublicAccessInNonDefaultLocation(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerLiveTest) skipped.
Test suite progress: tests succeeded: 67, failed: 2, skipped: 1.
Starting test testPublicAccessInNonDefaultLocationWithBigBlob(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerLiveTest)
[TestNG] Test testPublicAccessInNonDefaultLocationWithBigBlob(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKContainerLiveTest) skipped.
Test suite progress: tests succeeded: 67, failed: 2, skipped: 2.
Exception in thread "user thread 7" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudFilesAsyncClient.removeObject, request=DELETE https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_a08a5deb-7b0e-433b-8033-578340b0d63d/root-blobstore11-5039357492153875208/hello HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1000)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:248)
	at java.util.concurrent.FutureTask.get(FutureTask.java:111)
	at org.jclouds.concurrent.config.DescribedFuture.get(DescribedFuture.java:45)
	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.DescribedFuture.ensureCauseHasSubmissionTrace(DescribedFuture.java:78)
	at org.jclouds.concurrent.config.DescribedFuture.get(DescribedFuture.java:49)
	... 4 more
unable to delete container root-blobstore11-5039357492153875208, ignoring...
java.lang.RuntimeException: java.util.concurrent.TimeoutException: clearing container root-blobstore11-5039357492153875208 recursively, completed: 0/1, errors: 0, rate: 494ms/op
	at com.google.common.base.Throwables.propagate(Throwables.java:160)
	at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:170)
	at org.jclouds.blobstore.strategy.internal.DeleteAllKeysInList.execute(DeleteAllKeysInList.java:152)
	at org.jclouds.blobstore.util.internal.BlobUtilsImpl.clearContainer(BlobUtilsImpl.java:81)
	at org.jclouds.blobstore.internal.BaseBlobStore.clearContainer(BaseBlobStore.java:158)
	at org.jclouds.blobstore.internal.BaseBlobStore$1.get(BaseBlobStore.java:202)
	at org.jclouds.blobstore.internal.BaseBlobStore$1.get(BaseBlobStore.java:199)
	at org.jclouds.util.Assertions.eventuallyTrue(Assertions.java:33)
	at org.jclouds.blobstore.internal.BaseBlobStore.clearAndDeleteContainer(BaseBlobStore.java:199)
	at org.jclouds.blobstore.internal.BaseBlobStore.deleteContainer(BaseBlobStore.java:194)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
	at $Proxy83.deleteContainer(Unknown Source)
	at org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest.deleteContainerOrWarnIfUnable(BaseBlobStoreIntegrationTest.java:171)
	at org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest.access$1100(BaseBlobStoreIntegrationTest.java:66)
	at org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest$11.run(BaseBlobStoreIntegrationTest.java:496)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.util.concurrent.TimeoutException: clearing container root-blobstore11-5039357492153875208 recursively, completed: 0/1, errors: 0, rate: 494ms/op
	at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:168)
	... 23 more
Starting test testSignGetUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest)
[TestNG] Test testSignGetUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest) succeeded: 24516ms
Test suite progress: tests succeeded: 68, failed: 2, skipped: 2.
Starting test testSignGetUrlOptions(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest)
[TestNG] Test testSignGetUrlOptions(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest) succeeded: 23378ms
Test suite progress: tests succeeded: 69, failed: 2, skipped: 2.
Starting test testSignGetUrlWithTime(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest)
[TestNG] Test testSignGetUrlWithTime(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest) failed.
Test suite progress: tests succeeded: 69, failed: 3, skipped: 2.
Starting test testSignPutUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest)
[TestNG] Test testSignPutUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest) succeeded: 3456ms
Test suite progress: tests succeeded: 70, failed: 3, skipped: 2.
Starting test testSignPutUrlWithTime(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest)
[TestNG] Test testSignPutUrlWithTime(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest) failed.
Test suite progress: tests succeeded: 70, failed: 4, skipped: 2.
Starting test testSignRemoveUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest)
[TestNG] Test testSignRemoveUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest) succeeded: 4665ms
Test suite progress: tests succeeded: 71, failed: 4, skipped: 2.
Starting test testContainsBytesValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsBytesValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 4973ms
Test suite progress: tests succeeded: 72, failed: 4, skipped: 2.
Starting test testContainsFileValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsFileValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 4126ms
Test suite progress: tests succeeded: 73, failed: 4, skipped: 2.
Starting test testContainsInputStreamValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsInputStreamValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 4066ms
Test suite progress: tests succeeded: 74, failed: 4, skipped: 2.
Starting test testContainsStringValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsStringValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 3993ms
Test suite progress: tests succeeded: 75, failed: 4, skipped: 2.
Starting test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 34519ms
Test suite progress: tests succeeded: 76, failed: 4, skipped: 2.
Starting test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 9393ms
Test suite progress: tests succeeded: 77, failed: 4, skipped: 2.
Starting test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 16401ms
Test suite progress: tests succeeded: 78, failed: 4, skipped: 2.
Starting test testPutAllBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 14740ms
Test suite progress: tests succeeded: 79, failed: 4, skipped: 2.
Starting test testPutAllFiles(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllFiles(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 15401ms
Test suite progress: tests succeeded: 80, failed: 4, skipped: 2.
Starting test testPutAllStrings(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllStrings(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 16527ms
Test suite progress: tests succeeded: 81, failed: 4, skipped: 2.
Starting test testPutBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 9108ms
Test suite progress: tests succeeded: 82, failed: 4, skipped: 2.
Starting test testPutFile(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutFile(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 10515ms
Test suite progress: tests succeeded: 83, failed: 4, skipped: 2.
Starting test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 159413ms
Test suite progress: tests succeeded: 84, failed: 4, skipped: 2.
Starting test testPutString(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutString(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 10701ms
Test suite progress: tests succeeded: 85, failed: 4, skipped: 2.
Starting test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 8679ms
Test suite progress: tests succeeded: 86, failed: 4, skipped: 2.
Starting test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 9844ms
Test suite progress: tests succeeded: 87, failed: 4, skipped: 2.
Starting test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 6480ms
Test suite progress: tests succeeded: 88, failed: 4, skipped: 2.
Starting test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 3054ms
Test suite progress: tests succeeded: 89, failed: 4, skipped: 2.
Starting test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 199958ms
Test suite progress: tests succeeded: 90, failed: 4, skipped: 2.
Starting test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 3465ms
Test suite progress: tests succeeded: 91, failed: 4, skipped: 2.
Starting test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 7538ms
Test suite progress: tests succeeded: 92, failed: 4, skipped: 2.
Starting test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKInputStreamMapIntegrationLiveTest) succeeded: 1416ms
Test suite progress: tests succeeded: 93, failed: 4, skipped: 2.
Tests run: 99, Failures: 4, Errors: 0, Skipped: 2, Time elapsed: 1,699.138 sec <<< FAILURE!

Results :

Failed tests:   testCreateBlobWithExpiry(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest): expires=null; expected=Wed Sep 19 22:52:36 UTC 2012
  testGetIfModifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobIntegrationLiveTest): command: GET https://storage101.lon3.clouddrive.com/v1/MossoCloudFS_a08a5deb-7b0e-433b-8033-578340b0d63d/root-blobstore13/apples HTTP/1.1 failed with response: HTTP/1.1 304 Not Modified; content: []
  testSignGetUrlWithTime(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest): Temporary URL did not expire as expected
  testSignPutUrlWithTime(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUKBlobSignerLiveTest): Temporary URL did not expire as expected

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

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28:34.156s
[INFO] Finished at: Wed Sep 19 23:17:49 UTC 2012
[INFO] Final Memory: 21M/301M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (integration) on project cloudfiles-uk: There are test failures.
[ERROR] 
[ERROR] Please refer to /root/dev/everett-toews/jclouds/providers/cloudfiles-uk/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
