/// Compares a set of rules against a source path... /// Used for both RulesPresent and RulesNotePresent options /// Focus is pass/fail not detailed comparison output -see Tagdiff for more public TagTestCommand(TagTestCommandOptions opt) { _arg_srcPath = opt.SourcePath; _arg_customRulesPath = opt.CustomRulesPath; _arg_outputFile = opt.OutputFilePath; if (!Enum.TryParse(opt.ConsoleVerbosityLevel, true, out _arg_consoleVerbosityLevel)) { throw new OpException(String.Format(ErrMsg.FormatString(ErrMsg.ID.CMD_INVALID_ARG_VALUE, "-x"))); } WriteOnce.Verbosity = _arg_consoleVerbosityLevel; if (string.IsNullOrEmpty(opt.TestType)) { _arg_tagTestType = TagTestType.RulesPresent; } else if (!Enum.TryParse(opt.TestType, true, out _arg_tagTestType)) { throw new OpException(ErrMsg.FormatString(ErrMsg.ID.CMD_INVALID_ARG_VALUE, opt.TestType)); } _arg_ignoreDefaultRules = opt.IgnoreDefaultRules; _rulesSet = new RuleSet(Program.Logger); if (string.IsNullOrEmpty(opt.CustomRulesPath) && _arg_ignoreDefaultRules) { throw new OpException(ErrMsg.GetString(ErrMsg.ID.CMD_NORULES_SPECIFIED)); } ConfigureRules(); ConfigureOutput(); }
private static int RunTagTestCommand(TagTestCommandOptions opts) { SetupLogging(opts.LogFilePath, opts.LogFileLevel); return(new TagTestCommand(opts).Run()); }