shekharpro / mb-unit

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

Echo crashes when fed with non .NET dll files #470

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Use some "old" c++ dll like fbembed.dll from Firebird
2. Call Echo to use *.dll
3. Watch it throw the exception shown below:

What is the expected output? What do you see instead?
I would expect Echo to just ignore such files. Instead it throws this
exception:

A fatal exception occurred while running tests.  Possible causes include
invalid test runner parameters and stack overflows.

    Gallio.Runner.RunnerException: Could not load test assembly from
'C:\svn\PCSoftware\hamburg\bin\Debug\fbembed.dll'. --->
System.BadImageFormatException: Could not load file or assembly
'file:///C:\svn\PCSoftware\hamburg\bin\Debug\fbembed.dll' or one of its
dependencies. The module was expected to contain an assembly manifest.

       at System.Reflection.Assembly._nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark&
stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)

       at System.Reflection.Assembly.nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark&
stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)

       at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)

       at System.Reflection.Assembly.InternalLoadFrom(String assemblyFile,
Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, StackCrawlMark& stackMark)

       at System.Reflection.Assembly.LoadFrom(String assemblyFile)

       at Gallio.Runtime.Loader.DefaultLoader.LoadAssemblyFrom(String
assemblyFile) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runtime\Loader\DefaultLoader.cs:line 51

       at Gallio.Runner.Harness.DefaultTestHarness.LoadAssemblyFrom(String
assemblyFile) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Harness\DefaultTestHarness.cs:line 186

       --- End of inner exception stack trace ---

    Server stack trace: 

       at Gallio.Runner.Harness.DefaultTestHarness.LoadAssemblyFrom(String
assemblyFile) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Harness\DefaultTestHarness.cs:line 191

       at
Gallio.Runner.Harness.DefaultTestHarness.LoadAssemblies(ICollection`1
assemblyFiles, IProgressMonitor progressMonitor) in
c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Harness\DefaultTestHarness.cs:line 172

       at Gallio.Runner.Harness.DefaultTestHarness.Load(TestPackageConfig
packageConfig, IProgressMonitor progressMonitor) in
c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Harness\DefaultTestHarness.cs:line 155

       at Gallio.Runner.Drivers.LocalTestDriver.RunImpl(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\LocalTestDriver.cs:line 106

       at Gallio.Runner.Drivers.BaseTestDriver.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\BaseTestDriver.cs:line 92

       at
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
md, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInContext, Object[]& outArgs)

       at
System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(Runtime
MethodHandle
md, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInContext, Object[]& outArgs)

       at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
msg, Int32 methodPtr, Boolean fExecuteInContext)

    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.Runner.Drivers.ITestDriver.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor)

       at Gallio.Runner.Drivers.RemoteTestDriver.RunImpl(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\RemoteTestDriver.cs:line 93

       at Gallio.Runner.Drivers.BaseTestDriver.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\BaseTestDriver.cs:line 92

       at
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
md, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInContext, Object[]& outArgs)

       at
System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(Runtime
MethodHandle
md, Object[] args, Object server, Int32 methodPtr, Boolean
fExecuteInContext, Object[]& outArgs)

       at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
msg, Int32 methodPtr, Boolean fExecuteInContext)

    Exception rethrown at [1]: 

       at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)

       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)

       at Gallio.Runner.Drivers.ITestDriver.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor)

       at Gallio.Runner.Drivers.RemoteTestDriver.RunImpl(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\RemoteTestDriver.cs:line 93

       at Gallio.Runner.Drivers.BaseTestDriver.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\BaseTestDriver.cs:line 92

       at
Gallio.Runner.Drivers.AggregateTestDriver.<>c__DisplayClass6.<RunImpl>b__4(ITest
Driver
testDriver, TestPackageConfig partitionConfig, Listener listener,
IProgressMonitor subProgressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\AggregateTestDriver.cs:line 62

       at
Gallio.Runner.Drivers.AggregateTestDriver.<>c__DisplayClassc.<ExploreOrRunEachPa
rtition>b__8(IList`1
partitions) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\AggregateTestDriver.cs:line 94

       at
Gallio.Runner.Drivers.HostedTestDriver.CreateRemoteHostAndPerformAction(Action`1
setStatus, TestPackageConfig testPackageConfig, ICollection`1 testDomains,
Boolean separateAppDomain, Action`1 action) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\HostedTestDriver.cs:line 149

       at
Gallio.Runner.Drivers.HostedTestDriver.DoWithPartitions(TestPackageConfig
testPackageConfig, Action`1 action, Action`1 setStatus) in
c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\HostedTestDriver.cs:line 117

       at
Gallio.Runner.Drivers.AggregateTestDriver.ExploreOrRunEachPartition(TestPackageC
onfig
testPackageConfig, ITestExplorationListener testExplorationListener,
ITestExecutionListener testExecutionListener, PartitionAction action,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\AggregateTestDriver.cs:line 76

       at Gallio.Runner.Drivers.AggregateTestDriver.RunImpl(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\AggregateTestDriver.cs:line 60

       at Gallio.Runner.Drivers.BaseTestDriver.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
ITestExplorationListener testExplorationListener, TestExecutionOptions
testExecutionOptions, ITestExecutionListener testExecutionListener,
IProgressMonitor progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\Drivers\BaseTestDriver.cs:line 92

       at Gallio.Runner.DefaultTestRunner.Run(TestPackageConfig
testPackageConfig, TestExplorationOptions testExplorationOptions,
TestExecutionOptions testExecutionOptions, IProgressMonitor
progressMonitor) in c:\RelEng\Projects\MbUnit
v3.0.7\Work\src\Gallio\Gallio\Runner\DefaultTestRunner.cs:line 297

Disposing the test runner.

What version of the product are you using? On what operating system?
Gallio Echo - Version 3.0.7 build 151

Please provide any additional information below.
The feature for wildcard usage was probably added after this post:
http://groups.google.com/group/gallio-dev/browse_thread/thread/213f01e4cd714b8c?
pli=1

Original issue reported on code.google.com by straufl@gmail.com on 4 Jun 2009 at 6:56

GoogleCodeExporter commented 8 years ago
This issue will be resolved in v3.0.7 by leveraging file type information.

Original comment by jeff.br...@gmail.com on 5 Jun 2009 at 6:15

GoogleCodeExporter commented 8 years ago

Original comment by jeff.br...@gmail.com on 29 Jun 2009 at 8:33

GoogleCodeExporter commented 8 years ago
New behavior in v3.1 with a random native DLL:

Start time: 10:14 AM
Initializing the runtime and loading plugins.
Verifying test files.
Initializing the test runner.
Running the tests.
[error] File 'f3ahvoas.dll' is not supported by any registered framework.
        Location: c:\Windows\System32\f3ahvoas.dll
Disposing the test runner.
Stop time: 10:14 AM (Total execution time: 1.013 seconds)

0 run, 0 passed, 0 failed, 0 inconclusive, 0 skipped

Original comment by jeff.br...@gmail.com on 18 Jul 2009 at 5:15