[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:rackspace-cloudloadbalancers-us:bundle:1.6.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.6.0-SNAPSHOT (/private/tmp/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.6.0-SNAPSHOT, /private/tmp/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 Rackspace Cloud Load Balancers US provider 1.6.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ rackspace-cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-maven) @ rackspace-cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-banned-dependencies) @ rackspace-cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-java) @ rackspace-cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.4:process (process-remote-resources) @ rackspace-cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rackspace-cloudloadbalancers-us ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ rackspace-cloudloadbalancers-us ---
[INFO] Compiling 1 source file to /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ rackspace-cloudloadbalancers-us ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/src/test/clojure
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/src/test/resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ rackspace-cloudloadbalancers-us ---
[INFO] Compiling 3 source files to /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ rackspace-cloudloadbalancers-us ---
[INFO] Surefire report directory: /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@65b4fad5
Starting test testOfApiContains(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest)
Starting test testAllContains(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest)
Starting test testWithId(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest)
Starting test testTransformableToContains(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest)
[pool-1-thread-1] Test testAllContains(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest) succeeded: 12ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-1-thread-2] Test testOfApiContains(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest) succeeded: 16ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-1-thread-3] Test testTransformableToContains(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest) succeeded: 18ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-1-thread-4] Test testWithId(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSProviderTest) succeeded: 19ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.535 sec

Results :

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

[INFO] 
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ rackspace-cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ rackspace-cloudloadbalancers-us ---
[INFO] Building jar: /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/target/rackspace-cloudloadbalancers-us-1.6.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (integration) @ rackspace-cloudloadbalancers-us ---
[INFO] Surefire report directory: /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-us/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@1cc7b00c
Starting test testCreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest)
Starting test testCreateLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest)
[TestNG] Test testCreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest) succeeded: 227839ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testUpdateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest)
[TestNG] Test testUpdateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest) succeeded: 57074ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testListLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest)
[TestNG] Test testListLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest) succeeded: 2152ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testLoadBalancerMetadata(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest)
[TestNG] Test testLoadBalancerMetadata(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSLoadBalancerClientLiveTest) succeeded: 8366ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
[TestNG] Test testCreateLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest) failed.
Test suite progress: tests succeeded: 4, failed: 1, skipped: 0.
[TestNG] Test testAddNodes(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest) skipped.
Test suite progress: tests succeeded: 4, failed: 1, skipped: 1.
[TestNG] Test testModifyNode(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest) skipped.
Test suite progress: tests succeeded: 4, failed: 1, skipped: 2.
[TestNG] Test testListNodes(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest) skipped.
Test suite progress: tests succeeded: 4, failed: 1, skipped: 3.
[TestNG] Test testNodeMetadata(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest) skipped.
Test suite progress: tests succeeded: 4, failed: 1, skipped: 4.
Tests run: 9, Failures: 1, Errors: 0, Skipped: 4, Time elapsed: 393.392 sec <<< FAILURE!
testCreateLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest)  Time elapsed: 103.471 sec  <<< FAILURE!
java.lang.AssertionError: expected [true] but found [false]
	at org.testng.Assert.fail(Assert.java:94)
	at org.testng.Assert.failNotEquals(Assert.java:494)
	at org.testng.Assert.assertTrue(Assert.java:42)
	at org.testng.Assert.assertTrue(Assert.java:52)
	at org.jclouds.rackspace.cloudloadbalancers.v1.features.NodeApiLiveTest.testCreateLoadBalancers(NodeApiLiveTest.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)


Results :

Failed tests:   testCreateLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.us.CloudLoadBalancersUSNodeClientLiveTest): expected [true] but found [false]

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

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6:40.323s
[INFO] Finished at: Sat Apr 27 19:04:51 PDT 2013
[INFO] Final Memory: 18M/125M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (integration) on project rackspace-cloudloadbalancers-us: There are test failures.
[ERROR] 
[ERROR] Please refer to /private/tmp/jclouds/providers/rackspace-cloudloadbalancers-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
