On Thu, Jan 28, 2021 at 1:46 PM Heinrich Schuchardt <xypron.g...@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. >
Thanks for the patch! And +1 that we shouldn't avoid the package == version as much as possible. Distros provide a version and if Python doesn't have a capability to provide a way how to do above conditionally to the version, then probably we have to drop Python crap and use better language for the test cases that must be robust. > Signed-off-by: Heinrich Schuchardt <xypron.g...@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 > -- With Best Regards, Andy Shevchenko