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
@ -11,14 +13,14 @@ def validate_files(argv):
not filename.endswith('/conftest.py')
):
retcode = 1
print '{0} does not end in _test.py'.format(filename)
print('{0} does not end in _test.py'.format(filename))
return retcode
def entry():
validate_files(sys.argv[1:])
return validate_files(sys.argv[1:])
if __name__ == '__main__':
sys.exit(entry())
sys.exit(entry())

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