@@ -34,9 +34,14 @@ import random
import argparse
from itertools import chain
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'python'))
-from qemu.machine import QEMUMachine
-from qemu.qmp import ConnectError
+try:
+ from qemu.machine import QEMUMachine
+ from qemu.qmp import ConnectError
+except ModuleNotFoundError:
+ target = os.path.realpath(__file__ + '/../../python')
+ print("script dependencies not found.")
+ print(f'try: pushd "{target}" && pip3 install [--user] . && popd')
+ sys.exit(1)
logger = logging.getLogger('device-crash-test')
dbg = logger.debug
@@ -24,9 +24,16 @@
import json
from graphviz import Digraph
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'python'))
-from qemu.qmp import QMPError
-from qemu.qmp.legacy import QEMUMonitorProtocol
+try:
+ from qemu.qmp import QMPError
+ from qemu.qmp.legacy import QEMUMonitorProtocol
+except ModuleNotFoundError:
+ print(
+ "qemu.qmp python package not found.",
+ "try: pip3 install [--user] qemu.qmp",
+ sep='\n', file=sys.stderr
+ )
+ sys.exit(1)
def perm(arr):
@@ -25,9 +25,14 @@
import socket
import json
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
-from qemu.machine import QEMUMachine
-from qemu.qmp import ConnectError
+try:
+ from qemu.machine import QEMUMachine
+ from qemu.qmp import ConnectError
+except ModuleNotFoundError:
+ target = os.path.realpath(__file__ + '/../../../python')
+ print("script dependencies not found.")
+ print(f'try: pushd "{target}" && pip3 install [--user] . && popd')
+ sys.exit(1)
def bench_block_job(cmd, cmd_args, qemu_args):
qemu.qmp can be found via the package index now. Direct the user to just install the package. When utilities from 'qemu' are needed, direct the user to install the package from that directory instead, which will pull in the 'qemu.qmp' package as a dependency. Signed-off-by: John Snow <jsnow@redhat.com> --- scripts/device-crash-test | 11 ++++++++--- scripts/render_block_graph.py | 13 ++++++++++--- scripts/simplebench/bench_block_job.py | 11 ++++++++--- 3 files changed, 26 insertions(+), 9 deletions(-)