Re: [PATCH] kunit: tool: Assert version requirement
From: SeongJae Park
Date: Thu Jun 17 2021 - 03:40:01 EST
From: SeongJae Park <sjpark@xxxxxxxxx>
Hello Daniel,
On Wed, 16 Jun 2021 14:14:40 -0700 Daniel Latypov <dlatypov@xxxxxxxxxx> wrote:
> On Wed, Jun 16, 2021 at 2:40 AM SeongJae Park <sj38.park@xxxxxxxxx> wrote:
> >
> > From: SeongJae Park <sjpark@xxxxxxxxx>
> >
> > Commit 87c9c1631788 ("kunit: tool: add support for QEMU") on the 'next'
> > tree adds 'from __future__ import annotations' in 'kunit_kernel.py'.
> > Because it is supported on only >=3.7 Python, people using older Python
> > will get below error:
>
> Ah, we had been fine with just using 3.6 before this (and could have
> dropped down to 3.5 with a few lines changed).
>
> But 3.7 came out initially in 2018*, so I assume we're probably fine
> to rely on that in kunit tool.
> *https://www.python.org/downloads/release/python-370/
Agreed.
>
> >
> > Traceback (most recent call last):
> > File "./tools/testing/kunit/kunit.py", line 20, in <module>
> > import kunit_kernel
> > File "/home/sjpark/linux/tools/testing/kunit/kunit_kernel.py", line 9
> > from __future__ import annotations
> > ^
> > SyntaxError: future feature annotations is not defined
> >
> > This commit adds a version assertion in 'kunit.py', so that people get
> > more explicit error message like below:
> >
> > Traceback (most recent call last):
> > File "./tools/testing/kunit/kunit.py", line 15, in <module>
> > assert sys.version_info >= (3, 7)
> > AssertionError
> >
> > Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
>
> Acked-by: Daniel Latypov <dlatypov@xxxxxxxxxx>
Thank you! :)
>
> > ---
> > tools/testing/kunit/kunit.py | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
> > index be8d8d4a4e08..748d88178506 100755
> > --- a/tools/testing/kunit/kunit.py
> > +++ b/tools/testing/kunit/kunit.py
> > @@ -12,6 +12,8 @@ import sys
> > import os
> > import time
> >
> > +assert sys.version_info >= (3, 7)
>
> Do we perhaps want
> assert sys.version_info >= (3, 7), "Python version is too old"
>
> Then the error message would be
> Traceback (most recent call last):
> File "./tools/testing/kunit/kunit.py", line 15, in <module>
> assert sys.version_info >= (3, 7), "Python version is too old"
> AssertionError: Python version is too old
That looks easier to understand. I will post v2 in reply to this.
Thanks,
SeongJae Park
>
> I assume kernel devs know some Python, but not necessarily that
> sys.version_info == "my python version"
>
> > +
> > from collections import namedtuple
> > from enum import Enum, auto
> >
> > --
> > 2.17.1
> >
> > --
> > You received this message because you are subscribed to the Google Groups "KUnit Development" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to kunit-dev+unsubscribe@xxxxxxxxxxxxxxxx.
> > To view this discussion on the web visit https://groups.google.com/d/msgid/kunit-dev/20210616094033.18246-1-sj38.park%40gmail.com.