mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
44 lines
1.8 KiB
C#
44 lines
1.8 KiB
C#
using System;
|
||
using System.Linq;
|
||
|
||
namespace Cosmos.TestRunner.Core
|
||
{
|
||
public static class DefaultEngineConfiguration
|
||
{
|
||
public static void Apply(Engine engine)
|
||
{
|
||
if (engine == null)
|
||
{
|
||
throw new ArgumentNullException("engine");
|
||
}
|
||
|
||
engine.AllowedSecondsInKernel = 180;
|
||
|
||
// If you want to test only specific platforms, add them to the list, like next line. By default, all platforms are ran.
|
||
engine.RunTargets.Add(RunTargetEnum.Bochs);
|
||
|
||
// if you're working on the compiler (or other lower parts), you can choose to run the compiler in process
|
||
// 1 thing to keep in mind though, is that this only works with 1 kernel at a time!
|
||
engine.RunIL2CPUInProcess = true;
|
||
engine.RunWithGDB = false;
|
||
|
||
//engine.AddKernel(typeof(Cosmos.Compiler.Tests.SimpleWriteLine.Kernel.Kernel).Assembly.Location);
|
||
//engine.AddKernel(typeof(SimpleStructsAndArraysTest.Kernel).Assembly.Location);
|
||
//engine.AddKernel(typeof(VGACompilerCrash.Kernel).Assembly.Location);
|
||
engine.AddKernel(typeof(Cosmos.Compiler.Tests.SingleEchoTest.Kernel).Assembly.Location);
|
||
|
||
// known bugs, therefor disabled for now:
|
||
//engine.AddKernel(typeof(BoxingTests.Kernel).Assembly.Location);
|
||
// end of known bugs
|
||
|
||
// double check: this check is in the engine, but lets put it here as well
|
||
if (engine.RunIL2CPUInProcess)
|
||
{
|
||
if (engine.KernelsToRun.Count() > 1 || engine.RunTargets.Count == 0 || engine.RunTargets.Count > 1)
|
||
{
|
||
throw new InvalidOperationException("Can only run 1 kernel if IL2CPU is ran in-process!");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|