From bbda2a863926d83ea4c8bb25d05b7f1ea393eac3 Mon Sep 17 00:00:00 2001
From: mterwoord_cp <7cd3fd84a0151ea055c2f79e4d2eef9576fe9afesxUZAwxD>
Date: Tue, 6 Jan 2009 17:25:34 +0000
Subject: [PATCH] apparently, something weird was goofed up on mainwindow.xaml.
changed testrunner slightly, to allow turning off running kernels through
qemu
---
.../TestKernels/Cosmos.TestRunner/Program.cs | 50 +++++++++++--------
1 file changed, 30 insertions(+), 20 deletions(-)
diff --git a/source/TestKernels/Cosmos.TestRunner/Program.cs b/source/TestKernels/Cosmos.TestRunner/Program.cs
index 2a6e32cc5..4650757f2 100644
--- a/source/TestKernels/Cosmos.TestRunner/Program.cs
+++ b/source/TestKernels/Cosmos.TestRunner/Program.cs
@@ -26,6 +26,11 @@ namespace Cosmos.TestRunner {
public bool Succeeded;
}
+
+ ///
+ /// Determines if the test runner should run the kernel using qemu, or only compile (Basically useful for profiling purposes)
+ ///
+ private const bool RunKernel = true;
public static void Main() {
try {
Initialize();
@@ -35,25 +40,30 @@ namespace Cosmos.TestRunner {
string xMessage;
bool xReturn;
try {
- var xBuilder = new Builder() {
- BuildPath = Options.BuildPath,
- UseInternalAssembler = false
- };
- xBuilder.TargetAssembly = xItem.Key.Assembly;
- var xEvent = new AutoResetEvent(false);
- xBuilder.CompileCompleted += delegate { xEvent.Set(); };
- xBuilder.BeginCompile(DebugMode.None, 0, false);
- xEvent.WaitOne();
- xBuilder.Assemble();
- xBuilder.Link();
- xBuilder.MakeISO();
- var xISOFile = Path.Combine(xBuilder.BuildPath, "Cosmos.iso");
- // run qemu
- xReturn = RunKernel(xItem.Key, xBuilder, xItem.Value, out xMessage);
- } catch (Exception E){
- xMessage = E.ToString();
- xReturn = false;
- }
+ var xBuilder = new Builder() {
+ BuildPath = Options.BuildPath,
+ UseInternalAssembler = false
+ };
+ xBuilder.TargetAssembly = xItem.Key.Assembly;
+ var xEvent = new AutoResetEvent(false);
+ xBuilder.CompileCompleted += delegate { xEvent.Set(); };
+ xBuilder.BeginCompile(DebugMode.None, 0, false);
+ xEvent.WaitOne();
+ if (RunKernel) {
+ xBuilder.Assemble();
+ xBuilder.Link();
+ xBuilder.MakeISO();
+ var xISOFile = Path.Combine(xBuilder.BuildPath, "Cosmos.iso");
+ // run qemu
+ xReturn = RunKernel(xItem.Key, xBuilder, xItem.Value, out xMessage);
+ } else {
+ xReturn = true;
+ xMessage = "";
+ }
+ } catch (Exception E) {
+ xMessage = E.ToString();
+ xReturn = false;
+ }
xResults.Add(new TestResults {
Name = xItem.Key.Assembly.GetName().Name,
Message = xMessage,
@@ -63,7 +73,7 @@ namespace Cosmos.TestRunner {
WriteResults(xResults);
} catch (Exception E) {
Console.WriteLine(E.ToString());
- }
+ }
}
private static void WriteResults(List results) {