From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Thu, 28 Jan 2021 18:56:45 -0500 Subject: [PATCH] test: correct entry point to pytest In-Reply-To: References: <20210128114611.128865-1-xypron.glpk@gmx.de> <20210128125828.GT7530@bill-the-cat> <82937e71-a72a-0bf5-1b53-5f3c70aa30c1@gmx.de> <20210128161734.GU7530@bill-the-cat> Message-ID: <20210128235645.GC7530@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, Jan 28, 2021 at 07:36:53PM +0100, Heinrich Schuchardt wrote: > On 1/28/21 5:17 PM, Tom Rini wrote: > > On Thu, Jan 28, 2021 at 02:28:03PM +0100, Heinrich Schuchardt wrote: > > > On 28.01.21 13:58, Tom Rini wrote: > > > > On Thu, Jan 28, 2021 at 12:46:11PM +0100, Heinrich Schuchardt wrote: > > > > > > > > > With Pytest 6.0.2 'make tests' fails: > > > > > > > > > > sandbox: Traceback (most recent call last): > > > > > File "./test/py/test.py", line 20, in > > > > > 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. > > > > > > > > > > Signed-off-by: Heinrich Schuchardt > > > > > --- > > > > > test/py/test.py | 10 +++++----- > > > > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > > > > > So the last round of "newer pytest means we need to ..." was part of why > > > > we have test/py/requirements.txt right now. That was over a year ago. > > > > So, for after v2021.04 it would be good to update pytest to current and > > > > deal with any updating that needs updating in our tests and related > > > > code. Thanks! > > > > > > > > > > This patch is not about making new requirements. It is about increasing > > > the compatibility of our Python script with a larger range of Pytest > > > revisions. > > > > > > So I do not see the show-stopper for the current release. > > > > I bring up the last time because we support using "pip install -r > > test/py/requirements.txt" as how to create the supported test > > environment. This is based on my understanding of the time of the best > > practices of dealing with python modules. > > As you have read in the replies to that discussion it is not only me who > due to security considerations will not run pip on his private computer > but wants to use the packages from the distro. > > This patch does not break anything. Hence I would appreciate if you > could consider it for inclusion. > > This does not stop you or Gitlab to use pip with your favorite Pytest > version. In that this does not lead to a backwards incompatible change (like we had previously), this falls in to the category of changes that fix problems some people see, even if it's not the default case. So yes, I will pick this up as part of picking up general fixes. And as I've thrown this at everything-new (to see what happens there) + sandbox, as well as my regular lab of testing with the old version and everything is fine: Tested-by: Tom Rini -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: