google-code-export / mb-unit

Automatically exported from code.google.com/p/mb-unit
0 stars 0 forks source link

NUnit Tests generated via SpecFlow crash Icarus and Gallio.echo #660

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Build solution
2. In Icarus, add Bowling.Specflow.dll via Add Files Dialogue
3. Boom - exception generated.

What is the expected output? What do you see instead?
The stack trace generated is:

A fatal exception occurred while exploring tests.  Possible causes include
invalid test runner parameters.
Gallio.Model.ModelException: An exception occurred while invoking a test
driver. ---> System.Runtime.Remoting.RemotingException: An error occurred
while processing the request on the server:
System.Runtime.Remoting.RemotingException: Tcp channel protocol violation:
expecting preamble.
   at
System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble()
   at
System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UI
nt16&
operation)
   at System.Runtime.Remoting.Channels.Ipc.IpcServerHandler.ReadHeaders()
   at
System.Runtime.Remoting.Channels.Ipc.IpcServerTransportSink.ServiceRequest(Objec
t
state)
   at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()

Server stack trace: 
   at
System.Runtime.Remoting.Channels.Ipc.IpcServerHandler.ReadToEndOfHeaders(BaseTra
nsportHeaders
headers)
   at System.Runtime.Remoting.Channels.Ipc.IpcClientHandler.ReadHeaders()
   at
System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(IMess
age
msg, ITransportHeaders requestHeaders, Stream requestStream,
ITransportHeaders& responseHeaders, Stream& responseStream)
   at
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IM
essage
msg)

Exception rethrown at [0]: 
   at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)
   at Gallio.Model.Isolation.HostedTestIsolationContext.Shim.Shutdown()
   at
Gallio.Model.Isolation.HostedTestIsolationContext.RunIsolatedTaskInHost[TIsolate
dTask](HostSetup
hostSetup, StatusReporter statusReporter, Object[] args) in
c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\Isolation\HostedTestIsolationContext.cs:line
151
   at
Gallio.Model.Isolation.HostedTestIsolationContext.RunIsolatedTaskImpl[TIsolatedT
ask](HostSetup
hostSetup, StatusReporter statusReporter, Object[] args) in
c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\Isolation\HostedTestIsolationContext.cs:line
93
   at
Gallio.Model.Isolation.BaseTestIsolationContext.RunIsolatedTask[TIsolatedTask](H
ostSetup
hostSetup, StatusReporter statusReporter, Object[] args) in
c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\Isolation\BaseTestIsolationContext.cs:line 59
   at
Gallio.Model.DotNetTestDriver.ExploreOrRunAssembly(ITestIsolationContext
testIsolationContext, TestPackage testPackage, TestExplorationOptions
testExplorationOptions, TestExecutionOptions testExecutionOptions,
RemoteMessageSink remoteMessageSink, IProgressMonitor progressMonitor,
String taskName, FileInfo file) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DotNetTestDriver.cs:line 196
   at Gallio.Model.DotNetTestDriver.ExploreOrRun(ITestIsolationContext
testIsolationContext, TestPackage testPackage, TestExplorationOptions
testExplorationOptions, TestExecutionOptions testExecutionOptions,
IMessageSink messageSink, IProgressMonitor progressMonitor, String
taskName) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DotNetTestDriver.cs:line 163
   at Gallio.Model.DotNetTestDriver.ExploreImpl(ITestIsolationContext
testIsolationContext, TestPackage testPackage, TestExplorationOptions
testExplorationOptions, IMessageSink messageSink, IProgressMonitor
progressMonitor) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DotNetTestDriver.cs:line 140
   at
Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.<>c__DisplayClass1e.
<ExploreImpl>b__1c(ITestDriver
driver, IList`1 items, Int32 driverCount) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 429
   at
Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](Mul
tiMap`2
testFrameworkPartitions, Func`4 func) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 511
   --- End of inner exception stack trace ---
   at
Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T](Mul
tiMap`2
testFrameworkPartitions, Func`4 func) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 522
   at
Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ExploreImpl(ITestIso
lationContext
testIsolationContext, TestPackage testPackage, TestExplorationOptions
testExplorationOptions, IMessageSink messageSink, IProgressMonitor
progressMonitor) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 422
   at Gallio.Runner.DefaultTestRunner.Explore(TestPackage testPackage,
TestExplorationOptions testExplorationOptions, IProgressMonitor
progressMonitor) in c:\RelEng\Projects\MbUnit
v3.1\Work\src\Gallio\Gallio\Runner\DefaultTestRunner.cs:line 241

What version of the product are you using? On what operating system?
Gallio 3.1 Build 397. Recreated this issue on Windows 7 Pro and Win XP Pro

Please provide any additional information below.

SpecFlow is a BDD tool that outputs TestFixtures in either XUnit or NUnit.
Gallio runs the tests generated for XUnit just fine.
Resharper unit test runner, TestDriven.net, and Nunit test runner all work
fine with this dll.

Would be nice to have this working, as Gallio has nice reporting, and all
round user xp.

Repro attached - please let me know if you need any more info.

Original issue reported on code.google.com by simon.wh...@gmail.com on 12 May 2010 at 4:03

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
The Gallio runners execute tests in an isolated process by default. I don't 
know exactly why but it seems to be not supported by the SpecFlow engine (nor 
in an isolated AppDomain)

As a workaround, you might use a local test runner instaead ("/runner:local" at 
command line or "Tools -> Options -> Test Runner Factory" in Icarus)

See also http://gallio.org/wiki/doku.php?id=tools:gallio_test_runners.

Original comment by Yann.Tre...@gmail.com on 11 Sep 2010 at 8:37

GoogleCodeExporter commented 9 years ago

Original comment by Yann.Tre...@gmail.com on 21 Sep 2010 at 1:46

GoogleCodeExporter commented 9 years ago

Original comment by Yann.Tre...@gmail.com on 14 Jun 2011 at 5:53