mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-26 05:22:19 +00:00
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:
parent
d5df4d7d49
commit
bbda2a8639
1 changed files with 30 additions and 20 deletions
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue