summaryrefslogtreecommitdiffstats
path: root/tests/migration
diff options
context:
space:
mode:
authorEduardo Habkost2018-06-08 14:29:43 +0200
committerEduardo Habkost2018-06-08 19:39:24 +0200
commitf03868bd5653265e97b253102d77d83ea85efdea (patch)
treef524a2198bb8492e8502326a112d465892d255b0 /tests/migration
parentMerge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180608'... (diff)
downloadqemu-f03868bd5653265e97b253102d77d83ea85efdea.tar.gz
qemu-f03868bd5653265e97b253102d77d83ea85efdea.tar.xz
qemu-f03868bd5653265e97b253102d77d83ea85efdea.zip
python: futurize -f libfuturize.fixes.fix_print_with_import
Change all Python code to use print as a function. This is necessary for Python 3 compatibility. Done using: $ py=$( (g grep -l -E '^#!.*python';find -name '*.py' -printf '%P\n';) | \ sort -u | grep -v README.sh4) $ futurize -w -f libfuturize.fixes.fix_print_with_import $py Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Fam Zheng <famz@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20180608122952.2009-2-ehabkost@redhat.com> [ehabkost: fixup tests/docker/docker.py] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'tests/migration')
-rw-r--r--tests/migration/guestperf/engine.py29
-rw-r--r--tests/migration/guestperf/plot.py17
-rw-r--r--tests/migration/guestperf/shell.py19
3 files changed, 34 insertions, 31 deletions
diff --git a/tests/migration/guestperf/engine.py b/tests/migration/guestperf/engine.py
index e14d4320b2..398e3f2706 100644
--- a/tests/migration/guestperf/engine.py
+++ b/tests/migration/guestperf/engine.py
@@ -1,3 +1,4 @@
+from __future__ import print_function
#
# Migration test main engine
#
@@ -117,7 +118,7 @@ class Engine(object):
# XXX how to get dst timings on remote host ?
if self._verbose:
- print "Sleeping %d seconds for initial guest workload run" % self._sleep
+ print("Sleeping %d seconds for initial guest workload run" % self._sleep)
sleep_secs = self._sleep
while sleep_secs > 1:
src_qemu_time.append(self._cpu_timing(src_pid))
@@ -126,7 +127,7 @@ class Engine(object):
sleep_secs -= 1
if self._verbose:
- print "Starting migration"
+ print("Starting migration")
if scenario._auto_converge:
resp = src.command("migrate-set-capabilities",
capabilities = [
@@ -216,7 +217,7 @@ class Engine(object):
if progress._status == "completed":
if self._verbose:
- print "Sleeping %d seconds for final guest workload run" % self._sleep
+ print("Sleeping %d seconds for final guest workload run" % self._sleep)
sleep_secs = self._sleep
while sleep_secs > 1:
time.sleep(1)
@@ -227,23 +228,23 @@ class Engine(object):
return [progress_history, src_qemu_time, src_vcpu_time]
if self._verbose and (loop % 20) == 0:
- print "Iter %d: remain %5dMB of %5dMB (total %5dMB @ %5dMb/sec)" % (
+ print("Iter %d: remain %5dMB of %5dMB (total %5dMB @ %5dMb/sec)" % (
progress._ram._iterations,
progress._ram._remaining_bytes / (1024 * 1024),
progress._ram._total_bytes / (1024 * 1024),
progress._ram._transferred_bytes / (1024 * 1024),
progress._ram._transfer_rate_mbs,
- )
+ ))
if progress._ram._iterations > scenario._max_iters:
if self._verbose:
- print "No completion after %d iterations over RAM" % scenario._max_iters
+ print("No completion after %d iterations over RAM" % scenario._max_iters)
src.command("migrate_cancel")
continue
if time.time() > (start + scenario._max_time):
if self._verbose:
- print "No completion after %d seconds" % scenario._max_time
+ print("No completion after %d seconds" % scenario._max_time)
src.command("migrate_cancel")
continue
@@ -251,7 +252,7 @@ class Engine(object):
progress._ram._iterations >= scenario._post_copy_iters and
not post_copy):
if self._verbose:
- print "Switching to post-copy after %d iterations" % scenario._post_copy_iters
+ print("Switching to post-copy after %d iterations" % scenario._post_copy_iters)
resp = src.command("migrate-start-postcopy")
post_copy = True
@@ -259,7 +260,7 @@ class Engine(object):
progress._ram._iterations >= scenario._pause_iters and
not paused):
if self._verbose:
- print "Pausing VM after %d iterations" % scenario._pause_iters
+ print("Pausing VM after %d iterations" % scenario._pause_iters)
resp = src.command("stop")
paused = True
@@ -348,7 +349,7 @@ class Engine(object):
if not log:
return []
if self._debug:
- print log
+ print(log)
regex = r"[^\s]+\s\((\d+)\):\sINFO:\s(\d+)ms\scopied\s\d+\sGB\sin\s(\d+)ms"
matcher = re.compile(regex)
@@ -407,7 +408,7 @@ class Engine(object):
if uri[0:5] == "unix:":
os.remove(uri[5:])
if self._verbose:
- print "Finished migration"
+ print("Finished migration")
src.shutdown()
dst.shutdown()
@@ -420,7 +421,7 @@ class Engine(object):
self._initrd, self._transport, self._sleep)
except Exception as e:
if self._debug:
- print "Failed: %s" % str(e)
+ print("Failed: %s" % str(e))
try:
src.shutdown()
except:
@@ -431,7 +432,7 @@ class Engine(object):
pass
if self._debug:
- print src.get_log()
- print dst.get_log()
+ print(src.get_log())
+ print(dst.get_log())
raise
diff --git a/tests/migration/guestperf/plot.py b/tests/migration/guestperf/plot.py
index bc42249e16..aa98912a82 100644
--- a/tests/migration/guestperf/plot.py
+++ b/tests/migration/guestperf/plot.py
@@ -1,3 +1,4 @@
+from __future__ import print_function
#
# Migration test graph plotting
#
@@ -588,7 +589,7 @@ class Plot(object):
"""
def generate_html(self, fh):
- print >>fh, """<html>
+ print("""<html>
<head>
<script type="text/javascript" src="plotly.min.js">
</script>
@@ -601,19 +602,19 @@ class Plot(object):
<h1>Migration report</h1>
<h2>Chart summary</h2>
<div id="chart">
-""" % self._generate_style()
- print >>fh, self._generate_chart()
- print >>fh, """
+""" % self._generate_style(), file=fh)
+ print(self._generate_chart(), file=fh)
+ print("""
</div>
<h2>Report details</h2>
<div id="report">
-"""
- print >>fh, self._generate_report()
- print >>fh, """
+""", file=fh)
+ print(self._generate_report(), file=fh)
+ print("""
</div>
</body>
</html>
-"""
+""", file=fh)
def generate(self, filename):
if filename is None:
diff --git a/tests/migration/guestperf/shell.py b/tests/migration/guestperf/shell.py
index b272978f47..a6b8cec1e0 100644
--- a/tests/migration/guestperf/shell.py
+++ b/tests/migration/guestperf/shell.py
@@ -1,3 +1,4 @@
+from __future__ import print_function
#
# Migration test command line shell integration
#
@@ -160,13 +161,13 @@ class Shell(BaseShell):
try:
report = engine.run(hardware, scenario)
if args.output is None:
- print report.to_json()
+ print(report.to_json())
else:
with open(args.output, "w") as fh:
- print >>fh, report.to_json()
+ print(report.to_json(), file=fh)
return 0
except Exception as e:
- print >>sys.stderr, "Error: %s" % str(e)
+ print("Error: %s" % str(e), file=sys.stderr)
if args.debug:
raise
return 1
@@ -199,11 +200,11 @@ class BatchShell(BaseShell):
name = os.path.join(comparison._name, scenario._name)
if not fnmatch.fnmatch(name, args.filter):
if args.verbose:
- print "Skipping %s" % name
+ print("Skipping %s" % name)
continue
if args.verbose:
- print "Running %s" % name
+ print("Running %s" % name)
dirname = os.path.join(args.output, comparison._name)
filename = os.path.join(dirname, scenario._name + ".json")
@@ -211,9 +212,9 @@ class BatchShell(BaseShell):
os.makedirs(dirname)
report = engine.run(hardware, scenario)
with open(filename, "w") as fh:
- print >>fh, report.to_json()
+ print(report.to_json(), file=fh)
except Exception as e:
- print >>sys.stderr, "Error: %s" % str(e)
+ print("Error: %s" % str(e), file=sys.stderr)
if args.debug:
raise
@@ -246,14 +247,14 @@ class PlotShell(object):
if len(args.reports) == 0:
- print >>sys.stderr, "At least one report required"
+ print("At least one report required", file=sys.stderr)
return 1
if not (args.qemu_cpu or
args.vcpu_cpu or
args.total_guest_cpu or
args.split_guest_cpu):
- print >>sys.stderr, "At least one chart type is required"
+ print("At least one chart type is required", file=sys.stderr)
return 1
reports = []