summaryrefslogtreecommitdiffstats
path: root/gitlint-core/gitlint/tests/samples/user_rules
diff options
context:
space:
mode:
Diffstat (limited to 'gitlint-core/gitlint/tests/samples/user_rules')
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/bogus-file.txt2
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/import_exception/invalid_python.py2
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/incorrect_linerule/my_line_rule.py8
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.foo16
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.py25
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/parent_package/__init__.py12
-rw-r--r--gitlint-core/gitlint/tests/samples/user_rules/parent_package/my_commit_rules.py10
7 files changed, 75 insertions, 0 deletions
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/bogus-file.txt b/gitlint-core/gitlint/tests/samples/user_rules/bogus-file.txt
new file mode 100644
index 0000000..2a56650
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/bogus-file.txt
@@ -0,0 +1,2 @@
+This is just a bogus file.
+This file being here is part of the test: gitlint should ignore it. \ No newline at end of file
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/import_exception/invalid_python.py b/gitlint-core/gitlint/tests/samples/user_rules/import_exception/invalid_python.py
new file mode 100644
index 0000000..a123a64
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/import_exception/invalid_python.py
@@ -0,0 +1,2 @@
+# This is invalid python code which will cause an import exception
+class MyObject:
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/incorrect_linerule/my_line_rule.py b/gitlint-core/gitlint/tests/samples/user_rules/incorrect_linerule/my_line_rule.py
new file mode 100644
index 0000000..b23b5bf
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/incorrect_linerule/my_line_rule.py
@@ -0,0 +1,8 @@
+from gitlint.rules import LineRule
+
+
+class MyUserLineRule(LineRule):
+ id = "UC2"
+ name = "my-lïne-rule"
+
+ # missing validate method, missing target attribute
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.foo b/gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.foo
new file mode 100644
index 0000000..605d704
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.foo
@@ -0,0 +1,16 @@
+# This rule is ignored because it doesn't have a .py extension
+from gitlint.rules import CommitRule, RuleViolation
+from gitlint.options import IntOption
+
+
+class MyUserCommitRule2(CommitRule):
+ name = "my-user-commit-rule2"
+ id = "TUC2"
+ options_spec = [IntOption('violation-count', 0, "Number of violations to return")]
+
+ def validate(self, _commit):
+ violations = []
+ for i in range(1, self.options['violation-count'].value + 1):
+ violations.append(RuleViolation(self.id, "Commit violation %d" % i, "Content %d" % i, i))
+
+ return violations
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.py b/gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.py
new file mode 100644
index 0000000..c947250
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/my_commit_rules.py
@@ -0,0 +1,25 @@
+from gitlint.options import IntOption
+from gitlint.rules import CommitRule, RuleViolation
+
+
+class MyUserCommitRule(CommitRule):
+ name = "my-üser-commit-rule"
+ id = "UC1"
+ options_spec = [IntOption("violation-count", 1, "Number of violåtions to return")]
+
+ def validate(self, _commit):
+ violations = []
+ for i in range(1, self.options["violation-count"].value + 1):
+ violations.append(RuleViolation(self.id, "Commit violåtion %d" % i, "Contënt %d" % i, i))
+
+ return violations
+
+
+# The below code is present so that we can test that we actually ignore it
+
+
+def func_should_be_ignored():
+ pass # pragma: nocover
+
+
+global_variable_should_be_ignored = True
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/parent_package/__init__.py b/gitlint-core/gitlint/tests/samples/user_rules/parent_package/__init__.py
new file mode 100644
index 0000000..c2863fe
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/parent_package/__init__.py
@@ -0,0 +1,12 @@
+# This file is meant to test that we can also load rules from __init__.py files, this was an issue with pypy before.
+
+from gitlint.rules import CommitRule
+
+
+class InitFileRule(CommitRule):
+ name = "my-init-cömmit-rule"
+ id = "UC1"
+ options_spec = []
+
+ def validate(self, _commit):
+ return [] # pragma: nocover
diff --git a/gitlint-core/gitlint/tests/samples/user_rules/parent_package/my_commit_rules.py b/gitlint-core/gitlint/tests/samples/user_rules/parent_package/my_commit_rules.py
new file mode 100644
index 0000000..f91cb07
--- /dev/null
+++ b/gitlint-core/gitlint/tests/samples/user_rules/parent_package/my_commit_rules.py
@@ -0,0 +1,10 @@
+from gitlint.rules import CommitRule
+
+
+class MyUserCommitRule(CommitRule):
+ name = "my-user-cömmit-rule"
+ id = "UC2"
+ options_spec = []
+
+ def validate(self, _commit):
+ return []