public override void HandleMessage(OpenInEditor message, IApplication app) { if (!app.Persistence.Hierarchy.Specifications.Has(message.id)) { return; } var spec = app.Persistence.Hierarchy.Specifications[message.id]; var file = spec.Filename; ProcessLauncher.OpenFile(file); }
public override bool Execute(ExportInput input) { var top = HierarchyLoader.ReadHierarchy(input.SpecPath); using (var controller = input.BuildEngine()) { var fixtures = DumpFixturesCommand.BuildCombinedFixtureLibrary(input, controller); var doc = ExportWriter.Build(top, fixtures, input.TitleFlag); Console.WriteLine("Exporting the specifications to " + input.FileFlag); doc.WriteToFile(input.FileFlag); } if (input.OpenFlag) { Console.WriteLine("Trying to open the file " + input.FileFlag); ProcessLauncher.OpenFile(input.FileFlag); } return(true); }
private async Task <bool> execute(RunInput input) { var specFetching = input.ReadSpecs(); var running = RunningSystem.Create(input.System); using (running.System) { if (!running.RecycledMessage.success) { throw new Exception("System startup failed."); } await running.System.Warmup(); var specs = await specFetching; var runner = buildRunner(input, specs, running, out var executionObserver); buildExecutionQueue(runner, executionObserver); var requests = createExecutionPlans(specs, running); var finished = Task.WhenAll(requests.Select(x => x.Completion)); var timeout = Task.Delay(input.GlobalTimeoutFlag.Minutes()); await Task.WhenAny(timeout, finished); if (timeout.IsCompleted) { showTimeoutMessage(input, requests); } var records = requests.Select(x => new BatchRecord { results = x.Completion.Result, specification = x.Specification }).ToArray(); var results = new BatchRunResponse { fixtures = running.Fixtures.Models.ToArray(), suite = "Interactive Execution", system = running.System.GetType().FullName, records = records }; var success = determineSuccess(input, results); writeResults(input, running.RecycledMessage, results); writeData(input, results); if (input.OpenFlag) { ProcessLauncher.OpenFile(input.ResultsPathFlag); } writeSuccessOrFailure(success); return(success); } }