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

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest
Starting test testAllContains(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest)
Starting test testInRestProperties(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest)
Starting test testOfTypeContains(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest)
Starting test testWithId(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest) succeeded: 84ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest) succeeded: 95ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-4] Test testWithId(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest) succeeded: 75ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.rackspace.cloudfiles.CloudFilesUSProviderTest) succeeded: 395ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.19 sec

Results :

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

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

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) @ cloudfiles-us ---
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ cloudfiles-us ---
[INFO] Building jar: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudfiles-us/target/cloudfiles-us-1.4.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ cloudfiles-us ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ cloudfiles-us ---
[INFO] Building jar: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudfiles-us/target/cloudfiles-us-1.4.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (integration) @ cloudfiles-us ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudfiles-us/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.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test blobNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1399ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1873ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1757ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2076ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1813ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2996ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2238ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1828ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1804ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1813ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
Starting test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1953ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test deleteObjectNoContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNoContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 308ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test deleteObjectNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test deleteObjectNotFound(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 1132ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
Starting test testBigFileGets(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testBigFileGets(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 30051ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
Starting test testGetIfMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testGetIfMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 3367ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test testGetIfModifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testGetIfModifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 3966ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testGetIfNoneMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testGetIfNoneMatch(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 5007ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test testGetIfUnmodifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testGetIfUnmodifiedSince(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 3028ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testGetRange(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testGetRange(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2501ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testMetadata(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 3521ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
Starting test testPutFileParallel(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testPutFileParallel(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 30900ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 7831ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2084ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
Starting test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testPutObject(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2763ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
Starting test testPutObjectStream(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest)
[TestNG] Test testPutObjectStream(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobIntegrationLiveTest) succeeded: 2712ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
Starting test testCopyUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobLiveTest)
[TestNG] Test testCopyUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobLiveTest) succeeded: 5105ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testContains(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testContains(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 2921ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 9058ms
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
Starting test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 4269ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
Starting test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) failed.
Test suite progress: tests succeeded: 29, failed: 1, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 8443ms
Test suite progress: tests succeeded: 30, failed: 1, skipped: 0.
Starting test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 18108ms
Test suite progress: tests succeeded: 31, failed: 1, skipped: 0.
Starting test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 6511ms
Test suite progress: tests succeeded: 32, failed: 1, skipped: 0.
Starting test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 4042ms
Test suite progress: tests succeeded: 33, failed: 1, skipped: 0.
Starting test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 3022ms
Test suite progress: tests succeeded: 34, failed: 1, skipped: 0.
Starting test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 34700ms
Test suite progress: tests succeeded: 35, failed: 1, skipped: 0.
Starting test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 3064ms
Test suite progress: tests succeeded: 36, failed: 1, skipped: 0.
Starting test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 3140ms
Test suite progress: tests succeeded: 37, failed: 1, skipped: 0.
Starting test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest) succeeded: 2544ms
Test suite progress: tests succeeded: 38, failed: 1, skipped: 0.
Starting test testSignGetUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest)
[TestNG] Test testSignGetUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest) succeeded: 3654ms
Test suite progress: tests succeeded: 39, failed: 1, skipped: 0.
Starting test testSignGetUrlOptions(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest)
[TestNG] Test testSignGetUrlOptions(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest) succeeded: 1969ms
Test suite progress: tests succeeded: 40, failed: 1, skipped: 0.
Starting test testSignPutUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest)
[TestNG] Test testSignPutUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest) succeeded: 1779ms
Test suite progress: tests succeeded: 41, failed: 1, skipped: 0.
Starting test testSignRemoveUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest)
[TestNG] Test testSignRemoveUrl(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobSignerLiveTest) succeeded: 6730ms
Test suite progress: tests succeeded: 42, failed: 1, skipped: 0.
Exception in thread "user thread 4" java.lang.IllegalStateException: interrupted calling get() on [[method=CloudFilesAsyncClient.objectExists, request=HEAD https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_dc1f419c-5059-4c87-a389-3f2e33a77b22/adriancole-blobstore1/hello HTTP/1.1]], so could not run listeners
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:66)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:979)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:239)
	at org.jclouds.concurrent.Futures$CallGetAndRunExecutionList.run(Futures.java:59)
	... 3 more
Caused by: java.util.concurrent.ExecutionException: task submitted from the following trace
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.ensureCauseHasSubmissionTrace(ExecutorServiceModule.java:272)
	at org.jclouds.concurrent.config.ExecutorServiceModule$DescribedFuture.get(ExecutorServiceModule.java:243)
	... 4 more
Starting test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 846ms
Test suite progress: tests succeeded: 43, failed: 1, skipped: 0.
Starting test containerExists(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test containerExists(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 1080ms
Test suite progress: tests succeeded: 44, failed: 1, skipped: 0.
Starting test deleteContainerIfEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
*** allocated new container adriancole-blobstore3...
[TestNG] Test deleteContainerIfEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 5407ms
Test suite progress: tests succeeded: 45, failed: 1, skipped: 0.
Starting test deleteContainerWithContents(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
*** allocated new container adriancole-blobstore4...
[TestNG] Test deleteContainerWithContents(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 9071ms
Test suite progress: tests succeeded: 46, failed: 1, skipped: 0.
Starting test testClearWhenContentsUnderPath(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testClearWhenContentsUnderPath(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 12479ms
Test suite progress: tests succeeded: 47, failed: 1, skipped: 0.
Starting test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 21428ms
Test suite progress: tests succeeded: 48, failed: 1, skipped: 0.
Starting test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 9035ms
Test suite progress: tests succeeded: 49, failed: 1, skipped: 0.
Starting test testListContainerMarker(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testListContainerMarker(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 13569ms
Test suite progress: tests succeeded: 50, failed: 1, skipped: 0.
Starting test testListContainerMaxResults(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testListContainerMaxResults(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 58092ms
Test suite progress: tests succeeded: 51, failed: 1, skipped: 0.
Starting test testListContainerPrefix(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testListContainerPrefix(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 16386ms
Test suite progress: tests succeeded: 52, failed: 1, skipped: 0.
Starting test testListRootUsesDelimiter(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testListRootUsesDelimiter(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 15502ms
Test suite progress: tests succeeded: 53, failed: 1, skipped: 0.
Starting test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testPutTwiceIsOkAndDoesntOverwrite(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 2435ms
Test suite progress: tests succeeded: 54, failed: 1, skipped: 0.
Starting test testWithDetails(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest)
[TestNG] Test testWithDetails(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerIntegrationLiveTest) succeeded: 2685ms
Test suite progress: tests succeeded: 55, failed: 1, skipped: 0.
Starting test testPublicAccess(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerLiveTest)
*** allocated new container adriancole-blobstore6...
*** allocated new container adriancole-blobstore613...
[TestNG] Test testPublicAccess(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSContainerLiveTest) succeeded: 5259ms
Test suite progress: tests succeeded: 56, failed: 1, skipped: 0.
Starting test testContainsBytesValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsBytesValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 3219ms
Test suite progress: tests succeeded: 57, failed: 1, skipped: 0.
Starting test testContainsFileValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsFileValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 3497ms
Test suite progress: tests succeeded: 58, failed: 1, skipped: 0.
Starting test testContainsInputStreamValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsInputStreamValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 36409ms
Test suite progress: tests succeeded: 59, failed: 1, skipped: 0.
Starting test testContainsStringValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsStringValue(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 6150ms
Test suite progress: tests succeeded: 60, failed: 1, skipped: 0.
Starting test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testEntrySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 11907ms
Test suite progress: tests succeeded: 61, failed: 1, skipped: 0.
Starting test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPut(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4347ms
Test suite progress: tests succeeded: 62, failed: 1, skipped: 0.
Starting test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4818ms
Test suite progress: tests succeeded: 63, failed: 1, skipped: 0.
Starting test testPutAllBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 3935ms
Test suite progress: tests succeeded: 64, failed: 1, skipped: 0.
Starting test testPutAllFiles(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllFiles(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 3748ms
Test suite progress: tests succeeded: 65, failed: 1, skipped: 0.
Starting test testPutAllStrings(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutAllStrings(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4054ms
Test suite progress: tests succeeded: 66, failed: 1, skipped: 0.
Starting test testPutBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutBytes(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4246ms
Test suite progress: tests succeeded: 67, failed: 1, skipped: 0.
Starting test testPutFile(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutFile(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4685ms
Test suite progress: tests succeeded: 68, failed: 1, skipped: 0.
Starting test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutMoreThanSingleListing(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 179012ms
Test suite progress: tests succeeded: 69, failed: 1, skipped: 0.
Starting test testPutString(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testPutString(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4477ms
Test suite progress: tests succeeded: 70, failed: 1, skipped: 0.
Starting test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testRemove(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4343ms
Test suite progress: tests succeeded: 71, failed: 1, skipped: 0.
Starting test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testValues(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 2884ms
Test suite progress: tests succeeded: 72, failed: 1, skipped: 0.
Starting test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testClear(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 4433ms
Test suite progress: tests succeeded: 73, failed: 1, skipped: 0.
Starting test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testContainsKey(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 2656ms
Test suite progress: tests succeeded: 74, failed: 1, skipped: 0.
Starting test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testDirectory(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 27724ms
Test suite progress: tests succeeded: 75, failed: 1, skipped: 0.
Starting test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testIsEmpty(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 2172ms
Test suite progress: tests succeeded: 76, failed: 1, skipped: 0.
Starting test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testKeySet(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 3161ms
Test suite progress: tests succeeded: 77, failed: 1, skipped: 0.
Starting test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest)
[TestNG] Test testListContainer(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSInputStreamMapIntegrationLiveTest) succeeded: 1154ms
Test suite progress: tests succeeded: 78, failed: 1, skipped: 0.
Starting test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSServiceIntegrationLiveTest)
[TestNG] Test containerDoesntExist(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSServiceIntegrationLiveTest) succeeded: 631ms
Test suite progress: tests succeeded: 79, failed: 1, skipped: 0.
Starting test testAllLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSServiceIntegrationLiveTest)
*** allocated new container adriancole-blobstore8...
 >> creating container in location [id=US, scope=REGION, description=US, parent=cloudfiles-us, iso3166Codes=[], metadata={}]
 << call complete.. checking
*** allocated new container adriancole-blobstore815...
[TestNG] Test testAllLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSServiceIntegrationLiveTest) succeeded: 4394ms
Test suite progress: tests succeeded: 80, failed: 1, skipped: 0.
Starting test testGetAssignableLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSServiceIntegrationLiveTest)
location [id=US, scope=REGION, description=US, parent=cloudfiles-us, iso3166Codes=[], metadata={}]
[TestNG] Test testGetAssignableLocations(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSServiceIntegrationLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 81, failed: 1, skipped: 0.
Starting test testCDNOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
*** allocated new container adriancole-blobstore9...
*** allocated new container adriancole-blobstore0...
[TestNG] Test testCDNOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 9165ms
Test suite progress: tests succeeded: 82, failed: 1, skipped: 0.
Starting test deleteContainerIfEmptyNotFound(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
[TestNG] Test deleteContainerIfEmptyNotFound(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 253ms
Test suite progress: tests succeeded: 83, failed: 1, skipped: 0.
Starting test testHeadAccountMetadata(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
[TestNG] Test testHeadAccountMetadata(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 6907ms
Test suite progress: tests succeeded: 84, failed: 1, skipped: 0.
Starting test testListContainerPath(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
[TestNG] Test testListContainerPath(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 2721ms
Test suite progress: tests succeeded: 85, failed: 1, skipped: 0.
Starting test testListOwnedContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
[TestNG] Test testListOwnedContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 4110ms
Test suite progress: tests succeeded: 86, failed: 1, skipped: 0.
Starting test testObjectOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
[TestNG] Test testObjectOperations(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 4334ms
Test suite progress: tests succeeded: 87, failed: 1, skipped: 0.
Starting test testPutContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest)
[TestNG] Test testPutContainers(org.jclouds.rackspace.cloudfiles.CloudFilesUSClientLiveTest) succeeded: 2674ms
Test suite progress: tests succeeded: 88, failed: 1, skipped: 0.
Tests run: 89, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 806.923 sec <<< FAILURE!

Results :

Failed tests:   testPutAll(org.jclouds.rackspace.cloudfiles.blobstore.integration.CloudFilesUSBlobMapIntegrationLiveTest): expected:<5> but was:<4>

Tests run: 89, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14:10.805s
[INFO] Finished at: Wed Mar 07 16:35:47 PST 2012
[INFO] Final Memory: 21M/265M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (integration) on project cloudfiles-us: There are test failures.
[ERROR] 
[ERROR] Please refer to /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudfiles-us/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
