[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v3 8/9] iotests: Modify imports for Python 3
From: |
Max Reitz |
Subject: |
[Qemu-block] [PATCH v3 8/9] iotests: Modify imports for Python 3 |
Date: |
Mon, 22 Oct 2018 14:53:06 +0100 |
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>
---
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.17.1
- [Qemu-block] [PATCH v3 0/9] iotests: Make them work for both Python 2 and 3, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 1/9] iotests: Make nbd-fault-injector flush, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 2/9] iotests: Flush in iotests.py's QemuIoInteractive, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 3/9] iotests: Use Python byte strings where appropriate, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 4/9] iotests: Use // for Python integer division, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 5/9] iotests: Different iterator behavior in Python 3, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 7/9] iotests: 'new' module replacement in 169, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 6/9] iotests: Explicitly bequeath FDs in Python, Max Reitz, 2018/10/22
- [Qemu-block] [PATCH v3 8/9] iotests: Modify imports for Python 3,
Max Reitz <=
- [Qemu-block] [PATCH v3 9/9] iotests: Unify log outputs between Python 2 and 3, Max Reitz, 2018/10/22
- Re: [Qemu-block] [PATCH v3 0/9] iotests: Make them work for both Python 2 and 3, Eduardo Habkost, 2018/10/26