iotests.py: Add @base_dir to FilePaths etc.

Specifying this optional parameter allows creating temporary files in
other directories than the test_dir; for example in sock_dir.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20191017133155.5327-4-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Max Reitz 2019-10-17 15:31:35 +02:00
parent 32558ce7a4
commit 93b78ea5f6
1 changed files with 6 additions and 6 deletions

View File

@ -386,10 +386,10 @@ class FilePaths(object):
qemu_img('create', img_path, '1G') qemu_img('create', img_path, '1G')
# migration_sock_path is automatically deleted # migration_sock_path is automatically deleted
""" """
def __init__(self, names): def __init__(self, names, base_dir=test_dir):
self.paths = [] self.paths = []
for name in names: for name in names:
self.paths.append(os.path.join(test_dir, file_pattern(name))) self.paths.append(os.path.join(base_dir, file_pattern(name)))
def __enter__(self): def __enter__(self):
return self.paths return self.paths
@ -406,8 +406,8 @@ class FilePath(FilePaths):
""" """
FilePath is a specialization of FilePaths that takes a single filename. FilePath is a specialization of FilePaths that takes a single filename.
""" """
def __init__(self, name): def __init__(self, name, base_dir=test_dir):
super(FilePath, self).__init__([name]) super(FilePath, self).__init__([name], base_dir)
def __enter__(self): def __enter__(self):
return self.paths[0] return self.paths[0]
@ -420,7 +420,7 @@ def file_path_remover():
pass pass
def file_path(*names): def file_path(*names, base_dir=test_dir):
''' Another way to get auto-generated filename that cleans itself up. ''' Another way to get auto-generated filename that cleans itself up.
Use is as simple as: Use is as simple as:
@ -436,7 +436,7 @@ def file_path(*names):
paths = [] paths = []
for name in names: for name in names:
filename = file_pattern(name) filename = file_pattern(name)
path = os.path.join(test_dir, filename) path = os.path.join(base_dir, filename)
file_path_remover.paths.append(path) file_path_remover.paths.append(path)
paths.append(path) paths.append(path)