Enable kernel execution.

This commit is contained in:
Matthijs ter Woord 2016-02-14 15:22:48 +01:00
parent 5dc5170a6d
commit d34e66899b
4 changed files with 13 additions and 6 deletions

View file

@ -17,8 +17,9 @@ namespace Cosmos.TestRunner.Core
public int AllowedSecondsInKernel = 30;
public List<RunTargetEnum> RunTargets = new List<RunTargetEnum>();
private void ExecuteKernel(string assemblyFileName, RunConfiguration configuration)
private bool ExecuteKernel(string assemblyFileName, RunConfiguration configuration)
{
var xResult = true;
OutputHandler.ExecuteKernelStart(assemblyFileName);
try
{
@ -58,17 +59,21 @@ namespace Cosmos.TestRunner.Core
if (!mKernelResultSet)
{
OutputHandler.SetKernelTestResult(false, e.ToString());
mKernelResult = false;
}
if (e is TaskFailedException)
{
return;
return mKernelResult;
}
OutputHandler.UnhandledException(e);
}
finally
{
OutputHandler.ExecuteKernelEnd(assemblyFileName);
}
xResult = mKernelResult;
return xResult;
}

View file

@ -101,6 +101,7 @@ namespace Cosmos.TestRunner.Core
}
private volatile bool mKernelResultSet;
private volatile bool mKernelResult;
private int mSucceededAssertions;
private void ChannelPacketReceived(byte arg1, byte arg2, byte[] arg3)

View file

@ -42,7 +42,7 @@ namespace Cosmos.TestRunner.Core
public OutputHandlerBasic OutputHandler;
public void Execute()
public bool Execute()
{
if (OutputHandler == null)
{
@ -62,6 +62,7 @@ namespace Cosmos.TestRunner.Core
OutputHandler.RunConfigurationStart(xConfig);
try
{
var xResult = true;
foreach (var xAssemblyFile in mKernelsToRun)
{
mBaseWorkingDirectory = Path.Combine(Path.GetDirectoryName(typeof(Engine).Assembly.Location), "WorkingDirectory");
@ -71,8 +72,9 @@ namespace Cosmos.TestRunner.Core
}
Directory.CreateDirectory(mBaseWorkingDirectory);
ExecuteKernel(xAssemblyFile, xConfig);
xResult &= ExecuteKernel(xAssemblyFile, xConfig);
}
return xResult;
}
catch (Exception e)
{

View file

@ -17,9 +17,8 @@ namespace DebugCompiler
xEngine.KernelsToRun.Add(kernelToRun.Assembly.Location);
xEngine.OutputHandler = new TestOutputHandler();
Assert.IsTrue(xEngine.Execute());
Assert.IsNotNull(kernelToRun);
Assert.Fail("Cannot run kernel '" + kernelToRun.FullName + "'!");
}
private class TestOutputHandler: OutputHandlerFullTextBase