diff --git a/llvm/test/tools/llvm-elfabi/fail-file-write-windows.test b/llvm/test/tools/llvm-elfabi/fail-file-write-windows.test --- a/llvm/test/tools/llvm-elfabi/fail-file-write-windows.test +++ b/llvm/test/tools/llvm-elfabi/fail-file-write-windows.test @@ -3,7 +3,7 @@ # REQUIRES: system-windows # RUN: touch %t.TestFile # RUN: chmod 400 %t.TestFile -# RUN: not llvm-elfabi %s --output-target=elf64-little %t.TestFile 2>&1 | FileCheck %s --check-prefix=ERR +# RUN: not llvm-elfabi %s --output-target=elf64-little %t.TestFile 2>&1 | FileCheck -DMSG=%errc_EACCES %s --check-prefix=ERR # RUN: chmod 777 %t.TestFile # RUN: rm -rf %t.TestFile @@ -13,4 +13,4 @@ Symbols: {} ... -# ERR: error: permission denied +# ERR: error: [[MSG]] diff --git a/llvm/utils/lit/lit/llvm/config.py b/llvm/utils/lit/lit/llvm/config.py --- a/llvm/utils/lit/lit/llvm/config.py +++ b/llvm/utils/lit/lit/llvm/config.py @@ -4,6 +4,7 @@ import re import subprocess import sys +import errno import lit.util from lit.llvm.subst import FindTool @@ -346,21 +347,17 @@ return True def add_err_msg_substitutions(self): - if (sys.platform == 'zos'): - self.config.substitutions.append(('%errc_ENOENT', '\'EDC5129I No such file or directory.\'')) - self.config.substitutions.append(('%errc_EISDIR', '\'EDC5123I Is a directory.\'')) - self.config.substitutions.append(('%errc_EINVAL', '\'EDC5121I Invalid argument.\'')) - self.config.substitutions.append(('%errc_EACCES', '\'EDC5111I Permission denied.\'')) - elif (sys.platform == 'win32'): + host_cxx = getattr(self.config, 'host_cxx', None) + if (sys.platform == 'win32' and 'MSYS' not in host_cxx): self.config.substitutions.append(('%errc_ENOENT', '\'no such file or directory\'')) self.config.substitutions.append(('%errc_EISDIR', '\'is a directory\'')) self.config.substitutions.append(('%errc_EINVAL', '\'invalid argument\'')) self.config.substitutions.append(('%errc_EACCES', '\'permission denied\'')) else: - self.config.substitutions.append(('%errc_ENOENT', '\'No such file or directory\'')) - self.config.substitutions.append(('%errc_EISDIR', '\'Is a directory\'')) - self.config.substitutions.append(('%errc_EINVAL', '\'Invalid argument\'')) - self.config.substitutions.append(('%errc_EACCES', '\'Permission denied\'')) + self.config.substitutions.append(('%errc_ENOENT', '\'' + os.strerror(errno.ENOENT) + '\'')) + self.config.substitutions.append(('%errc_EISDIR', '\'' + os.strerror(errno.EISDIR) + '\'')) + self.config.substitutions.append(('%errc_EINVAL', '\'' + os.strerror(errno.EINVAL) + '\'')) + self.config.substitutions.append(('%errc_EACCES', '\'' + os.strerror(errno.EACCES) + '\'')) def use_default_substitutions(self): tool_patterns = [