Skip to content

Commit

Permalink
Merge pull request #2324 from pre-commit/local-hooks-py27
Browse files Browse the repository at this point in the history
fix python 2.7 `repo: local` hooks
  • Loading branch information
asottile committed Apr 3, 2022
2 parents c5a39ae + 1722448 commit f5af0a9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
rev: v3.0.1
hooks:
- id: reorder-python-imports
exclude: ^testing/resources/python3_hooks_repo/
exclude: ^(pre_commit/resources/|testing/resources/python3_hooks_repo/)
args: [--py37-plus, --add-import, 'from __future__ import annotations']
- repo: https://github.com/asottile/add-trailing-comma
rev: v2.2.1
Expand Down
2 changes: 0 additions & 2 deletions pre_commit/resources/empty_template_setup.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from __future__ import annotations

from setuptools import setup


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
name: Python 3 Hook
entry: python3-hook
language: python
language_version: python3
files: \.py$
21 changes: 13 additions & 8 deletions tests/repository_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import os.path
import shutil
import sys
from typing import Any
from unittest import mock

Expand Down Expand Up @@ -876,25 +875,31 @@ def test_tags_on_repositories(in_tmpdir, tempdir_factory, store):
@pytest.fixture
def local_python_config():
# Make a "local" hooks repo that just installs our other hooks repo
repo_path = get_resource_path('python_hooks_repo')
repo_path = get_resource_path('python3_hooks_repo')
manifest = load_manifest(os.path.join(repo_path, C.MANIFEST_FILE))
hooks = [
dict(hook, additional_dependencies=[repo_path]) for hook in manifest
]
return {'repo': 'local', 'hooks': hooks}


@pytest.mark.xfail( # pragma: win32 no cover
sys.platform == 'win32',
reason='microsoft/azure-pipelines-image-generation#989',
)
def test_local_python_repo(store, local_python_config):
hook = _get_hook(local_python_config, store, 'foo')
hook = _get_hook(local_python_config, store, 'python3-hook')
# language_version should have been adjusted to the interpreter version
assert hook.language_version != C.DEFAULT
ret, out = _hook_run(hook, ('filename',), color=False)
assert ret == 0
assert _norm_out(out) == b"3\n['filename']\nHello World\n"


def test_local_python_repo_python2(store, local_python_config):
local_python_config['hooks'][0]['language_version'] = 'python2'
hook = _get_hook(local_python_config, store, 'python3-hook')
# language_version should have been adjusted to the interpreter version
assert hook.language_version != C.DEFAULT
ret, out = _hook_run(hook, ('filename',), color=False)
assert ret == 0
assert _norm_out(out) == b"['filename']\nHello World\n"
assert _norm_out(out) == b"2\n['filename']\nHello World\n"


def test_default_language_version(store, local_python_config):
Expand Down

0 comments on commit f5af0a9

Please sign in to comment.