apparently, something weird was goofed up on mainwindow.xaml. changed testrunner slightly, to allow turning off running kernels through qemu

This commit is contained in:
mterwoord_cp 2009-01-06 17:25:34 +00:00
parent d5df4d7d49
commit bbda2a8639

View file

@ -26,6 +26,11 @@ namespace Cosmos.TestRunner {
public bool Succeeded; public bool Succeeded;
} }
/// <summary>
/// Determines if the test runner should run the kernel using qemu, or only compile (Basically useful for profiling purposes)
/// </summary>
private const bool RunKernel = true;
public static void Main() { public static void Main() {
try { try {
Initialize(); Initialize();
@ -35,25 +40,30 @@ namespace Cosmos.TestRunner {
string xMessage; string xMessage;
bool xReturn; bool xReturn;
try { try {
var xBuilder = new Builder() { var xBuilder = new Builder() {
BuildPath = Options.BuildPath, BuildPath = Options.BuildPath,
UseInternalAssembler = false UseInternalAssembler = false
}; };
xBuilder.TargetAssembly = xItem.Key.Assembly; xBuilder.TargetAssembly = xItem.Key.Assembly;
var xEvent = new AutoResetEvent(false); var xEvent = new AutoResetEvent(false);
xBuilder.CompileCompleted += delegate { xEvent.Set(); }; xBuilder.CompileCompleted += delegate { xEvent.Set(); };
xBuilder.BeginCompile(DebugMode.None, 0, false); xBuilder.BeginCompile(DebugMode.None, 0, false);
xEvent.WaitOne(); xEvent.WaitOne();
xBuilder.Assemble(); if (RunKernel) {
xBuilder.Link(); xBuilder.Assemble();
xBuilder.MakeISO(); xBuilder.Link();
var xISOFile = Path.Combine(xBuilder.BuildPath, "Cosmos.iso"); xBuilder.MakeISO();
// run qemu var xISOFile = Path.Combine(xBuilder.BuildPath, "Cosmos.iso");
xReturn = RunKernel(xItem.Key, xBuilder, xItem.Value, out xMessage); // run qemu
} catch (Exception E){ xReturn = RunKernel(xItem.Key, xBuilder, xItem.Value, out xMessage);
xMessage = E.ToString(); } else {
xReturn = false; xReturn = true;
} xMessage = "";
}
} catch (Exception E) {
xMessage = E.ToString();
xReturn = false;
}
xResults.Add(new TestResults { xResults.Add(new TestResults {
Name = xItem.Key.Assembly.GetName().Name, Name = xItem.Key.Assembly.GetName().Name,
Message = xMessage, Message = xMessage,
@ -63,7 +73,7 @@ namespace Cosmos.TestRunner {
WriteResults(xResults); WriteResults(xResults);
} catch (Exception E) { } catch (Exception E) {
Console.WriteLine(E.ToString()); Console.WriteLine(E.ToString());
} }
} }
private static void WriteResults(List<TestResults> results) { private static void WriteResults(List<TestResults> results) {