private static async Task RunAsync(IInstanceContext options) { var logger = LogManager.GetCurrentClassLogger(); using (var consoleReader = new ConsoleReader()) using (var container = Container.Build(options)) { consoleReader.Start(); LoadScriptsAsync(container); var watcher = container.Resolve <IWatcher>(); using (var watchHandle = watcher.Watch()) { logger.Info("Entering run loop; press enter to stop; press R to force complete re-run"); var stopping = false; while (!stopping) { var key = consoleReader.Read(TimeSpan.FromSeconds(.5d)); if (key.HasValue == false) { continue; } switch (key.Value) { case '\r': case '\n': stopping = true; break; case 'R': case 'r': await RunTestsAsync(container).ConfigureAwait(false); break; } } } } }
private static async Task RunAsync(IInstanceContext options) { var logger = LogManager.GetCurrentClassLogger(); using (var consoleReader = new ConsoleReader()) using (var container = Container.Build(options)) { consoleReader.Start(); LoadScriptsAsync(container); var watcher = container.Resolve<IWatcher>(); using (var watchHandle = watcher.Watch()) { logger.Info("Entering run loop; press enter to stop; press R to force complete re-run"); var stopping = false; while (!stopping) { var key = consoleReader.Read(TimeSpan.FromSeconds(.5d)); if (key.HasValue == false) { continue; } switch (key.Value) { case '\r': case '\n': stopping = true; break; case 'R': case 'r': await RunTestsAsync(container).ConfigureAwait(false); break; } } } } }