Add some tests for tests_should_end_in_test hook

This commit is contained in:
Anthony Sottile 2014-03-18 21:25:36 -07:00
parent d2e45f3400
commit 12794c1c19
3 changed files with 30 additions and 3 deletions

View file

@ -1,4 +1,6 @@
from __future__ import print_function
import sys import sys
@ -11,13 +13,13 @@ def validate_files(argv):
not filename.endswith('/conftest.py') not filename.endswith('/conftest.py')
): ):
retcode = 1 retcode = 1
print '{0} does not end in _test.py'.format(filename) print('{0} does not end in _test.py'.format(filename))
return retcode return retcode
def entry(): def entry():
validate_files(sys.argv[1:]) return validate_files(sys.argv[1:])
if __name__ == '__main__': if __name__ == '__main__':

11
tests/conftest.py Normal file
View file

@ -0,0 +1,11 @@
import __builtin__
import mock
import pytest
@pytest.yield_fixture
def print_mock():
with mock.patch.object(__builtin__, 'print', autospec=True) as mock_print:
yield mock_print

View file

@ -0,0 +1,14 @@
from pre_commit_hooks.tests_should_end_in_test import validate_files
def test_validate_files_all_pass(print_mock):
ret = validate_files(['foo_test.py', 'bar_test.py'])
assert ret == 0
assert print_mock.call_count == 0
def test_validate_files_one_fails(print_mock):
ret = validate_files(['not_test_ending.py', 'foo_test.py'])
assert ret == 1
assert print_mock.call_count == 1