private static CommandResultsWriter GetTagTestWriter(CLITagTestCmdOptions options) { CommandResultsWriter?writer; switch (options.OutputFileFormat.ToLower()) { case "_dummy": writer = new TagTestDummyWriter(); break; case "json": writer = new JsonWriter(); break; case "text": writer = new TagTestTextWriter(); break; default: WriteOnce.Error(MsgHelp.FormatString(MsgHelp.ID.CMD_INVALID_ARG_VALUE, "-f")); throw new OpException((MsgHelp.FormatString(MsgHelp.ID.CMD_INVALID_ARG_VALUE, "-f"))); } //assign the stream as a file or console writer.OutputFileName = options.OutputFilePath; writer.TextWriter = GetTextWriter(writer.OutputFileName); return(writer); }
private static int VerifyOutputArgsRun(CLITagTestCmdOptions options) { Logger logger = Utils.SetupLogging(options, true); WriteOnce.Log = logger; options.Log = logger; CommonOutputChecks(options); return(RunTagTestCommand(options)); }
public override void WriteResults(Result result, CLICommandOptions commandOptions, bool autoClose = true) { CLITagTestCmdOptions cLITagTestCmdOptions = (CLITagTestCmdOptions)commandOptions; TagTestResult tagTestResult = (TagTestResult)result; //For console output, update write once for same results to console or file WriteOnce.TextWriter = TextWriter; if (string.IsNullOrEmpty(commandOptions.OutputFilePath)) { WriteOnce.Result("Results"); } WriteOnce.General(MsgHelp.FormatString(MsgHelp.ID.TAGTEST_RESULTS_TEST_TYPE, cLITagTestCmdOptions.TestType), false, WriteOnce.ConsoleVerbosity.Low); if (tagTestResult.ResultCode == TagTestResult.ExitCode.TestFailed) { WriteOnce.Any(MsgHelp.GetString(MsgHelp.ID.TAGTEST_RESULTS_FAIL), true, ConsoleColor.Red, WriteOnce.ConsoleVerbosity.Low); } else { WriteOnce.Any(MsgHelp.GetString(MsgHelp.ID.TAGTEST_RESULTS_SUCCESS), true, ConsoleColor.Green, WriteOnce.ConsoleVerbosity.Low); } if (tagTestResult.TagsStatusList.Count > 0) { WriteOnce.Result("Test results:"); foreach (TagStatus tag in tagTestResult.TagsStatusList) { WriteOnce.General(string.Format("Tag: {0}, Detected: {1}", tag.Tag, tag.Detected)); } } WriteOnce.NewLine(); if (autoClose) { FlushAndClose(); } }
private static int RunTagTestCommand(CLITagTestCmdOptions cliOptions) { TagTestResult.ExitCode exitCode = TagTestResult.ExitCode.CriticalError; TagTestCommand command = new TagTestCommand(new TagTestOptions() { SourcePath = cliOptions.SourcePath, CustomRulesPath = cliOptions.CustomRulesPath, FilePathExclusions = cliOptions.FilePathExclusions, TestType = cliOptions.TestType, ConsoleVerbosityLevel = cliOptions.ConsoleVerbosityLevel, Log = cliOptions.Log }); TagTestResult tagTestCommand = command.GetResult(); exitCode = tagTestCommand.ResultCode; ResultsWriter.Write(tagTestCommand, cliOptions); return((int)exitCode); }