Fix test-support Jetty port binding to use available port

I pulled the latest from master (1f2ab203019866aa8a52d99bb754d10aeb06a179) and tried building on Windows 7, but encountered an error in Easy Client. The use of new ServerSocket(0).getLocalPort() binds the socket to an available port, which is then not available for use by Jetty, causing the failed SocketConnector@0.0.0.0:54560 java.net.BindException: Address already in use: JVM_Bind exception below.

This pull request allows Jetty to find an available port to bind for tests rather than attempting to find an available port ourselves and avoiding "java.net.BindException: Address already in use". After making these changes, sitebricks successfully passes all tests and installs cleanly.


-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.sitebricks.client.easy.SisuSitebricksClientModuleTest
10:24:15.852 [main] INFO  org.mortbay.log - Logging to Logger[org.mortbay.log] via org.mortbay.log.Slf4jLog
10:24:15.856 [main] DEBUG org.mortbay.log - Container Server@643ae941 + SocketConnector@0.0.0.0:54560 as connector
10:24:15.856 [main] DEBUG org.mortbay.log - Container Server@643ae941 + org.mortbay.jetty.webapp.WebAppContext@57a7ddcf{/sitebricks,src/test/webapp} as handler
10:24:15.856 [main] DEBUG org.mortbay.log - Container SecurityHandler@4dd36dfe + ServletHandler@73da669c as handler
10:24:15.856 [main] DEBUG org.mortbay.log - Container SessionHandler@786c730 + SecurityHandler@4dd36dfe as handler
10:24:15.856 [main] DEBUG org.mortbay.log - Container SessionHandler@786c730 + org.mortbay.jetty.servlet.HashSessionManager@217f242c as sessionManager
10:24:15.856 [main] DEBUG org.mortbay.log - Container org.mortbay.jetty.webapp.WebAppContext@57a7ddcf{/sitebricks,src/test/webapp} + SessionHandler@786c730 as handler
10:24:15.856 [main] DEBUG org.mortbay.log - Container org.mortbay.jetty.webapp.WebAppContext@57a7ddcf{/sitebricks,src/test/webapp} + ErrorPageErrorHandler@221fd5e2 as error
10:24:15.857 [main] INFO  org.mortbay.log - jetty-6.1.9
10:24:15.868 [main] DEBUG org.mortbay.log - Container Server@643ae941 + org.mortbay.thread.BoundedThreadPool@6426d607 as threadpool
10:24:15.869 [main] DEBUG org.mortbay.log - started org.mortbay.thread.BoundedThreadPool@6426d607
10:24:15.895 [main] DEBUG org.mortbay.log - Thread Context class loader is: ContextLoader@null([]) / sun.misc.Launcher$AppClassLoader@b92d342
10:24:15.895 [main] DEBUG org.mortbay.log - Parent class loader is: sun.misc.Launcher$AppClassLoader@b92d342
10:24:15.895 [main] DEBUG org.mortbay.log - Parent class loader is: sun.misc.Launcher$ExtClassLoader@546b97fd
10:24:15.900 [main] DEBUG org.mortbay.log - Checking Resource aliases
10:24:15.901 [main] DEBUG org.mortbay.log - Try webapp=file:/D:/dev/oss/sitebricks/sitebricks-easy-client/src/test/webapp/, exists=true, directory=true
10:24:15.901 [main] DEBUG org.mortbay.log - webapp=file:/D:/dev/oss/sitebricks/sitebricks-easy-client/src/test/webapp/
10:24:15.904 [main] DEBUG org.mortbay.log - Created temp dir C:\Temp\Jetty_0_0_0_0_54560_webapp__sitebricks__89clcd for org.mortbay.jetty.webapp.WebAppContext@57a7ddcf{/sitebricks,src/test/webapp}
10:24:15.920 [main] DEBUG org.mortbay.log - getResource(org/mortbay/jetty/webapp/webdefault.xml)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.jar!/org/mortbay/jetty/webapp/webdefault.xml
10:24:15.922 [main] DEBUG org.mortbay.log - parse: jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.jar!/org/mortbay/jetty/webapp/webdefault.xml
10:24:15.924 [main] DEBUG org.mortbay.log - parsing: sid=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/jetty/6.1.9/jetty-6.1.9.jar!/org/mortbay/jetty/webapp/webdefault.xml,pid=null
10:24:15.941 [main] DEBUG org.mortbay.log - ContextParam: org.mortbay.jetty.webapp.NoTLDJarPattern=start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar
10:24:15.946 [main] INFO  org.mortbay.log - NO JSP Support for /sitebricks, did not find org.apache.jasper.servlet.JspServlet
10:24:15.951 [main] DEBUG org.mortbay.log - filterNameMap=null
10:24:15.951 [main] DEBUG org.mortbay.log - pathFilters=[]
10:24:15.951 [main] DEBUG org.mortbay.log - servletFilterMap=null
10:24:15.952 [main] DEBUG org.mortbay.log - servletPathMap=null
10:24:15.952 [main] DEBUG org.mortbay.log - servletNameMap=null
10:24:15.952 [main] DEBUG org.mortbay.log - Container ServletHandler@73da669c + default as servlet
10:24:15.952 [main] DEBUG org.mortbay.log - Container ServletHandler@73da669c + jsp as servlet
10:24:15.952 [main] DEBUG org.mortbay.log - Container ServletHandler@73da669c + (S=default,[/]) as servletMapping
10:24:15.952 [main] DEBUG org.mortbay.log - Container ServletHandler@73da669c + (S=jsp,[*.jsp, *.jspf, *.jspx, *.xsp, *.JSP, *.JSPF, *.JSPX, *.XSP]) as servletMapping
10:24:15.954 [main] DEBUG org.mortbay.log - filterNameMap=null
10:24:15.954 [main] DEBUG org.mortbay.log - pathFilters=[]
10:24:15.954 [main] DEBUG org.mortbay.log - servletFilterMap=null
10:24:15.954 [main] DEBUG org.mortbay.log - servletPathMap={*.XSP=jsp, *.JSPX=jsp, *.jspf=jsp, *.jsp=jsp, *.JSPF=jsp, *.jspx=jsp, *.xsp=jsp, /=default, *.JSP=jsp}
10:24:15.954 [main] DEBUG org.mortbay.log - servletNameMap={jsp=jsp, default=default}
10:24:15.955 [main] DEBUG org.mortbay.log - parse: file:/D:/dev/oss/sitebricks/sitebricks-easy-client/src/test/webapp/WEB-INF/web.xml
10:24:15.955 [main] DEBUG org.mortbay.log - parsing: sid=file:/D:/dev/oss/sitebricks/sitebricks-easy-client/src/test/webapp/WEB-INF/web.xml,pid=null
10:24:15.957 [main] DEBUG org.mortbay.log - Container ServletHandler@73da669c + guiceFilter as filter
10:24:15.957 [main] DEBUG org.mortbay.log - Container ServletHandler@73da669c + (F=guiceFilter,[/*],[],0) as filterMapping
10:24:15.957 [main] DEBUG org.mortbay.log - filterNameMap={guiceFilter=guiceFilter}
10:24:15.957 [main] DEBUG org.mortbay.log - pathFilters=[(F=guiceFilter,[/*],[],0)]
10:24:15.957 [main] DEBUG org.mortbay.log - servletFilterMap=null
10:24:15.957 [main] DEBUG org.mortbay.log - servletPathMap={*.XSP=jsp, *.JSPX=jsp, *.jspf=jsp, *.jsp=jsp, *.JSPF=jsp, *.jspx=jsp, *.xsp=jsp, /=default, *.JSP=jsp}
10:24:15.958 [main] DEBUG org.mortbay.log - servletNameMap={jsp=jsp, default=default}
10:24:15.958 [main] DEBUG org.mortbay.log - filterNameMap={guiceFilter=guiceFilter}
10:24:15.958 [main] DEBUG org.mortbay.log - pathFilters=[(F=guiceFilter,[/*],[],0)]
10:24:15.958 [main] DEBUG org.mortbay.log - servletFilterMap=null
10:24:15.958 [main] DEBUG org.mortbay.log - servletPathMap={*.XSP=jsp, *.JSPX=jsp, *.jspf=jsp, *.jsp=jsp, *.JSPF=jsp, *.jspx=jsp, *.xsp=jsp, /=default, *.JSP=jsp}
10:24:15.959 [main] DEBUG org.mortbay.log - servletNameMap={jsp=jsp, default=default}
10:24:15.959 [main] DEBUG org.mortbay.log - Configuring web-jetty.xml
10:24:15.960 [main] DEBUG org.mortbay.log - TLD search of file:/D:/dev/oss/sitebricks/sitebricks-easy-client/target/surefire/surefirebooter6532934242447121600.jar
10:24:15.961 [main] DEBUG org.mortbay.log - TLD search of file:/D:/opt/jdk1.6.0_32/jre/lib/ext/localedata.jar
10:24:15.962 [main] DEBUG org.mortbay.log - loaded class com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl from null
10:24:15.963 [main] DEBUG org.mortbay.log - loaded class com.sun.org.apache.xerces.internal.impl.dv.dtd.DTDDVFactoryImpl from null
10:24:15.963 [main] DEBUG org.mortbay.log - getResource(javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.jar!/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd
10:24:15.964 [main] DEBUG org.mortbay.log - getResource(javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.jar!/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd
10:24:15.964 [main] DEBUG org.mortbay.log - getResource(javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.jar!/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd
10:24:15.965 [main] DEBUG org.mortbay.log - getResource(javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.jar!/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd
10:24:15.965 [main] DEBUG org.mortbay.log - getResource(javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.jar!/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd
10:24:15.966 [main] DEBUG org.mortbay.log - getResource(javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd)=jar:file:/C:/Users/dschlosn/.m2/repository/org/mortbay/jetty/servlet-api-2.5/6.1.9/servlet-api-2.5-6.1.9.jar!/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd
10:24:15.967 [main] DEBUG org.mortbay.log - Container Server@643ae941 + org.mortbay.jetty.servlet.HashSessionIdManager@2c31f2a7 as sessionIdManager
10:24:15.968 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.servlet.HashSessionIdManager@2c31f2a7
10:24:15.969 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.servlet.HashSessionManager@217f242c
10:24:15.969 [main] DEBUG org.mortbay.log - filterNameMap={guiceFilter=guiceFilter}
10:24:15.969 [main] DEBUG org.mortbay.log - pathFilters=[(F=guiceFilter,[/*],[],0)]
10:24:15.970 [main] DEBUG org.mortbay.log - servletFilterMap=null
10:24:15.970 [main] DEBUG org.mortbay.log - servletPathMap={*.XSP=jsp, *.JSPX=jsp, *.jspf=jsp, *.jsp=jsp, *.JSPF=jsp, *.jspx=jsp, *.xsp=jsp, /=default, *.JSP=jsp}
10:24:15.970 [main] DEBUG org.mortbay.log - servletNameMap={jsp=jsp, default=default}
10:24:15.970 [main] DEBUG org.mortbay.log - starting ServletHandler@73da669c
10:24:15.970 [main] DEBUG org.mortbay.log - started ServletHandler@73da669c
10:24:15.970 [main] DEBUG org.mortbay.log - starting SecurityHandler@4dd36dfe
10:24:15.970 [main] DEBUG org.mortbay.log - started SecurityHandler@4dd36dfe
10:24:15.970 [main] DEBUG org.mortbay.log - starting SessionHandler@786c730
10:24:15.970 [main] DEBUG org.mortbay.log - started SessionHandler@786c730
10:24:15.970 [main] DEBUG org.mortbay.log - starting org.mortbay.jetty.webapp.WebAppContext@57a7ddcf{/sitebricks,src/test/webapp}
10:24:15.970 [main] DEBUG org.mortbay.log - starting ErrorPageErrorHandler@221fd5e2
10:24:15.970 [main] DEBUG org.mortbay.log - started ErrorPageErrorHandler@221fd5e2
10:24:15.973 [main] DEBUG org.mortbay.log - loaded class com.google.inject.servlet.GuiceFilter from sun.misc.Launcher$AppClassLoader@b92d342
10:24:15.973 [main] DEBUG org.mortbay.log - Holding class com.google.inject.servlet.GuiceFilter
10:24:15.976 [main] DEBUG org.mortbay.log - started guiceFilter
10:24:15.978 [main] DEBUG org.mortbay.log - loaded class org.mortbay.jetty.servlet.DefaultServlet
10:24:15.978 [main] DEBUG org.mortbay.log - loaded class org.mortbay.jetty.servlet.DefaultServlet from sun.misc.Launcher$AppClassLoader@b92d342
10:24:15.979 [main] DEBUG org.mortbay.log - Holding class org.mortbay.jetty.servlet.DefaultServlet
10:24:15.990 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.servlet.DefaultServlet$NIOResourceCache@5097d026
10:24:15.990 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.ResourceCache@1ee29820
10:24:15.990 [main] DEBUG org.mortbay.log - resource base = file:/D:/dev/oss/sitebricks/sitebricks-easy-client/src/test/webapp/
10:24:15.990 [main] DEBUG org.mortbay.log - started default
10:24:15.991 [main] DEBUG org.mortbay.log - loaded class org.mortbay.servlet.NoJspServlet
10:24:15.991 [main] DEBUG org.mortbay.log - loaded class org.mortbay.servlet.NoJspServlet from sun.misc.Launcher$AppClassLoader@b92d342
10:24:15.991 [main] DEBUG org.mortbay.log - Holding class org.mortbay.servlet.NoJspServlet
10:24:15.991 [main] DEBUG org.mortbay.log - started jsp
10:24:15.991 [main] DEBUG org.mortbay.log - started org.mortbay.jetty.webapp.WebAppContext@57a7ddcf{/sitebricks,src/test/webapp}
10:24:15.991 [main] DEBUG org.mortbay.log - starting Server@643ae941
10:24:15.993 [main] WARN  org.mortbay.log - failed SocketConnector@0.0.0.0:54560
java.net.BindException: Address already in use: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
        at java.net.ServerSocket.bind(ServerSocket.java:328)
        at java.net.ServerSocket.<init>(ServerSocket.java:194)
        at java.net.ServerSocket.<init>(ServerSocket.java:150)
        at org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:80)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.mortbay.jetty.Server.doStart(Server.java:233)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at com.google.sitebricks.acceptance.util.Jetty.start(Jetty.java:24)
        at com.google.sitebricks.acceptance.util.SitebricksServiceTest.beforeSuite(SitebricksServiceTest.java:48)
        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.invokeConfigurationMethod(Invoker.java:543)
        at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:212)
        at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:278)
        at org.testng.SuiteRunner.run(SuiteRunner.java:241)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1169)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1094)
        at org.testng.TestNG.run(TestNG.java:1006)
        at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:70)
        at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:109)
        at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:111)
        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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
        at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
        at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
10:24:15.993 [main] WARN  org.mortbay.log - failed Server@643ae941
java.net.BindException: Address already in use: JVM_Bind
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
        at java.net.ServerSocket.bind(ServerSocket.java:328)
        at java.net.ServerSocket.<init>(ServerSocket.java:194)
        at java.net.ServerSocket.<init>(ServerSocket.java:150)
        at org.mortbay.jetty.bio.SocketConnector.newServerSocket(SocketConnector.java:80)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.mortbay.jetty.Server.doStart(Server.java:233)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at com.google.sitebricks.acceptance.util.Jetty.start(Jetty.java:24)
        at com.google.sitebricks.acceptance.util.SitebricksServiceTest.beforeSuite(SitebricksServiceTest.java:48)
        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.invokeConfigurationMethod(Invoker.java:543)
        at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:212)
        at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:278)
        at org.testng.SuiteRunner.run(SuiteRunner.java:241)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1169)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1094)
        at org.testng.TestNG.run(TestNG.java:1006)
        at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:70)
        at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:109)
        at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:111)
        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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
        at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
        at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
Tests run: 44, Failures: 2, Errors: 0, Skipped: 42, Time elapsed: 0.718 sec <<< FAILURE!

Results :

Failed tests:   beforeSuite(org.sitebricks.client.easy.SisuSitebricksClientModuleTest): Address already in use: JVM_Bind
  beforeSuite(org.sitebricks.client.easy.SisuSitebricksClientModuleTest): Address already in use: JVM_Bind

Tests run: 44, Failures: 2, Errors: 0, Skipped: 42

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Sitebricks :: Parent .............................. SUCCESS [0.459s]
[INFO] Sitebricks :: Type Conversion ..................... SUCCESS [2.571s]
[INFO] Sitebricks :: Client .............................. SUCCESS [1.742s]
[INFO] Sitebricks :: Annotations ......................... SUCCESS [0.488s]
[INFO] Sitebricks :: Core ................................ SUCCESS [6.733s]
[INFO] Sitebricks :: Test Support ........................ SUCCESS [0.798s]
[INFO] Sitebricks :: Easy Client ......................... FAILURE [2.358s]
[INFO] Sitebricks :: Statistics .......................... SKIPPED
[INFO] Sitebricks :: Acceptance Tests .................... SKIPPED
[INFO] Sitebricks :: Mail Client ......................... SKIPPED
[INFO] Sitebricks :: Options Module ...................... SKIPPED
[INFO] Sitebricks :: Jetty Archetype ..................... SKIPPED
[INFO] Sitebricks :: SLF4J Module ........................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.452s
[INFO] Finished at: Fri Jun 22 10:24:16 EDT 2012
[INFO] Final Memory: 45M/188M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project sitebricks-easy-client: There are test failures.
[ERROR]
[ERROR] Please refer to D:\dev\oss\sitebricks\sitebricks-easy-client\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
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :sitebricks-easy-client