From fdd6989ece1a61e40820572ce489d69773ab0d29 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Sun, 1 Jun 2014 21:09:02 -0700 Subject: [PATCH] Add failing test for versioned repositories. --- testing/resources/python3_hooks_repo/hooks.yaml | 5 +++++ .../python3_hooks_repo/python3_hook/__init__.py | 0 .../resources/python3_hooks_repo/python3_hook/main.py | 9 +++++++++ testing/resources/python3_hooks_repo/setup.py | 11 +++++++++++ tests/conftest.py | 10 ++++++++++ tests/repository_test.py | 9 +++++++++ 6 files changed, 44 insertions(+) create mode 100644 testing/resources/python3_hooks_repo/hooks.yaml create mode 100644 testing/resources/python3_hooks_repo/python3_hook/__init__.py create mode 100644 testing/resources/python3_hooks_repo/python3_hook/main.py create mode 100644 testing/resources/python3_hooks_repo/setup.py diff --git a/testing/resources/python3_hooks_repo/hooks.yaml b/testing/resources/python3_hooks_repo/hooks.yaml new file mode 100644 index 00000000..50c0ee9e --- /dev/null +++ b/testing/resources/python3_hooks_repo/hooks.yaml @@ -0,0 +1,5 @@ +- id: python3-hook + name: Python 3 Hook + entry: python3-hook + language: python + language_version: python3.3 diff --git a/testing/resources/python3_hooks_repo/python3_hook/__init__.py b/testing/resources/python3_hooks_repo/python3_hook/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/testing/resources/python3_hooks_repo/python3_hook/main.py b/testing/resources/python3_hooks_repo/python3_hook/main.py new file mode 100644 index 00000000..1ee37c45 --- /dev/null +++ b/testing/resources/python3_hooks_repo/python3_hook/main.py @@ -0,0 +1,9 @@ +from __future__ import print_function +import sys + + +def func(): + print('{0}.{1}'.format(*sys.version_info[:2])) + print(repr(sys.argv[1:])) + print('Hello World') + return 0 diff --git a/testing/resources/python3_hooks_repo/setup.py b/testing/resources/python3_hooks_repo/setup.py new file mode 100644 index 00000000..bf7690c0 --- /dev/null +++ b/testing/resources/python3_hooks_repo/setup.py @@ -0,0 +1,11 @@ +from setuptools import find_packages +from setuptools import setup + +setup( + name='python3_hook', + version='0.0.0', + packages=find_packages('.'), + entry_points={ + 'console_scripts': ['python3-hook = python3_hook.main:func'], + }, +) diff --git a/tests/conftest.py b/tests/conftest.py index d70d66bb..2c17ea60 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -72,6 +72,11 @@ def python_hooks_repo(dummy_git_repo): yield _make_repo(dummy_git_repo, 'python_hooks_repo') +@pytest.yield_fixture +def python3_hooks_repo(dummy_git_repo): + yield _make_repo(dummy_git_repo, 'python3_hooks_repo') + + @pytest.yield_fixture def node_hooks_repo(dummy_git_repo): yield _make_repo(dummy_git_repo, 'node_hooks_repo') @@ -133,6 +138,11 @@ def config_for_python_hooks_repo(python_hooks_repo): yield _make_config(python_hooks_repo, 'foo', '\\.py$') +@pytest.yield_fixture +def config_for_python3_hooks_repo(python3_hooks_repo): + yield _make_config(python3_hooks_repo, 'python3-hook', '\\.py$') + + @pytest.yield_fixture def config_for_prints_cwd_repo(prints_cwd_repo): yield _make_config(prints_cwd_repo, 'prints_cwd', '^$') diff --git a/tests/repository_test.py b/tests/repository_test.py index e1592df4..b5330801 100644 --- a/tests/repository_test.py +++ b/tests/repository_test.py @@ -24,6 +24,15 @@ def test_run_a_python_hook(config_for_python_hooks_repo, store): assert ret[1] == "['/dev/null']\nHello World\n" +@pytest.mark.xfail +@pytest.mark.integration +def test_run_versioned_hook(config_for_python3_hooks_repo, store): + repo = Repository.create(config_for_python3_hooks_repo, store) + ret = repo.run_hook('python3-hook', ['/dev/null']) + assert ret[0] == 0 + assert ret[1] == "3.3\n['/dev/null']\nHello World\n" + + @pytest.mark.integration def test_lots_of_files(config_for_python_hooks_repo, store): repo = Repository.create(config_for_python_hooks_repo, store)