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

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest
Starting test testAllContains(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest)
Starting test testInRestProperties(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest) succeeded: 98ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testOfTypeContains(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest)
Starting test testWithId(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest)
[pool-2-thread-3] Test testOfTypeContains(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest) succeeded: 11ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-4] Test testWithId(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest) succeeded: 21ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-2] Test testInRestProperties(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKProviderTest) succeeded: 105ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.747 sec

Results :

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

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

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

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test setupClient(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest)
Mar 7, 2012 4:22:28 PM org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest setupClient
INFO: running against regions [LON]
[TestNG] Test setupClient(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest) succeeded: 347ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest)
Mar 7, 2012 4:22:28 PM org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest testCreateLoadBalancer
INFO: starting lb in region LON
[TestNG] Test testCreateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest) succeeded: 13258ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testCreateLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest)
Mar 7, 2012 4:22:41 PM org.jclouds.cloudloadbalancers.features.NodeClientLiveTest testCreateLoadBalancers
INFO: running against regions [LON]
Mar 7, 2012 4:22:41 PM org.jclouds.cloudloadbalancers.features.NodeClientLiveTest testCreateLoadBalancers
INFO: starting lb in region LON
[TestNG] Test testCreateLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest) succeeded: 11701ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Starting test testUpdateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest)
[TestNG] Test testUpdateLoadBalancer(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest) succeeded: 4164ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test testAddNodes(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest)
Mar 7, 2012 4:22:57 PM org.jclouds.cloudloadbalancers.features.NodeClientLiveTest testAddNodes
INFO: starting node on loadbalancer 7249 in region LON
[TestNG] Test testAddNodes(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest) succeeded: 2773ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testListLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest)
[TestNG] Test testListLoadBalancers(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKLoadBalancerClientLiveTest) succeeded: 2380ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
Starting test testModifyNode(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest)
[TestNG] Test testModifyNode(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest) succeeded: 2622ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testListNodes(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest)
[id=26759, address=192.168.1.1, condition=ENABLED,  port=8080,  weight=null, status=ONLINE]
[id=26761, address=192.168.1.2, condition=ENABLED,  port=8080,  weight=null, status=ONLINE]
[TestNG] Test testListNodes(org.jclouds.rackspace.cloudloadbalancers.CloudLoadBalancersUKNodeClientLiveTest) succeeded: 2240ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.237 sec

Results :

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

[INFO] 
[INFO] --- maven-install-plugin:2.3:install (default-install) @ cloudloadbalancers-uk ---
[INFO] Installing /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudloadbalancers-uk/target/cloudloadbalancers-uk-1.4.0-SNAPSHOT.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-uk/1.4.0-SNAPSHOT/cloudloadbalancers-uk-1.4.0-SNAPSHOT.jar
[INFO] Installing /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudloadbalancers-uk/pom.xml to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-uk/1.4.0-SNAPSHOT/cloudloadbalancers-uk-1.4.0-SNAPSHOT.pom
[INFO] Installing /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudloadbalancers-uk/target/cloudloadbalancers-uk-1.4.0-SNAPSHOT-sources.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-uk/1.4.0-SNAPSHOT/cloudloadbalancers-uk-1.4.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/adriancole/workspace/git/1.4.x/jclouds/providers/cloudloadbalancers-uk/target/cloudloadbalancers-uk-1.4.0-SNAPSHOT-tests.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-uk/1.4.0-SNAPSHOT/cloudloadbalancers-uk-1.4.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:install (default-install) @ cloudloadbalancers-uk ---
[INFO] Installing org/jclouds/provider/cloudloadbalancers-uk/1.4.0-SNAPSHOT/cloudloadbalancers-uk-1.4.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:31.102s
[INFO] Finished at: Wed Mar 07 16:23:19 PST 2012
[INFO] Final Memory: 20M/265M
[INFO] ------------------------------------------------------------------------
