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
-~----------~----~----~----~------~----~------~--~---

Reply via email to