11from __future__ import unicode_literals
22
3+ import functools
34import inspect
45
56import pytest
7+ import six
68
79from pre_commit .languages .all import all_languages
810from 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 )
1227def 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 )
2741def 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 )
3748def 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 )
4655def 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