public async Task <int> InvokeAsync(InvocationContext context) { Logger.LogInformation("Watch Command execute"); Logger.LogDebug("options: {options}", Options); Logger.LogDebug("file: {file}", Options.Configuration); Logger.LogDebug("poll?: {poll}", Options.Poll); Console.WriteLine(TaskScheduler.Current.MaximumConcurrencyLevel); console.WriteLine("Test".StyleUnderline()); await console.CreateProgressBar("Engage"); var random = new Random(); int counter = 0; for (double p = 0; p <= 1.0; p += 0.01) { if (random.NextDouble() > 0.9) { console.WriteLine($"Random status message! {counter.ToString().StyleValue()}"); counter++; } console.ReportProgress(p); Thread.Sleep(1); } console.WriteLine("before progress bar destroy".StyleUnimportant()); await console.DestroyProgressBar(); console.WriteLine("afterwards".StyleSuccess()); return(await Task.FromResult(0)); }
public async Task <int> InvokeAsync(InvocationContext context) { var timeTaken = Stopwatch.StartNew(); logger.LogInformation("Test Command execute"); console.WriteLine("Starting test command".StyleBold()); //console.WriteLine("Using ") console.WriteRichLine($"Using configuration: {options.Configuration}"); var config = await LoadConfig(); if (config.IsNone) { return(ExitCodes.ConfigurationFailure); } await console.CreateProgressBar("Running tests"); var progress = new Progress <double>((p) => console.ReportProgress(p)); var results = await executor.RunAllSuitesAsync((Config)config, progress, options.Sequential? 1 : Environment.ProcessorCount); await console.DestroyProgressBar(); // summarize results await resultFormatter.WriteResultsHeader(); var resultStats = new ResultsStatistics(); foreach (var result in results) { resultStats.ProcessRecord(result); await resultFormatter.WriteResult(resultStats.TotalResults, result); } timeTaken.Stop(); await resultFormatter.WriteResultsFooter(new FinalResults( (Config)config, resultStats, timeTaken.Elapsed )); //logger.LogDebug("Received {count} results from executor", results); return(resultStats.TotalFailures is 0 ? ExitCodes.Success : ExitCodes.TestFailure); }
public async ValueTask WriteResultsHeader() { console.WriteLine("Results".StyleUnderline()); await ValueTask.CompletedTask; }