Commit 93b78ea5 authored by Max Reitz's avatar Max Reitz
Browse files

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: default avatarMax Reitz <mreitz@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Message-id: 20191017133155.5327-4-mreitz@redhat.com
Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
parent 32558ce7
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -386,10 +386,10 @@ class FilePaths(object):
            qemu_img('create', img_path, '1G')
        # migration_sock_path is automatically deleted
    """
    def __init__(self, names):
    def __init__(self, names, base_dir=test_dir):
        self.paths = []
        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):
        return self.paths
@@ -406,8 +406,8 @@ class FilePath(FilePaths):
    """
    FilePath is a specialization of FilePaths that takes a single filename.
    """
    def __init__(self, name):
        super(FilePath, self).__init__([name])
    def __init__(self, name, base_dir=test_dir):
        super(FilePath, self).__init__([name], base_dir)

    def __enter__(self):
        return self.paths[0]
@@ -420,7 +420,7 @@ def file_path_remover():
            pass


def file_path(*names):
def file_path(*names, base_dir=test_dir):
    ''' Another way to get auto-generated filename that cleans itself up.

    Use is as simple as:
@@ -436,7 +436,7 @@ def file_path(*names):
    paths = []
    for name in names:
        filename = file_pattern(name)
        path = os.path.join(test_dir, filename)
        path = os.path.join(base_dir, filename)
        file_path_remover.paths.append(path)
        paths.append(path)