Ahh, I get it. Basically we are not responding to the host disconnection as soon as we should be... Unfortunately Icarus does not notice that the test host process has terminated until the .Net remoting IPCChannel gives up trying to reconnect. I am adding some code to work around this. Let's see how it goes. Jeff.
_____ From: [email protected] [mailto:[email protected]] On Behalf Of Mark Kharitonov Sent: Friday, September 04, 2009 12:02 PM To: [email protected] Subject: MbUnit Re: The stop button of the Icarus has a really bad response time. I think so. I did not time it. The thing is, that once the debugger is stopped one would expect an immediate feedback to Icarus. Better yet, I would expect that killing Gallio.Host would have an immediate impact on Icarus. But it does not. It still takes some time, may be less than a minute, but it is still annoying. On 04/09/2009, at 10:36, Jeff Brown wrote: Does this exception happen after you kill the test run from the debugger? How long does Icarus take to recover? Jeff. On Aug 26, 11:11 pm, mark Kharitonov <[email protected]> wrote: Here is an example exception, which always happens. It does not affect the work in any observable way, but it clutters the console output: ============================================================================ ============== A fatal exception occurred while running tests. Possible causes include invalid test runner parameters and stack overflows. Gallio.Model.ModelException: An exception occurred while invoking a test driver. ---> System.Runtime.Remoting.RemotingException: Failed to connect to an IPC Port: The system cannot find the file specified. Server stack trace: at System.Runtime.Remoting.Channels.Ipc.IpcPort.Connect(String portName, Boolean secure, TokenImpersonationLevel impersonationLevel, Int32 timeout) at System.Runtime.Remoting.Channels.Ipc.ConnectionCache.GetConnection(String portName, Boolean secure, TokenImpersonationLevel level, Int32 timeout) at System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink.ProcessMessage(I Message msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream) at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessag e(IMessage 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[TIso latedTask](HostSetup hostSetup, StatusReporter statusReporter, Object[] args) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\Isolation\HostedTestIsolationContext.cs:li ne 126 at Gallio.Model.Isolation.HostedTestIsolationContext.RunIsolatedTaskImpl[TIsola tedTask](HostSetup hostSetup, StatusReporter statusReporter, Object[] args) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\Isolation\HostedTestIsolationContext.cs:li ne 90 at Gallio.Model.Isolation.BaseTestIsolationContext.RunIsolatedTask[TIsolatedTas k](HostSetup 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.RunImpl(ITestIsolationContext testIsolationContext, TestPackage testPackage, TestExplorationOptions testExplorationOptions, TestExecutionOptions testExecutionOptions, IMessageSink messageSink, IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\DotNetTestDriver.cs:line 148 at Gallio.Model.BaseTestDriver.Run(ITestIsolationContext testIsolationContext, TestPackage testPackage, TestExplorationOptions testExplorationOptions, TestExecutionOptions testExecutionOptions, IMessageSink messageSink, IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\BaseTestDriver.cs:line 104 at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.<>c__DisplayClas s22.<RunImpl>b__20(ITestDriver driver, IList`1 items, Int32 driverCount) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 445 at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T] (MultiMap`2 testFrameworkPartitions, Func`4 func) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 507 --- End of inner exception stack trace --- at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.ForEachDriver[T] (MultiMap`2 testFrameworkPartitions, Func`4 func) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 513 at Gallio.Model.DefaultTestFrameworkManager.FilteredTestDriver.RunImpl(ITestIso lationContext testIsolationContext, TestPackage testPackage, TestExplorationOptions testExplorationOptions, TestExecutionOptions testExecutionOptions, IMessageSink messageSink, IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\DefaultTestFrameworkManager.cs:line 440 at Gallio.Model.BaseTestDriver.Run(ITestIsolationContext testIsolationContext, TestPackage testPackage, TestExplorationOptions testExplorationOptions, TestExecutionOptions testExecutionOptions, IMessageSink messageSink, IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Model\BaseTestDriver.cs:line 104 at Gallio.Runner.DefaultTestRunner.Run(TestPackage testPackage, TestExplorationOptions testExplorationOptions, TestExecutionOptions testExecutionOptions, IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runner\DefaultTestRunner.cs:line 314 On Wed, Aug 26, 2009 at 11:19 AM, Jeff Brown <[email protected]> wrote: Which actions do you most often see when you click Stop and find it takes a while to shut down? Keep in mind that stopping the test run is a semi-cooperative process. The application periodically polls to see whether cancelation is taking place. In some cases it may forcibly abort a test that is taking too long to terminate. However if it is busy writing a report, then the process typically runs to completion (although we could poll more frequently and abort these steps too). Jeff. ------------------------------ *From:* [email protected] [mailto:[email protected]] *On Behalf Of *mark Kharitonov *Sent:* Wednesday, August 26, 2009 12:14 AM *To:* [email protected] *Subject:* MbUnit Re: The stop button of the Icarus has a really bad response time. Oh, that's too bad. I plan Icarus to be our main test runner during development (not in CI server, of course) and this issue is really annoying. There are other issues with Icarus but none of them as annoying as this one. Is it in scope for Gallio 3.2 then? When do you plan a beta of it? Thanks. On Tue, Aug 25, 2009 at 8:46 PM, Jeff Brown <[email protected]> wrote: It is a known issue. Straightforward to fix (add more checks in the code to stop on cancelation) but out of scope for v3.1. Jeff. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Mark Kharitonov Sent: Monday, August 24, 2009 11:31 PM To: MbUnit.User Subject: MbUnit The stop button of the Icarus has a really bad response time. Hi. Is it a known issue or something can be configured to make it more responsive? Thanks. -- Be well and prosper. ============================== "There are two kinds of people.Those whose guns are loaded and those who dig." ("The good, the bad and the ugly") So let us drink for our guns always be loaded. -- Be well and prosper. ============================== "There are two kinds of people.Those whose guns are loaded and those who dig." ("The good, the bad and the ugly") So let us drink for our guns always be loaded. ========================================================================== There are two kinds of people. Those whose guns are loaded and those who dig. (The good, the bad and the ugly). So let us raise our cups for our guns always be loaded. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "MbUnit.User" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/mbunituser?hl=en -~----------~----~----~----~------~----~------~--~---
