All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: "Eduardo Habkost" <ehabkost@redhat.com>,
	qemu-block@nongnu.org, "Fam Zheng" <famz@redhat.com>,
	"Kevin Wolf" <kwolf@redhat.com>, "Max Reitz" <mreitz@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: [Qemu-devel] [PULL 09/15] iotests: Modify imports for Python 3
Date: Tue, 30 Oct 2018 21:31:14 -0300	[thread overview]
Message-ID: <20181031003120.26771-10-ehabkost@redhat.com> (raw)
In-Reply-To: <20181031003120.26771-1-ehabkost@redhat.com>

From: Max Reitz <mreitz@redhat.com>

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 (and
use the BytesIO class for Python 2).  The other is the ConfigParser,
which has just been renamed to configparser.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20181022135307.14398-9-mreitz@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 tests/qemu-iotests/iotests.py            | 13 +++++++++----
 tests/qemu-iotests/nbd-fault-injector.py |  7 +++++--
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 7ca94e9278..a0f35e4b68 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -29,6 +29,7 @@ import json
 import signal
 import logging
 import atexit
+import io
 
 sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'scripts'))
 import qtest
@@ -681,15 +682,19 @@ def main(supported_fmts=[], supported_oses=['linux'], supported_cache_modes=[],
     verify_platform(supported_oses)
     verify_cache_mode(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 debug:
         output = sys.stdout
         verbosity = 2
         sys.argv.remove('-d')
     else:
-        output = StringIO.StringIO()
+        # We need to filter out the time taken from the output so that
+        # qemu-iotest can reliably diff the results against master output.
+        if sys.version_info.major >= 3:
+            output = io.StringIO()
+        else:
+            # io.StringIO is for unicode strings, which is not what
+            # 2.x's test runner emits.
+            output = io.BytesIO()
 
     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)
-- 
2.18.0.rc1.1.g3f1ff2140

  parent reply	other threads:[~2018-10-31  0:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-31  0:31 [Qemu-devel] [PULL 00/15] Python queue, 2018-10-30 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 01/15] scripts/device-crash-test: Remove devices that are not user_creatable anymore Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 02/15] iotests: Make nbd-fault-injector flush Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 03/15] iotests: Flush in iotests.py's QemuIoInteractive Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 04/15] iotests: Use Python byte strings where appropriate Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 05/15] iotests: Use // for Python integer division Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 06/15] iotests: Different iterator behavior in Python 3 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 07/15] iotests: Explicitly bequeath FDs in Python Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 08/15] iotests: 'new' module replacement in 169 Eduardo Habkost
2018-10-31  0:31 ` Eduardo Habkost [this message]
2018-10-31  0:31 ` [Qemu-devel] [PULL 10/15] iotests: Unify log outputs between Python 2 and 3 Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 11/15] Bootstrap Python venv for tests Eduardo Habkost
2018-11-06 13:10   ` Peter Maydell
2018-11-06 13:34     ` Philippe Mathieu-Daudé
2018-11-06 14:13       ` [Qemu-devel] [PATCH] tests: Fix Python 3 detection on older GNU make versions Eduardo Habkost
2018-11-06 14:27         ` Philippe Mathieu-Daudé
2018-11-06 14:38           ` Philippe Mathieu-Daudé
2018-11-06 15:40         ` Peter Maydell
2018-11-07  6:05         ` [Qemu-devel] [Qemu-block] " Markus Armbruster
2018-11-07 11:25           ` Peter Maydell
2018-11-07 12:49           ` Eduardo Habkost
2018-11-07 13:45             ` Peter Maydell
2018-11-07 15:34               ` Eduardo Habkost
2018-11-07 16:22                 ` Markus Armbruster
2018-11-08  1:13           ` Cleber Rosa
2018-11-08  8:45             ` Markus Armbruster
2018-11-08  9:11               ` Philippe Mathieu-Daudé
2018-11-08 12:43                 ` Markus Armbruster
2018-11-09 17:58                   ` Max Reitz
2018-11-12  9:07                     ` Markus Armbruster
2018-11-08 16:06               ` Cleber Rosa
2018-11-08 16:51                 ` Eduardo Habkost
2018-11-08 17:36                   ` Cleber Rosa
2018-11-08 18:26                     ` Eduardo Habkost
2018-11-09  0:31                       ` Cleber Rosa
2018-10-31  0:31 ` [Qemu-devel] [PULL 12/15] Acceptance tests: add make rule for running them Eduardo Habkost
2018-11-06 23:24   ` Paolo Bonzini
2018-11-28 17:25     ` Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 13/15] Travis support for the acceptance tests Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 14/15] scripts/decodetree.py: fix reference to attributes Eduardo Habkost
2018-10-31  0:31 ` [Qemu-devel] [PULL 15/15] scripts/qemu.py: use a more consistent docstring style Eduardo Habkost
2018-11-01  5:02 ` [Qemu-devel] [PULL 00/15] Python queue, 2018-10-30 no-reply
2018-11-01 13:54 ` Peter Maydell

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=20181031003120.26771-10-ehabkost@redhat.com \
    --to=ehabkost@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=peter.maydell@linaro.org \
    --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.