Search code examples
continuous-integrationbuild-automationmbunitgallio

Why does Gallio seem to need to be in a folder named GallioBundle-3.1.397.0/bin to run


I want to run MbUnit tests with Icarus and/or Echo without having to install Gallio. I have copied all of the files in the GallioBundle/bin into a folder named Third Party/MbUnit in our project folder.

When I double click on Gallio.Icarus.exe it doesn't load or do anything.

When I run gallio.echo.exe from the command line I get the following error:

Start time: 1:07 PM Initializing the runtime and loading plugins. Stop time: 1:07 PM (Total execution time: 0.313 seconds) Error: A fatal exception occurred. Gallio.Runtime.RuntimeException: Could not resolve component for service type 'Gallio.Runner.Projects.ITestProjectManager' because there do not appear to be any components registered and enabled for that service type. at Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveNonDisabledDescriptor(Type serviceType) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runtime\Extensibility\RegistryServiceLocator.cs:line 202 at Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveImpl(Type serviceType) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runtime\Extensibility\RegistryServiceLocator.cs:line 161 at Gallio.Runtime.Extensibility.RegistryServiceLocator.ResolveTService in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runtime\Extensibility\RegistryServiceLocator.cs:line 52 at Gallio.Runner.TestLauncher.RunWithRuntime() in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runner\TestLauncher.cs:line 511 at Gallio.Runner.TestLauncher.Run() in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runner\TestLauncher.cs:line 474 at Gallio.Echo.EchoProgram.RunTests(ILogger logger) at Gallio.Echo.EchoProgram.RunImpl(String[] args) at Gallio.Runtime.ConsoleSupport.ConsoleProgram`1.Run(IRichConsole console, String[] args) in c:\RelEng\Projects\MbUnit v3.1\Work\src\Gallio\Gallio\Runtime\ConsoleSupport\ConsoleProgram.cs:line 198

However, if I run it from where I have unzipped in my d/l folder to:

GallioBundle-3.1.397.0/bin Icarus UI comes up. Also... gallio.echo gives no errors when I run it at the command line. This makes no sense to me but there it is.

Why won't Gallio run from my project's folder?


Solution

  • It seems that having the binary files in a folder named MbUnit was causing the problem. When I renamed the folder to Gallio everything started working correctly.

    The Gallio devs have told me they can't duplicate this... but it was consistent and I even renamed the folder back and the error recurred.