From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Thomas Huth <thuth@redhat.com>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: [PATCH 02/23] iotests.py: Store socket files in $SOCK_DIR
Date: Thu, 10 Oct 2019 17:24:36 +0200 [thread overview]
Message-ID: <20191010152457.17713-3-mreitz@redhat.com> (raw)
In-Reply-To: <20191010152457.17713-1-mreitz@redhat.com>
iotests.py itself does not store socket files, but it machine.py and
qtest.py do. iotests.py needs to pass the respective path to them, and
they need to adhere to it.
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
python/qemu/machine.py | 15 ++++++++++++---
python/qemu/qtest.py | 9 ++++++---
tests/qemu-iotests/iotests.py | 4 +++-
3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index 128a3d1dc2..2024e8b1b1 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -71,7 +71,7 @@ class QEMUMachine(object):
def __init__(self, binary, args=None, wrapper=None, name=None,
test_dir="/var/tmp", monitor_address=None,
- socket_scm_helper=None):
+ socket_scm_helper=None, sock_dir=None):
'''
Initialize a QEMUMachine
@@ -90,6 +90,8 @@ class QEMUMachine(object):
wrapper = []
if name is None:
name = "qemu-%d" % os.getpid()
+ if sock_dir is None:
+ sock_dir = test_dir
self._name = name
self._monitor_address = monitor_address
self._vm_monitor = None
@@ -106,12 +108,14 @@ class QEMUMachine(object):
self._qemu_full_args = None
self._test_dir = test_dir
self._temp_dir = None
+ self._sock_dir = sock_dir
self._launched = False
self._machine = None
self._console_set = False
self._console_device_type = None
self._console_address = None
self._console_socket = None
+ self._remove_files = []
# just in case logging wasn't configured by the main script:
logging.basicConfig()
@@ -236,8 +240,9 @@ class QEMUMachine(object):
if self._machine is not None:
args.extend(['-machine', self._machine])
if self._console_set:
- self._console_address = os.path.join(self._temp_dir,
+ self._console_address = os.path.join(self._sock_dir,
self._name + "-console.sock")
+ self._remove_files.append(self._console_address)
chardev = ('socket,id=console,path=%s,server,nowait' %
self._console_address)
args.extend(['-chardev', chardev])
@@ -253,8 +258,9 @@ class QEMUMachine(object):
if self._monitor_address is not None:
self._vm_monitor = self._monitor_address
else:
- self._vm_monitor = os.path.join(self._temp_dir,
+ self._vm_monitor = os.path.join(self._sock_dir,
self._name + "-monitor.sock")
+ self._remove_files.append(self._vm_monitor)
self._qemu_log_path = os.path.join(self._temp_dir, self._name + ".log")
self._qemu_log_file = open(self._qemu_log_path, 'wb')
@@ -279,6 +285,9 @@ class QEMUMachine(object):
shutil.rmtree(self._temp_dir)
self._temp_dir = None
+ while len(self._remove_files) > 0:
+ self._remove_if_exists(self._remove_files.pop())
+
def launch(self):
"""
Launch the VM and make sure we cleanup and expose the
diff --git a/python/qemu/qtest.py b/python/qemu/qtest.py
index 3f1d2cb325..d24ad04256 100644
--- a/python/qemu/qtest.py
+++ b/python/qemu/qtest.py
@@ -84,14 +84,17 @@ class QEMUQtestMachine(QEMUMachine):
'''A QEMU VM'''
def __init__(self, binary, args=None, name=None, test_dir="/var/tmp",
- socket_scm_helper=None):
+ socket_scm_helper=None, sock_dir=None):
if name is None:
name = "qemu-%d" % os.getpid()
+ if sock_dir is None:
+ sock_dir = test_dir
super(QEMUQtestMachine,
self).__init__(binary, args, name=name, test_dir=test_dir,
- socket_scm_helper=socket_scm_helper)
+ socket_scm_helper=socket_scm_helper,
+ sock_dir=sock_dir)
self._qtest = None
- self._qtest_path = os.path.join(test_dir, name + "-qtest.sock")
+ self._qtest_path = os.path.join(sock_dir, name + "-qtest.sock")
def _base_args(self):
args = super(QEMUQtestMachine, self)._base_args()
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 3a8f378f90..49cd205a97 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -57,6 +57,7 @@ qemu_opts = os.environ.get('QEMU_OPTIONS', '').strip().split(' ')
imgfmt = os.environ.get('IMGFMT', 'raw')
imgproto = os.environ.get('IMGPROTO', 'file')
test_dir = os.environ.get('TEST_DIR')
+sock_dir = os.environ.get('SOCK_DIR')
output_dir = os.environ.get('OUTPUT_DIR', '.')
cachemode = os.environ.get('CACHEMODE')
qemu_default_machine = os.environ.get('QEMU_DEFAULT_MACHINE')
@@ -445,7 +446,8 @@ class VM(qtest.QEMUQtestMachine):
name = "qemu%s-%d" % (path_suffix, os.getpid())
super(VM, self).__init__(qemu_prog, qemu_opts, name=name,
test_dir=test_dir,
- socket_scm_helper=socket_scm_helper)
+ socket_scm_helper=socket_scm_helper,
+ sock_dir=sock_dir)
self._num_drives = 0
def add_object(self, opts):
--
2.21.0
next prev parent reply other threads:[~2019-10-10 15:27 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-10 15:24 [PATCH 00/23] iotests: Add and use $SOCK_DIR Max Reitz
2019-10-10 15:24 ` [PATCH 01/23] iotests: Introduce $SOCK_DIR Max Reitz
2019-10-10 18:18 ` Eric Blake
2019-10-11 7:51 ` Max Reitz
2019-10-10 15:24 ` Max Reitz [this message]
2019-10-10 18:36 ` [PATCH 02/23] iotests.py: Store socket files in $SOCK_DIR Eric Blake
2019-10-11 7:21 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 03/23] iotests.py: Add @base_dir to FilePaths etc Max Reitz
2019-10-10 18:40 ` Eric Blake
2019-10-10 15:24 ` [PATCH 04/23] iotests: Filter $SOCK_DIR Max Reitz
2019-10-10 18:42 ` Eric Blake
2019-10-11 7:54 ` Max Reitz
2019-10-11 7:57 ` Thomas Huth
2019-10-10 19:50 ` Eric Blake
2019-10-11 7:57 ` Max Reitz
2019-10-10 15:24 ` [PATCH 05/23] iotests: Let common.nbd create socket in $SOCK_DIR Max Reitz
2019-10-10 18:59 ` Eric Blake
2019-10-10 15:24 ` [PATCH 06/23] iotests/083: Create " Max Reitz
2019-10-10 19:03 ` Eric Blake
2019-10-11 7:31 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 07/23] iotests/140: " Max Reitz
2019-10-10 19:05 ` Eric Blake
2019-10-11 7:34 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 08/23] iotests/143: " Max Reitz
2019-10-10 19:23 ` Eric Blake
2019-10-11 7:35 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 09/23] iotests/147: " Max Reitz
2019-10-10 19:23 ` Eric Blake
2019-10-11 7:36 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 10/23] iotests/181: " Max Reitz
2019-10-10 19:24 ` Eric Blake
2019-10-11 7:38 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 11/23] iotests/182: " Max Reitz
2019-10-10 19:24 ` Eric Blake
2019-10-11 7:38 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 12/23] iotests/183: " Max Reitz
2019-10-10 19:28 ` Eric Blake
2019-10-11 7:42 ` Thomas Huth
2019-10-10 15:24 ` [PATCH 13/23] iotests/192: " Max Reitz
2019-10-10 19:28 ` Eric Blake
2019-10-10 15:24 ` [PATCH 14/23] iotests/194: Create sockets " Max Reitz
2019-10-10 19:32 ` Eric Blake
2019-10-10 19:43 ` Eric Blake
2019-10-11 7:55 ` Max Reitz
2019-10-10 15:24 ` [PATCH 15/23] iotests/201: Create socket " Max Reitz
2019-10-10 19:39 ` Eric Blake
2019-10-10 15:24 ` [PATCH 16/23] iotests/205: " Max Reitz
2019-10-10 19:40 ` Eric Blake
2019-10-10 15:24 ` [PATCH 17/23] iotests/208: " Max Reitz
2019-10-10 19:41 ` Eric Blake
2019-10-10 15:24 ` [PATCH 18/23] iotests/209: " Max Reitz
2019-10-10 19:44 ` Eric Blake
2019-10-10 15:24 ` [PATCH 19/23] iotests/222: " Max Reitz
2019-10-10 19:45 ` Eric Blake
2019-10-10 15:24 ` [PATCH 20/23] iotests/223: " Max Reitz
2019-10-10 19:46 ` Eric Blake
2019-10-10 15:24 ` [PATCH 21/23] iotests/240: " Max Reitz
2019-10-10 19:46 ` Eric Blake
2019-10-10 15:24 ` [PATCH 22/23] iotests/267: " Max Reitz
2019-10-10 19:47 ` Eric Blake
2019-10-10 15:24 ` [PATCH 23/23] iotests: Drop TEST_DIR filter from _filter_nbd Max Reitz
2019-10-10 19:51 ` Eric Blake
2019-10-11 7:27 ` [PATCH 00/23] iotests: Add and use $SOCK_DIR Thomas Huth
2019-10-11 8:03 ` Max Reitz
2019-10-11 8:13 ` Thomas Huth
2019-10-11 8:54 ` Max Reitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191010152457.17713-3-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).