def test_set_general_option_negative(self): config = LintConfig() with self.assertRaisesRegexp(LintConfigError, "'foo' is not a valid gitlint option"): config.set_general_option("foo", "bar") # invalid verbosity incorrect_values = [-1, "foo"] for value in incorrect_values: expected_msg = r"Option 'verbosity' must be a positive integer \(current value: '{0}'\)".format(value) with self.assertRaisesRegexp(LintConfigError, expected_msg): config.verbosity = value incorrect_values = [4] for value in incorrect_values: with self.assertRaisesRegexp(LintConfigError, "Option 'verbosity' must be set between 0 and 3"): config.verbosity = value # invalid ignore_merge_commits incorrect_values = [-1, 4, "foo"] for value in incorrect_values: with self.assertRaisesRegexp(LintConfigError, r"Option 'ignore-merge-commits' must be either 'true' or 'false'"): config.ignore_merge_commits = value # invalid debug with self.assertRaisesRegexp(LintConfigError, r"Option 'debug' must be either 'true' or 'false'"): config.debug = "foobar"
def test_set_general_option_negative(self): config = LintConfig() # Note that we should't test whether we can set unicode because python just doesn't allow unicode attributes with self.assertRaisesRegex(LintConfigError, "'foo' is not a valid gitlint option"): config.set_general_option("foo", u"bår") # try setting _config_path, this is a real attribute of LintConfig, but the code should prevent it from # being set with self.assertRaisesRegex( LintConfigError, "'_config_path' is not a valid gitlint option"): config.set_general_option("_config_path", u"bår") # invalid verbosity` incorrect_values = [-1, u"föo"] for value in incorrect_values: expected_msg = u"Option 'verbosity' must be a positive integer \(current value: '{0}'\)".format( value) with self.assertRaisesRegex(LintConfigError, expected_msg): config.verbosity = value incorrect_values = [4] for value in incorrect_values: with self.assertRaisesRegex( LintConfigError, "Option 'verbosity' must be set between 0 and 3"): config.verbosity = value # invalid ignore_merge_commits incorrect_values = [-1, 4, u"föo"] for value in incorrect_values: with self.assertRaisesRegex( LintConfigError, "Option 'ignore-merge-commits' must be either 'true' or 'false'" ): config.ignore_merge_commits = value # invalid ignore -> not here because ignore is a ListOption which converts everything to a string before # splitting which means it it will accept just about everything # invalid debug with self.assertRaisesRegex( LintConfigError, "Option 'debug' must be either 'true' or 'false'"): config.debug = u"föobar" # extra-path has its own negative test # invalid target with self.assertRaisesRegex( LintConfigError, u"Option target must be an existing directory \(current value: 'föo/bar'\)" ): config.target = u"föo/bar"
def test_lint_merge_commit(self): commit = self.gitcommit(self.get_sample("commit_message/sample6")) # Sample 6 is a merge commit lintconfig = LintConfig() linter = GitLinter(lintconfig) violations = linter.lint(commit) # Even though there are a number of violations in the commit message, they are ignored because # we are dealing with a merge commit self.assertListEqual(violations, []) # Check that we do see violations if we disable 'ignore-merge-commits' lintconfig.ignore_merge_commits = False linter = GitLinter(lintconfig) violations = linter.lint(commit) self.assertTrue(len(violations) > 0)
def test_lint_merge_commit(self): commit = self.gitcommit(self.get_sample( "commit_message/sample6")) # Sample 6 is a merge commit lintconfig = LintConfig() linter = GitLinter(lintconfig) violations = linter.lint(commit) # Even though there are a number of violations in the commit message, they are ignored because # we are dealing with a merge commit self.assertListEqual(violations, []) # Check that we do see violations if we disable 'ignore-merge-commits' lintconfig.ignore_merge_commits = False linter = GitLinter(lintconfig) violations = linter.lint(commit) self.assertTrue(len(violations) > 0)
def test_set_general_option_negative(self): config = LintConfig() with self.assertRaisesRegex(LintConfigError, "'foo' is not a valid gitlint option"): config.set_general_option("foo", "bar") # try setting _config_path, this is a real attribute of LintConfig, but the code should prevent it from # being set with self.assertRaisesRegex(LintConfigError, "'_config_path' is not a valid gitlint option"): config.set_general_option("_config_path", "bar") # invalid verbosity` incorrect_values = [-1, "foo"] for value in incorrect_values: expected_msg = r"Option 'verbosity' must be a positive integer \(current value: '{0}'\)".format(value) with self.assertRaisesRegex(LintConfigError, expected_msg): config.verbosity = value incorrect_values = [4] for value in incorrect_values: with self.assertRaisesRegex(LintConfigError, "Option 'verbosity' must be set between 0 and 3"): config.verbosity = value # invalid ignore_merge_commits incorrect_values = [-1, 4, "foo"] for value in incorrect_values: with self.assertRaisesRegex(LintConfigError, r"Option 'ignore-merge-commits' must be either 'true' or 'false'"): config.ignore_merge_commits = value # invalid ignore -> not here because ignore is a ListOption which converts everything to a string before # splitting which means it it will accept just about everything # invalid debug with self.assertRaisesRegex(LintConfigError, r"Option 'debug' must be either 'true' or 'false'"): config.debug = "foobar" # invalid extra-path with self.assertRaisesRegex(LintConfigError, r"Option extra-path must be an existing directory \(current value: 'foo/bar'\)"): config.extra_path = "foo/bar" # invalid target with self.assertRaisesRegex(LintConfigError, r"Option target must be an existing directory \(current value: 'foo/bar'\)"): config.target = "foo/bar"
def test_set_general_option_negative(self): config = LintConfig() with self.assertRaisesRegexp(LintConfigError, "'foo' is not a valid gitlint option"): config.set_general_option("foo", "bar") # invalid verbosity incorrect_values = [-1, "foo"] for value in incorrect_values: expected_msg = r"Option 'verbosity' must be a positive integer \(current value: '{0}'\)".format(value) with self.assertRaisesRegexp(LintConfigError, expected_msg): config.verbosity = value incorrect_values = [4] for value in incorrect_values: with self.assertRaisesRegexp(LintConfigError, "Option 'verbosity' must be set between 0 and 3"): config.verbosity = value # invalid ignore_merge_commits incorrect_values = [-1, 4, "foo"] for value in incorrect_values: with self.assertRaisesRegexp(LintConfigError, r"Option 'ignore-merge-commits' must be either 'true' or 'false'"): config.ignore_merge_commits = value