[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.provider:cloudloadbalancers-us:bundle:1.2.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.2.0-SNAPSHOT (/Users/adriancole/workspace/git/1.2.0/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.2.0-SNAPSHOT, /Users/adriancole/workspace/git/1.2.0/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-us core 1.2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ cloudloadbalancers-us ---
[INFO] Deleting /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-maven) @ cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-banned-dependencies) @ cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0.1:enforce (enforce-java) @ cloudloadbalancers-us ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.2:process (process-remote-resources) @ cloudloadbalancers-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) @ cloudloadbalancers-us ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/src/main/clojure
[INFO] Copying 1 resource
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ cloudloadbalancers-us ---
[INFO] Compiling 36 source files to /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.4.2:testResources (default-testResources) @ cloudloadbalancers-us ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/src/test/clojure
[INFO] Copying 3 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ cloudloadbalancers-us ---
[INFO] Compiling 10 source files to /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.5:test (default-test) @ cloudloadbalancers-us ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test testMarkerStatic(org.jclouds.cloudloadbalancers.options.ListOptionsTest)
Starting test testMarker(org.jclouds.cloudloadbalancers.options.ListOptionsTest)
Starting test testLimitStatic(org.jclouds.cloudloadbalancers.options.ListOptionsTest)
Starting test testLimit(org.jclouds.cloudloadbalancers.options.ListOptionsTest)
Starting test test404NotFound(org.jclouds.cloudloadbalancers.handlers.ParseCloudLoadBalancersErrorFromHttpResponseTest)
[pool-2-thread-2] Test testMarker(org.jclouds.cloudloadbalancers.options.ListOptionsTest) succeeded: 93ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-2-thread-1] Test testMarkerStatic(org.jclouds.cloudloadbalancers.options.ListOptionsTest) succeeded: 103ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
[pool-2-thread-3] Test testLimitStatic(org.jclouds.cloudloadbalancers.options.ListOptionsTest) succeeded: 97ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-2-thread-4] Test testLimit(org.jclouds.cloudloadbalancers.options.ListOptionsTest) succeeded: 96ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
Starting test test(org.jclouds.cloudloadbalancers.functions.UnwrapLoadBalancerTest)
Starting test test(org.jclouds.cloudloadbalancers.functions.UnwrapLoadBalancersTest)
[pool-2-thread-3] Test test(org.jclouds.cloudloadbalancers.functions.UnwrapLoadBalancersTest) succeeded: 525ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
[pool-2-thread-2] Test test(org.jclouds.cloudloadbalancers.functions.UnwrapLoadBalancerTest) succeeded: 532ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
[pool-2-thread-5] Test test404NotFound(org.jclouds.cloudloadbalancers.handlers.ParseCloudLoadBalancersErrorFromHttpResponseTest) succeeded: 660ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testInRestProperties(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest)
Starting test testWithId(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest)
Starting test testAllContains(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest)
Starting test testOfTypeContains(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest)
[pool-3-thread-3] Test testAllContains(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest) succeeded: 3ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
[pool-3-thread-2] Test testWithId(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest) succeeded: 41ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
[pool-3-thread-4] Test testOfTypeContains(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest) succeeded: 18ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
[pool-3-thread-1] Test testInRestProperties(org.jclouds.cloudloadbalancers.CloudLoadBalancersUSProviderTest) succeeded: 60ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test testListLoadBalancers(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest)
Starting test testRemoveLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest)
Starting test testCreateLoadBalancerWithId(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest)
Starting test testUpdateLoadBalancerAttributes(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest)
Starting test testCreateLoadBalancerWithType(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest)
[pool-4-thread-5] Test testListLoadBalancers(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest) succeeded: 42ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
Starting test testGetLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest)
[pool-4-thread-4] Test testRemoveLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest) succeeded: 46ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
[pool-4-thread-1] Test testCreateLoadBalancerWithId(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest) succeeded: 49ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
[pool-4-thread-5] Test testGetLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest) succeeded: 8ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
[pool-4-thread-2] Test testCreateLoadBalancerWithType(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest) succeeded: 48ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
[pool-4-thread-3] Test testUpdateLoadBalancerAttributes(org.jclouds.cloudloadbalancers.features.LoadBalancerAsyncClientTest) succeeded: 54ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
Starting test testAsync(org.jclouds.cloudloadbalancers.CloudLoadBalancersAsyncClientTest)
Starting test testSync(org.jclouds.cloudloadbalancers.CloudLoadBalancersAsyncClientTest)
[pool-5-thread-1] Test testAsync(org.jclouds.cloudloadbalancers.CloudLoadBalancersAsyncClientTest) succeeded: 5ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
[pool-5-thread-2] Test testSync(org.jclouds.cloudloadbalancers.CloudLoadBalancersAsyncClientTest) succeeded: 7ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.827 sec

Results :

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

[INFO] 
[INFO] --- clojure-maven-plugin:1.3.3:test (test-clojure) @ cloudloadbalancers-us ---

Testing user

Ran 0 tests containing 0 assertions.
0 failures, 0 errors.
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:bundle (default-bundle) @ cloudloadbalancers-us ---
[WARNING] Warning building bundle org.jclouds.provider:cloudloadbalancers-us:bundle:1.2.0-SNAPSHOT : Instructions in Export-Package that are never used: org\.jclouds\.rackspace\.cloudloadbalancers\..*|org\.jclouds\.rackspace\.cloudloadbalancers
Classpath: Jar:.,Jar:jclouds-loadbalancer,Jar:jclouds-core,Jar:jclouds-compute,Jar:jclouds-scriptbuilder,Jar:openstack-common,Jar:oauth,Jar:aopalliance,Jar:jersey-core,Jar:guice-assistedinject,Jar:guice,Jar:javax.inject,Jar:jsr250-api,Jar:gson,Jar:guava,Jar:jsr305,Jar:clojure,Jar:tools.logging,Jar:core.incubator

[WARNING] Warning building bundle org.jclouds.provider:cloudloadbalancers-us:bundle:1.2.0-SNAPSHOT : Superfluous export-package instructions: [org.jclouds.rackspace.cloudloadbalancers.*]
[INFO] 
[INFO] --- maven-source-plugin:2.1.1:jar-no-fork (attach-sources) @ cloudloadbalancers-us ---
[INFO] Building jar: /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/cloudloadbalancers-us-1.2.0-SNAPSHOT-sources.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.8:jar (javadoc) @ cloudloadbalancers-us ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- maven-jar-plugin:2.3.1:test-jar (default) @ cloudloadbalancers-us ---
[INFO] Building jar: /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/cloudloadbalancers-us-1.2.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.5:test (integration) @ cloudloadbalancers-us ---
[INFO] Surefire report directory: /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Starting test testCreateLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest)
Oct 15, 2011 11:21:07 AM org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest testCreateLoadBalancer
INFO: starting lb in region ORD
Oct 15, 2011 11:22:13 AM org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest testCreateLoadBalancer
INFO: starting lb in region DFW
[pool-2-thread-1] Test testCreateLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest) succeeded: 82364ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testListLoadBalancers(org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest)
[pool-2-thread-1] Test testListLoadBalancers(org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest) succeeded: 1719ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testUpdateLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest)
[pool-2-thread-1] Test testUpdateLoadBalancer(org.jclouds.cloudloadbalancers.features.LoadBalancerClientLiveTest) succeeded: 7843ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 175.201 sec

Results :

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

[INFO] 
[INFO] --- maven-install-plugin:2.3:install (default-install) @ cloudloadbalancers-us ---
[INFO] Installing /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/cloudloadbalancers-us-1.2.0-SNAPSHOT.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-us/1.2.0-SNAPSHOT/cloudloadbalancers-us-1.2.0-SNAPSHOT.jar
[INFO] Installing /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/pom.xml to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-us/1.2.0-SNAPSHOT/cloudloadbalancers-us-1.2.0-SNAPSHOT.pom
[INFO] Installing /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/cloudloadbalancers-us-1.2.0-SNAPSHOT-sources.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-us/1.2.0-SNAPSHOT/cloudloadbalancers-us-1.2.0-SNAPSHOT-sources.jar
[INFO] Installing /Users/adriancole/workspace/git/1.2.0/jclouds/providers/cloudloadbalancers-us/target/cloudloadbalancers-us-1.2.0-SNAPSHOT-tests.jar to /Users/adriancole/.m2/repository/org/jclouds/provider/cloudloadbalancers-us/1.2.0-SNAPSHOT/cloudloadbalancers-us-1.2.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-bundle-plugin:2.3.4:install (default-install) @ cloudloadbalancers-us ---
[INFO] Installing org/jclouds/provider/cloudloadbalancers-us/1.2.0-SNAPSHOT/cloudloadbalancers-us-1.2.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3:14.806s
[INFO] Finished at: Sat Oct 15 11:24:00 PDT 2011
[INFO] Final Memory: 20M/125M
[INFO] ------------------------------------------------------------------------
