From: Eduardo Habkost <ehabkost@redhat.com>
To: Cleber Rosa <crosa@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org,
Kevin Wolf <kwolf@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 8/9] iotests: Modify imports for Python 3
Date: Mon, 15 Oct 2018 17:15:01 -0300 [thread overview]
Message-ID: <20181015201501.GD31060@habkost.net> (raw)
In-Reply-To: <a797c85a-97c8-37c8-2a39-7ce33478a425@redhat.com>
On Mon, Oct 15, 2018 at 02:59:28PM -0400, Cleber Rosa wrote:
>
>
> On 10/15/18 10:14 AM, Max Reitz wrote:
> > There are two imports that need to be modified when running the iotests
> > under Python 3: One is StringIO, which no longer exists; instead, the
> > StringIO class comes from the io module, so import it from there. The
> > other is the ConfigParser, which has just been renamed to configparser.
> >
> > Signed-off-by: Max Reitz <mreitz@redhat.com>
> > ---
> > tests/qemu-iotests/iotests.py | 8 ++++++--
> > tests/qemu-iotests/nbd-fault-injector.py | 7 +++++--
> > 2 files changed, 11 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> > index 7ca94e9278..a64ea90fb4 100644
> > --- a/tests/qemu-iotests/iotests.py
> > +++ b/tests/qemu-iotests/iotests.py
> > @@ -683,13 +683,17 @@ def main(supported_fmts=[], supported_oses=['linux'], supported_cache_modes=[],
> >
> > # We need to filter out the time taken from the output so that qemu-iotest
> > # can reliably diff the results against master output.
> > - import StringIO
> > + if sys.version_info.major >= 3:
> > + from io import StringIO
> > + else:
> > + from StringIO import StringIO
> > +
> > if debug:
> > output = sys.stdout
> > verbosity = 2
> > sys.argv.remove('-d')
> > else:
> > - output = StringIO.StringIO()
> > + output = StringIO()
> >
> > logging.basicConfig(level=(logging.DEBUG if debug else logging.WARN))
> >
> > diff --git a/tests/qemu-iotests/nbd-fault-injector.py b/tests/qemu-iotests/nbd-fault-injector.py
> > index d45e2e0a6a..6b2d659dee 100755
> > --- a/tests/qemu-iotests/nbd-fault-injector.py
> > +++ b/tests/qemu-iotests/nbd-fault-injector.py
> > @@ -48,7 +48,10 @@ import sys
> > import socket
> > import struct
> > import collections
> > -import ConfigParser
> > +if sys.version_info.major >= 3:
> > + import configparser
> > +else:
> > + import ConfigParser as configparser
> >
> > FAKE_DISK_SIZE = 8 * 1024 * 1024 * 1024 # 8 GB
> >
> > @@ -225,7 +228,7 @@ def parse_config(config):
> > return rules
> >
> > def load_rules(filename):
> > - config = ConfigParser.RawConfigParser()
> > + config = configparser.RawConfigParser()
> > with open(filename, 'rt') as f:
> > config.readfp(f, filename)
> > return parse_config(config)
> >
>
> This may be a type of culture clash (on my side, due to not enough QEMU
> culture), but shouldn't this be applied before anything else on this series?
>
> I mean, PATCH 1/9 is supposed to fix the reliability aspects of
> nbd-fault-injector under Python 3, but without this patch, it won't
> actually run on Python 3.
Both patches are required to make the code run on Python 3, and
they don't depend on each other. So I think the order doesn't
matter.
But I think the order chosen by Max is slightly more intuitive:
having explicit mentions of Python 3 in the code would be
confusing if we didn't fix the compatibility issues on patches
1-7 first.
--
Eduardo
next prev parent reply other threads:[~2018-10-15 20:15 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-15 14:14 [Qemu-devel] [PATCH 0/9] iotests: Make them work for both Python 2 and 3 Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 1/9] iotests: Make nbd-fault-injector flush Max Reitz
2018-10-15 19:42 ` Eduardo Habkost
2018-10-15 20:24 ` Cleber Rosa
2018-10-16 18:07 ` Eric Blake
2018-10-19 9:48 ` Max Reitz
2018-10-19 14:21 ` Eric Blake
2018-10-15 14:14 ` [Qemu-devel] [PATCH 2/9] iotests: Flush in iotests.py's QemuIoInteractive Max Reitz
2018-10-15 19:43 ` Eduardo Habkost
2018-10-15 20:49 ` Cleber Rosa
2018-10-15 14:14 ` [Qemu-devel] [PATCH 3/9] iotests: Use Python byte strings where appropriate Max Reitz
2018-10-15 19:53 ` Eduardo Habkost
2018-10-19 8:46 ` Max Reitz
2018-10-15 22:08 ` Philippe Mathieu-Daudé
2018-10-15 14:14 ` [Qemu-devel] [PATCH 4/9] iotests: Use // for Python integer division Max Reitz
2018-10-15 19:54 ` Eduardo Habkost
2018-10-15 21:13 ` Cleber Rosa
2018-10-19 9:06 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 5/9] iotests: Different iterator behavior in Python 3 Max Reitz
2018-10-15 20:07 ` Eduardo Habkost
2018-10-19 8:52 ` Max Reitz
2018-10-15 22:39 ` Cleber Rosa
2018-10-19 9:42 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 6/9] iotests: Explicitly inherit FDs in Python Max Reitz
2018-10-15 20:30 ` Eduardo Habkost
2018-10-19 9:03 ` Max Reitz
2018-10-15 23:18 ` Cleber Rosa
2018-10-19 9:43 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 7/9] iotests: 'new' module replacement in 169 Max Reitz
2018-10-15 21:13 ` Eduardo Habkost
2018-10-15 23:38 ` Cleber Rosa
2018-10-15 23:57 ` Eduardo Habkost
2018-10-16 1:01 ` Cleber Rosa
2018-10-19 9:46 ` Max Reitz
2018-10-19 14:18 ` Eduardo Habkost
2018-10-15 14:14 ` [Qemu-devel] [PATCH 8/9] iotests: Modify imports for Python 3 Max Reitz
2018-10-15 18:59 ` Cleber Rosa
2018-10-15 20:15 ` Eduardo Habkost [this message]
2018-10-19 8:44 ` Max Reitz
2018-10-15 21:17 ` Eduardo Habkost
2018-10-16 0:05 ` Cleber Rosa
2018-10-16 0:12 ` Eduardo Habkost
2018-10-19 9:25 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 9/9] iotests: Unify log outputs between Python 2 and 3 Max Reitz
2018-10-15 22:26 ` Eduardo Habkost
2018-10-19 9:33 ` Max Reitz
2018-10-15 22:19 ` [Qemu-devel] [PATCH 0/9] iotests: Make them work for both " Philippe Mathieu-Daudé
2018-10-19 9:08 ` Max Reitz
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=20181015201501.GD31060@habkost.net \
--to=ehabkost@redhat.com \
--cc=crosa@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.