Created
October 25, 2013 08:55
-
-
Save acken/7151666 to your computer and use it in GitHub Desktop.
ContinuousTests headless engine using the ContinuousTests.ExtensionModel.dll
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Linq; | |
using ContinuousTests.ExtensionModel; | |
using ContinuousTests.ExtensionModel.Arguments; | |
namespace test | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Locate engine running at specified token | |
var engine = new EngineRepository().GetEngine(@"/home/ack/src/OpenIDE", true); | |
if (engine == null) { | |
// If not already running start a new engine specifying new token and CT bin dir | |
engine = new EngineRepository() | |
.StartEngine( | |
@"/home/ack/src/OpenIDE", | |
@"/home/ack/src/OpenIDE/ReleaseBinaries/.OpenIDE/languages/C#-files/bin/ContinuousTests"); | |
} | |
// Bind session events | |
engine.EngineConnecting += engine_EngineConnecting; | |
engine.EngineDisconnecting += engine_EngineDisconnecting; | |
engine.SessionStarted += engine_SessionStarted; | |
engine.SessionFinished += engine_SessionFinished; | |
engine.BuildFinished += engine_BuildFinished; | |
engine.TestsFinished += engine_TestsFinished; | |
engine.TestProgress += engine_TestProgress; | |
// Connect to engine | |
engine.Connect(); | |
System.Console.WriteLine("Waiting for connection"); | |
engine.WaitForConnection(); | |
System.Console.WriteLine("System connected"); | |
// Now we can either wait for file change triggered test runs or start one ourself | |
engine.RunAll(); | |
//engine.RunPartial(@"C:\Users\ack\src\AutoTest.Net\src\AutoTest.Test\AutoTest.Test.csproj"); | |
//engine.RunTests(new TestScope(@"C:\Users\ack\src\AutoTest.Net\src\AutoTest.Test\AutoTest.Test.csproj")); | |
System.Console.WriteLine("Done"); | |
System.Console.ReadLine(); | |
// Shutdown engine | |
engine.Disconnect(); | |
} | |
static void engine_EngineDisconnecting(object sender, EventArgs e) | |
{ | |
System.Console.WriteLine("Engine disconnecting"); | |
} | |
static void engine_TestProgress(object sender, ImmediateTestFeedbackArgs e) | |
{ | |
System.Console.WriteLine("Completed {0} tests, current assembly {1}", e.TestsCompleted, e.CurrentAssembly); | |
} | |
static void engine_TestsFinished(object sender, TestsFinishedArgs e) | |
{ | |
e.All.ToList() | |
.ForEach(x => System.Console.WriteLine("{1} {0}", x.Name, x.Status)); | |
} | |
static void engine_BuildFinished(object sender, BuildFinishedArgs e) | |
{ | |
System.Console.WriteLine(string.Format("Built {0} with {1} errors and {2} warnings", e.Project, e.ErrorCount, e.WarningCount)); | |
} | |
static void engine_SessionFinished(object sender, SessionFinishedArgs e) | |
{ | |
System.Console.WriteLine("Run finished with {0} failed builds and {1} tests", e.Run.NumberOfBuildsFailed, e.Run.NumberOfTestsRan); | |
} | |
static void engine_SessionStarted(object sender, EventArgs e) | |
{ | |
System.Console.WriteLine("Run started"); | |
} | |
static void engine_EngineConnecting(object sender, EventArgs e) | |
{ | |
System.Console.WriteLine("Engine connecting"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment