qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: John Snow <jsnow@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
	qemu-devel@nongnu.org, qemu-block@nongnu.org,
	Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 6/8] iotests: Test driver whitelisting in 093
Date: Tue, 17 Sep 2019 16:05:36 +0200	[thread overview]
Message-ID: <20190917140536.GE4824@localhost.localdomain> (raw)
In-Reply-To: <8109abd4-0e48-c9af-4de3-7bb60875a4f4@redhat.com>

Am 17.09.2019 um 15:44 hat John Snow geschrieben:
> 
> 
> On 9/17/19 9:42 AM, Kevin Wolf wrote:
> > Am 17.09.2019 um 15:09 hat John Snow geschrieben:
> >> On 9/17/19 7:22 AM, Kevin Wolf wrote:
> >>> Am 17.09.2019 um 13:07 hat Max Reitz geschrieben:
> >>>> On 17.09.19 10:40, Kevin Wolf wrote:
> >>>>> Am 17.09.2019 um 10:18 hat Max Reitz geschrieben:
> >>>>>> On 13.09.19 20:30, John Snow wrote:
> >>>>>>> I'd still like to define func_wrapper with a nod to the type constraint
> >>>>>>> it has:
> >>>>>>>
> >>>>>>> def func_wrapper(instance: iotests.QMPTestCase, *args, **kwargs):
> >>>>>>>     [...]
> >>>>>>>
> >>>>>>>
> >>>>>>> Then, you'd write:
> >>>>>>>
> >>>>>>> if callable(required_formats):
> >>>>>>>     fmts = required_formats(instance)
> >>>>>>> else:
> >>>>>>>     fmts = required_formats
> >>>>>>
> >>>>>> Yep, that anyway.  (Although I didn’t know about the “param: type”
> >>>>>> syntax and put that constraint in a comment instead.  Thanks again :-))
> >>>>>
> >>>>> Note that function annotations are Python 3 only, so we can't use that
> >>>>> syntax yet anyway. If you want to use type hints that are understood by
> >>>>> tools (like mypy) and compatible with Python 2, you have to use
> >>>>> something like this (feel free to be more specific than Any):
> >>>>
> >>>> Do we really feel like staying compatible with Python 2, though?
> >>>
> >>> Feel like it? No.
> >>>
> >>> It's more that we are compelled to do so because we only deprecated it
> >>> in 4.1.
> >>
> >> Sorry for the impromptu lesson on type hints in 3.5! I added that in to
> >> my suggestion as a demonstrative example and didn't mean for you to use
> >> it as-is, sorry for not making that clear.
> >>
> >> I'm confused about the Python3 deprecation timeline. Normally we'd
> >> follow our standard approach, but it does hit EOL at the end of this
> >> year, so do we drop support then, too? I have the memory of a goldfish I
> >> suppose, and can't quite remember our conclusions, if any, of previous
> >> discussions on this subject.
> > 
> > It shouldn't make a difference actually because deprecation in 4.1 means
> > that 4.2 (in December) will be the last release that must still support
> > Python 2, and we can switch to Python 3 for 5.0.
> > 
> >> If we do drop python2 though, the new minimum version appears to be 3.5
> >> because that's what ships in EPEL. That'd give us standardized type
> >> hints that we can use for static analysis tools.
> > 
> > Actually I seem to remember I suggested that we should make 3.5 the
> > minimum Python 3 version, and I thought a patch to this effect had been
> > merged, but now I can't find any such check in configure. Maybe I should
> > find the old thread again to see if there was any reason not to do this.
> > 
> > Personally, I would have preferred 3.6 because it brings in variable
> > annotations, but I think last time the conclusion was that it would be
> > 3.5 indeed.
> > 
> 
> And with variable annotations you get data classes too, I believe, which
> are quite handy.

I didn't know these. Looks convenient, only in 3.7, though. We might be
there in five years.

Kevin


  reply	other threads:[~2019-09-17 14:07 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-19 20:18 [Qemu-devel] [PATCH v3 0/8] iotests: Selfish patches Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 1/8] iotests: Add -display none to the qemu options Max Reitz
2019-08-20  6:36   ` Thomas Huth
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 2/8] iotests: Prefer null-co over null-aio Max Reitz
2019-08-19 20:22   ` Max Reitz
2019-08-20 21:05     ` John Snow
2019-08-20  6:38   ` Thomas Huth
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 3/8] iotests: Allow skipping test cases Max Reitz
2019-08-20 21:17   ` John Snow
2019-08-21 17:39   ` Andrey Shinkevich
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 4/8] iotests: Use case_skip() in skip_if_unsupported() Max Reitz
2019-08-20 21:27   ` John Snow
2019-08-21 10:50     ` Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 5/8] iotests: Let skip_if_unsupported() accept a method Max Reitz
2019-08-20 21:31   ` John Snow
2019-08-21 10:54     ` Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 6/8] iotests: Test driver whitelisting in 093 Max Reitz
2019-08-20  6:40   ` Thomas Huth
2019-08-20 12:23     ` Max Reitz
2019-08-20 21:32   ` John Snow
2019-08-21 10:55     ` Max Reitz
2019-09-13 12:47     ` Max Reitz
2019-09-13 18:30       ` John Snow
2019-09-17  8:18         ` Max Reitz
2019-09-17  8:29           ` Max Reitz
2019-09-17  8:32             ` Max Reitz
2019-09-17  8:40           ` Kevin Wolf
2019-09-17 11:07             ` Max Reitz
2019-09-17 11:22               ` Kevin Wolf
2019-09-17 13:09                 ` John Snow
2019-09-17 13:42                   ` Kevin Wolf
2019-09-17 13:44                     ` John Snow
2019-09-17 14:05                       ` Kevin Wolf [this message]
2019-09-17 14:12                 ` Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 7/8] iotests: Test driver whitelisting in 136 Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 8/8] iotests: Cache supported_formats() Max Reitz
2019-08-20 21:10   ` John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190917140536.GE4824@localhost.localdomain \
    --to=kwolf@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).