Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d68a778

Browse files
author
Mickaël Schoentgen
committed
Fix the use of deprecated inspect.getargspec() on Python 3
1 parent 67d6fcb commit d68a778

1 file changed

Lines changed: 23 additions & 17 deletions

File tree

tests/languages/all_test.py

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,34 @@
11
from __future__ import unicode_literals
22

3+
import functools
34
import inspect
45

56
import pytest
7+
import six
68

79
from pre_commit.languages.all import all_languages
810
from pre_commit.languages.all import languages
911

1012

13+
if six.PY2: # pragma: no cover
14+
ArgSpec = functools.partial(
15+
inspect.ArgSpec, varargs=None, keywords=None, defaults=None,
16+
)
17+
getargspec = inspect.getargspec
18+
else:
19+
ArgSpec = functools.partial(
20+
inspect.FullArgSpec, varargs=None, varkw=None, defaults=None,
21+
kwonlyargs=[], kwonlydefaults=None, annotations={},
22+
)
23+
getargspec = inspect.getfullargspec
24+
25+
1126
@pytest.mark.parametrize('language', all_languages)
1227
def test_install_environment_argspec(language):
13-
expected_argspec = inspect.ArgSpec(
28+
expected_argspec = ArgSpec(
1429
args=['prefix', 'version', 'additional_dependencies'],
15-
varargs=None, keywords=None, defaults=None,
1630
)
17-
argspec = inspect.getargspec(languages[language].install_environment)
31+
argspec = getargspec(languages[language].install_environment)
1832
assert argspec == expected_argspec
1933

2034

@@ -25,28 +39,20 @@ def test_ENVIRONMENT_DIR(language):
2539

2640
@pytest.mark.parametrize('language', all_languages)
2741
def test_run_hook_argpsec(language):
28-
expected_argspec = inspect.ArgSpec(
29-
args=['prefix', 'hook', 'file_args'],
30-
varargs=None, keywords=None, defaults=None,
31-
)
32-
argspec = inspect.getargspec(languages[language].run_hook)
42+
expected_argspec = ArgSpec(args=['prefix', 'hook', 'file_args'])
43+
argspec = getargspec(languages[language].run_hook)
3344
assert argspec == expected_argspec
3445

3546

3647
@pytest.mark.parametrize('language', all_languages)
3748
def test_get_default_version_argspec(language):
38-
expected_argspec = inspect.ArgSpec(
39-
args=[], varargs=None, keywords=None, defaults=None,
40-
)
41-
argspec = inspect.getargspec(languages[language].get_default_version)
49+
expected_argspec = ArgSpec(args=[])
50+
argspec = getargspec(languages[language].get_default_version)
4251
assert argspec == expected_argspec
4352

4453

4554
@pytest.mark.parametrize('language', all_languages)
4655
def test_healthy_argspec(language):
47-
expected_argspec = inspect.ArgSpec(
48-
args=['prefix', 'language_version'],
49-
varargs=None, keywords=None, defaults=None,
50-
)
51-
argspec = inspect.getargspec(languages[language].healthy)
56+
expected_argspec = ArgSpec(args=['prefix', 'language_version'])
57+
argspec = getargspec(languages[language].healthy)
5258
assert argspec == expected_argspec

0 commit comments

Comments
 (0)