public void TestLoadingDefault() { var path = Util.CreateTmpDir("ruleset"); var rulesetPath = Path.Combine(path, "a.ruleset"); // None exists, so it will be re-created var rulesetManager = new MonoDevelopRuleSetManager(rulesetPath); var ruleset = rulesetManager.GetGlobalRuleSet(); Assert.IsNotNull(ruleset); }
public void TestLoadingExisting() { var path = Util.CreateTmpDir("ruleset"); var rulesetPath = Path.Combine(path, "a.ruleset"); // None exists, so it will be re-created var rulesetManager = new MonoDevelopRuleSetManager(rulesetPath); var ruleset = rulesetManager.GetGlobalRuleSet(); Assert.IsNotNull(ruleset); rulesetManager = new MonoDevelopRuleSetManager(rulesetPath); var ruleset2 = rulesetManager.GetGlobalRuleSet(); // A new manager will query again, so we can assume no cache is being used. Assert.IsNotNull(ruleset2); Assert.AreNotSame(ruleset, ruleset2); }
public void TestLoadingTimestamp() { var path = Util.CreateTmpDir("ruleset"); var rulesetPath = Path.Combine(path, "a.ruleset"); // None exists, so it will be re-created var rulesetManager = new MonoDevelopRuleSetManager(rulesetPath); var ruleset = rulesetManager.GetGlobalRuleSet(); Assert.IsNotNull(ruleset); var ruleset2 = rulesetManager.GetGlobalRuleSet(); Assert.AreSame(ruleset, ruleset2); var lastWrite = File.GetLastWriteTimeUtc(rulesetPath); File.SetLastWriteTimeUtc(rulesetPath, lastWrite.AddHours(-1)); Assert.AreNotSame(ruleset, rulesetManager.GetGlobalRuleSet()); }
public void TestLoadingBrokenRuleset() { var path = Util.CreateTmpDir("ruleset"); var rulesetPath = Path.Combine(path, "a.ruleset"); // force ruleset file creation var rulesetManager = new MonoDevelopRuleSetManager(rulesetPath); var brokenText = @"<RuleSet Name=""Global Rules"" ToolsVersion=""12.0""> <Rules AnalyzerId=""Roslyn"" RuleNamespace=""Roslyn"">> <Rule Id=""RECS0076"" Action=""Suppress""/> </Rules> </RuleSet> "; File.WriteAllText(rulesetPath, brokenText); var ruleset = rulesetManager.GetGlobalRuleSet(); Assert.IsNotNull(ruleset); var backupPath = rulesetPath + ".backup"; Assert.IsTrue(File.Exists(backupPath)); }