[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PULL 09/15] iotests: Modify imports for Python 3
From: |
Eduardo Habkost |
Subject: |
[Qemu-block] [PULL 09/15] iotests: Modify imports for Python 3 |
Date: |
Tue, 30 Oct 2018 21:31:14 -0300 |
From: Max Reitz <address@hidden>
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 <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Cleber Rosa <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
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
- [Qemu-block] [PULL 00/15] Python queue, 2018-10-30, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 03/15] iotests: Flush in iotests.py's QemuIoInteractive, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 02/15] iotests: Make nbd-fault-injector flush, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 06/15] iotests: Different iterator behavior in Python 3, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 05/15] iotests: Use // for Python integer division, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 01/15] scripts/device-crash-test: Remove devices that are not user_creatable anymore, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 04/15] iotests: Use Python byte strings where appropriate, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 07/15] iotests: Explicitly bequeath FDs in Python, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 08/15] iotests: 'new' module replacement in 169, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 09/15] iotests: Modify imports for Python 3,
Eduardo Habkost <=
- [Qemu-block] [PULL 11/15] Bootstrap Python venv for tests, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 12/15] Acceptance tests: add make rule for running them, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 13/15] Travis support for the acceptance tests, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 14/15] scripts/decodetree.py: fix reference to attributes, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 15/15] scripts/qemu.py: use a more consistent docstring style, Eduardo Habkost, 2018/10/30
- [Qemu-block] [PULL 10/15] iotests: Unify log outputs between Python 2 and 3, Eduardo Habkost, 2018/10/30