iotests: Modify imports for Python 3

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>
This commit is contained in:
Max Reitz 2018-10-22 14:53:06 +01:00 committed by Eduardo Habkost
parent c1a65cba9c
commit 2d894bee1c
2 changed files with 14 additions and 6 deletions

View File

@ -29,6 +29,7 @@ import json
import signal import signal
import logging import logging
import atexit import atexit
import io
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'scripts')) sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'scripts'))
import qtest import qtest
@ -681,15 +682,19 @@ def main(supported_fmts=[], supported_oses=['linux'], supported_cache_modes=[],
verify_platform(supported_oses) verify_platform(supported_oses)
verify_cache_mode(supported_cache_modes) 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: if debug:
output = sys.stdout output = sys.stdout
verbosity = 2 verbosity = 2
sys.argv.remove('-d') sys.argv.remove('-d')
else: 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)) logging.basicConfig(level=(logging.DEBUG if debug else logging.WARN))

View File

@ -48,7 +48,10 @@ import sys
import socket import socket
import struct import struct
import collections 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 FAKE_DISK_SIZE = 8 * 1024 * 1024 * 1024 # 8 GB
@ -225,7 +228,7 @@ def parse_config(config):
return rules return rules
def load_rules(filename): def load_rules(filename):
config = ConfigParser.RawConfigParser() config = configparser.RawConfigParser()
with open(filename, 'rt') as f: with open(filename, 'rt') as f:
config.readfp(f, filename) config.readfp(f, filename)
return parse_config(config) return parse_config(config)