Add name-tests-test hook
diff --git a/manifest.yaml b/manifest.yaml
index 9202184..78fc797 100644
--- a/manifest.yaml
+++ b/manifest.yaml
@@ -17,3 +17,9 @@
description: This hook trims trailing whitespace.
entry: trailing-whitespace-fixer
language: python
+-
+ id: name-tests-test
+ name: Tests should end in _test.py
+ description: This verifies that test files are named correctly
+ entry: name-tests-test
+ language: python
\ No newline at end of file
diff --git a/pre_commit_hooks/tests_should_end_in_test.py b/pre_commit_hooks/tests_should_end_in_test.py
new file mode 100644
index 0000000..86991f0
--- /dev/null
+++ b/pre_commit_hooks/tests_should_end_in_test.py
@@ -0,0 +1,24 @@
+
+import sys
+
+
+def validate_files(argv):
+ retcode = 0
+ for filename in argv:
+ if (
+ not filename.endswith('_test.py') and
+ not filename.endswith('__init__.py') and
+ not filename.endswith('/conftest.py')
+ ):
+ retcode = 1
+ print '{0} does not end in _test.py'.format(filename)
+
+ return retcode
+
+
+def entry():
+ validate_files(sys.argv[1:])
+
+
+if __name__ == '__main__':
+ sys.exit(entry())
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 715f0c9..ed41748 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@
'console_scripts': [
'debug-statement-hook = pre_commit_hooks.debug_statement_hook:entry',
'trailing-whitespace-fixer = pre_commit_hooks.trailing_whitespace_fixer:entry',
+ 'name-tests-test = pre_commit_hooks.tests_should_end_in_test:entry',
],
},
)