diff options
author | Yonggang Luo <luoyonggang@gmail.com> | 2020-08-26 23:10:02 +0800 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-08-27 18:52:30 +0200 |
commit | cb23fd474035f7232a462dbcad8e61e6b1fa12f1 (patch) | |
tree | 1627fda2210e7c4652ed3d5df5e8eeb923e58805 /scripts/mtest2make.py | |
parent | 1a4db552d8ee7efe9202f712de874e52900a5915 (diff) |
meson: fix relpath failure on Win32
On win32, os.path.relpath can raise an exception when computing
for example C:/msys64/mingw64/x.exe relative to E:/path/qemu-build.
Use try...except to avoid this, just using an absolute path in
this case.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/mtest2make.py')
-rw-r--r-- | scripts/mtest2make.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py index bdb257bbd9..d7a51bf97e 100644 --- a/scripts/mtest2make.py +++ b/scripts/mtest2make.py @@ -53,9 +53,16 @@ i = 0 for test in json.load(sys.stdin): env = ' '.join(('%s=%s' % (shlex.quote(k), shlex.quote(v)) for k, v in test['env'].items())) - executable = os.path.relpath(test['cmd'][0]) + executable = test['cmd'][0] + try: + executable = os.path.relpath(executable) + except: + pass if test['workdir'] is not None: - test['cmd'][0] = os.path.relpath(test['cmd'][0], test['workdir']) + try: + test['cmd'][0] = os.path.relpath(executable, test['workdir']) + except: + test['cmd'][0] = executable else: test['cmd'][0] = executable cmd = '$(.test.env) %s %s' % (env, ' '.join((shlex.quote(x) for x in test['cmd']))) |