
On Thu, Jan 28, 2021 at 1:46 PM Heinrich Schuchardt xypron.glpk@gmx.de wrote:
With Pytest 6.0.2 'make tests' fails:
sandbox: Traceback (most recent call last): File "./test/py/test.py", line 20, in <module> sys.exit(load_entry_point('pytest', 'console_scripts', 'pytest')(args)) TypeError: console_main() takes 0 positional arguments but 1 was given
The definition of console_scripts has changed as follows:
Pytest 4.6.1:
[options.entry_points] console_scripts = pytest=pytest:main py.test=pytest:main
Pytest 6.0.2:
[options.entry_points] console_scripts = pytest=pytest:console_main py.test=pytest:console_main
The new function console_main() has a comment: "This function is not meant for programmable use; use `main()`"
Hence let's call pytest.main() directly. Move args processing into the __main__ paragraph.
Tested-by: Andy Shevchenko andy.shevchenko@gmail.com
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
test/py/test.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/py/test.py b/test/py/test.py index bee88d96bc..285fda5425 100755 --- a/test/py/test.py +++ b/test/py/test.py @@ -10,11 +10,11 @@ import os import os.path import sys +import pytest from pkg_resources import load_entry_point
-# argv; py.test test_directory_name user-supplied-arguments -args = [os.path.dirname(__file__) + '/tests'] -args.extend(sys.argv)
if __name__ == '__main__':
- sys.exit(load_entry_point('pytest', 'console_scripts', 'pytest')(args))
- # argv; py.test test_directory_name user-supplied-arguments
- args = [os.path.dirname(__file__) + '/tests']
- args.extend(sys.argv)
- sys.exit(pytest.main(args))
-- 2.29.2