unclebob / fitnesse

FitNesse -- The Acceptance Test Wiki
fitnesse.org
Other
2.04k stars 713 forks source link

Release 20140630 broke compatibility with .NET #493

Closed sergebug closed 10 years ago

sergebug commented 10 years ago

Not reproducible using previous release (20140626). FitNesse Release 20140630 fails to start test. Page has following in the web page: "Unable to start test system 'slim': java.lang.IllegalArgumentException"

FitNesse console has following: C:\tools\FitNesse.HL7>C:\tools\jre\bin\java.exe -Xmx128m -jar fitnesse-standalone.jar -p 8888 -o -e 0 -v Configured verbose logging Bootstrapping FitNesse, the fully integrated standalone wiki and acceptance testing framework. root page: fitnesse.wiki.fs.FileSystemPage at .\FitNesseRoot logger: none authenticator: fitnesse.authentication.PromiscuousAuthenticator page factory: fitnesse.html.template.PageFactory page theme: bootstrap Starting FitNesse on port: 8888 WARNING: error registered in test system [null] java.lang.NullPointerException at fitnesse.reporting.history.SuiteHistoryFormatter.testOutputChunk(SuiteHistoryFormatter.java:62) at fitnesse.testsystems.CompositeTestSystemListener.testOutputChunk(CompositeTestSystemListener.java:28) at fitnesse.testrunner.MultipleTestsRunner$InternalTestSystemListener.testOutputChunk(MultipleTestsRunner.java:199) at fitnesse.testrunner.MultipleTestsRunner.startTestSystem(MultipleTestsRunner.java:164) at fitnesse.testrunner.MultipleTestsRunner.startTestSystemAndExecutePages(MultipleTestsRunner.java:97) at fitnesse.testrunner.MultipleTestsRunner.internalExecuteTestPages(MultipleTestsRunner.java:86) at fitnesse.testrunner.MultipleTestsRunner.executeTestPages(MultipleTestsRunner.java:68) at fitnesse.responders.run.TestResponder.performExecution(TestResponder.java:273) at fitnesse.responders.run.TestResponder.doExecuteTests(TestResponder.java:121) at fitnesse.responders.run.TestResponder$TestExecutor.execute(TestResponder.java:205) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.apache.velocity.runtime.directive.Parse.render(Parse.java:260) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.apache.velocity.Template.merge(Template.java:356) at org.apache.velocity.Template.merge(Template.java:260) at fitnesse.html.template.HtmlPage.render(HtmlPage.java:81) at fitnesse.responders.run.TestResponder.doSending(TestResponder.java:107) at fitnesse.responders.ChunkingResponder.startSending(ChunkingResponder.java:70) at fitnesse.http.ChunkedResponse.sendTo(ChunkedResponse.java:25) at fitnesse.FitNesseExpediter.sendResponse(FitNesseExpediter.java:100) at fitnesse.FitNesseExpediter.start(FitNesseExpediter.java:51) at fitnesse.FitNesseServer.serve(FitNesseServer.java:28) at fitnesse.FitNesseServer.serve(FitNesseServer.java:21) at fitnesse.socketservice.SocketService$ServerRunner.run(SocketService.java:110) at java.lang.Thread.run(Unknown Source) Output stream closed unexpectedly (Stop button pressed?) [Software caused connection abort: socket write error]

FitNesse runner configured as following: !define TEST_SYSTEM {slim} !path Fixtures*.dll !define COMMAND_PATTERN {%m -r fitSharp.Slim.Service.Runner,FitSharp\fitsharp.dll %p} !define TEST_RUNNER {FitSharp\Runner.exe}

amolenaar commented 10 years ago

Somehow data is sent form the test system, although no test is started.

sergebug commented 10 years ago

I don't see issue being fixed although behavior is different now. No exception with stacktrace in the FitNesse console. Web page continues to show the same error: Unable to start test system 'slim': java.lang.IllegalArgumentException

One thing I've noticed is that in web page test system mentioned as 'slim' ("Unable to start test system 'slim'") however in the stack trace available before test system was null (WARNING: error registered in test system [null]). Maybe this helps.

sergebug commented 10 years ago

Figured this out: In my case JRE version used to run FitNesse was old (1.7.0_05-b06). It is not able to launch test runner if fitnesse-standalone.jar was compiled with version later than 1.7.0_25. I upgraded local JRE to 1.7.0_60 and issue disappeared.

amolenaar commented 10 years ago

Okay.... Not so nice. Even more since the code is compiled as Java 1.6 byte code.