[clang] 8336819 - Use %errc to get text for system errors (#109852)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 26 11:11:32 PDT 2024
Author: Sean Perry
Date: 2024-09-26T14:11:29-04:00
New Revision: 83368191a21340a6c3a8f88b01ecae6433640957
URL: https://github.com/llvm/llvm-project/commit/83368191a21340a6c3a8f88b01ecae6433640957
DIFF: https://github.com/llvm/llvm-project/commit/83368191a21340a6c3a8f88b01ecae6433640957.diff
LOG: Use %errc to get text for system errors (#109852)
Several lit tests look for messages with text generated from strerror()
such as "no such file or directory". The value can change slightly from
system to system. Use the llvm-lit macro `%errc_<ERRCODE>` instead.
This was really noticable on z/OS because the generated text includes an
error code as well as the text.
Added:
Modified:
clang/test/Driver/cl-options.c
clang/test/Driver/cl-zc.cpp
clang/test/Driver/config-file-errs.c
clang/test/Driver/response-file-errs.c
llvm/test/Support/interrupts.test
llvm/test/tools/dsymutil/X86/remarks-linking-archive.text
llvm/test/tools/gold/X86/stats-file-option.ll
llvm/test/tools/llvm-ar/read-only-archive.test
llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
Removed:
################################################################################
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
index a6f338533ad763..07a25da0269fd3 100644
--- a/clang/test/Driver/cl-options.c
+++ b/clang/test/Driver/cl-options.c
@@ -406,9 +406,9 @@
// RUN: /Zm \
// RUN: /Zo \
// RUN: /Zo- \
-// RUN: -### -- %s 2>&1 | FileCheck -check-prefix=IGNORED %s
+// RUN: -### -- %s 2>&1 | FileCheck -DMSG=%errc_ENOENT -check-prefix=IGNORED %s
// IGNORED-NOT: argument unused during compilation
-// IGNORED-NOT: no such file or directory
+// IGNORED-NOT: [[MSG]]
// Don't confuse /openmp- with the /o flag:
// IGNORED-NOT: "-o" "penmp-.obj"
diff --git a/clang/test/Driver/cl-zc.cpp b/clang/test/Driver/cl-zc.cpp
index c7cf5b1b6525be..9b1ea53888ceb5 100644
--- a/clang/test/Driver/cl-zc.cpp
+++ b/clang/test/Driver/cl-zc.cpp
@@ -133,9 +133,9 @@
// RUN: /Zc:inline \
// RUN: /Zc:rvalueCast \
// RUN: /Zc:ternary \
-// RUN: -### -- %s 2>&1 | FileCheck -check-prefix=IGNORED %s
+// RUN: -### -- %s 2>&1 | FileCheck -DMSG=%errc_ENOENT -check-prefix=IGNORED %s
// IGNORED-NOT: argument unused during compilation
-// IGNORED-NOT: no such file or directory
+// IGNORED-NOT: [[MSG]]
// Negated form warns:
// RUN: %clang_cl /c \
diff --git a/clang/test/Driver/config-file-errs.c b/clang/test/Driver/config-file-errs.c
index 96b49b2acf8ab4..dc4fcdebf44bca 100644
--- a/clang/test/Driver/config-file-errs.c
+++ b/clang/test/Driver/config-file-errs.c
@@ -6,13 +6,13 @@
//--- Argument of '--config' must be existing file, if it is specified by path.
//
-// RUN: not %clang --config somewhere/nonexistent-config-file 2>&1 | FileCheck %s -check-prefix CHECK-NONEXISTENT
-// CHECK-NONEXISTENT: configuration file '{{.*}}somewhere{{.}}nonexistent-config-file' cannot be opened: {{[Nn]}}o such file or directory
+// RUN: not %clang --config somewhere/nonexistent-config-file 2>&1 | FileCheck -DMSG=%errc_ENOENT %s -check-prefix CHECK-NONEXISTENT
+// CHECK-NONEXISTENT: configuration file '{{.*}}somewhere{{.}}nonexistent-config-file' cannot be opened: [[MSG]]
//--- All '--config' arguments must be existing files.
//
-// RUN: not %clang --config %S/Inputs/config-4.cfg --config somewhere/nonexistent-config-file 2>&1 | FileCheck %s -check-prefix CHECK-NONEXISTENT
+// RUN: not %clang --config %S/Inputs/config-4.cfg --config somewhere/nonexistent-config-file 2>&1 | FileCheck -DMSG=%errc_ENOENT %s -check-prefix CHECK-NONEXISTENT
//--- Argument of '--config' must exist somewhere in well-known directories, if it is specified by bare name.
diff --git a/clang/test/Driver/response-file-errs.c b/clang/test/Driver/response-file-errs.c
index efde7575a51e06..5331c8e308f487 100644
--- a/clang/test/Driver/response-file-errs.c
+++ b/clang/test/Driver/response-file-errs.c
@@ -11,5 +11,5 @@
// If file in `@file` is a directory, it is an error.
//
-// RUN: not %clang @%S/Inputs -### 2>&1 | FileCheck --check-prefix=DIRECTORY %s
-// DIRECTORY: cannot not open file '{{.*}}Inputs': {{[Ii]}}s a directory
+// RUN: not %clang @%S/Inputs -### 2>&1 | FileCheck -DMSG=%errc_EISDIR --check-prefix=DIRECTORY %s
+// DIRECTORY: cannot not open file '{{.*}}Inputs': [[MSG]]
diff --git a/llvm/test/Support/interrupts.test b/llvm/test/Support/interrupts.test
index 4768ac61dff026..0966586106cc7a 100644
--- a/llvm/test/Support/interrupts.test
+++ b/llvm/test/Support/interrupts.test
@@ -1,9 +1,9 @@
## Show that SIGINT and similar signals don't cause crash messages to be
## reported.
# RUN: %python %s wrapper llvm-symbolizer 2> %t.err
-# RUN: FileCheck --input-file=%t.err %s
+# RUN: FileCheck -DMSG=%errc_ENOENT --input-file=%t.err %s
-# CHECK: {{.*}} error: 'foo': {{[Nn]}}o such file or directory
+# CHECK: {{.*}} error: 'foo': [[MSG]]
# CHECK-NOT: {{.+}}
import os
diff --git a/llvm/test/tools/dsymutil/X86/remarks-linking-archive.text b/llvm/test/tools/dsymutil/X86/remarks-linking-archive.text
index e23d0b620cac1b..47f9df82296fed 100644
--- a/llvm/test/tools/dsymutil/X86/remarks-linking-archive.text
+++ b/llvm/test/tools/dsymutil/X86/remarks-linking-archive.text
@@ -14,9 +14,9 @@ RUN: llvm-bcanalyzer -dump %t/basic.macho.remarks.archive.x86_64.dSYM/Contents/R
Check that we don't error if we're missing remark files from an archive, but we warn instead.
Instead of creating a new binary, just remove the remarks prepend path.
-RUN: dsymutil -oso-prepend-path=%p/../Inputs %t/basic.macho.remarks.archive.x86_64 2>&1 | FileCheck %s --check-prefix=CHECK-MISSING
+RUN: dsymutil -oso-prepend-path=%p/../Inputs %t/basic.macho.remarks.archive.x86_64 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=CHECK-MISSING
-RUN: dsymutil --linker parallel -oso-prepend-path=%p/../Inputs %t/basic.macho.remarks.archive.x86_64 2>&1 | FileCheck %s --check-prefix=CHECK-MISSING
+RUN: dsymutil --linker parallel -oso-prepend-path=%p/../Inputs %t/basic.macho.remarks.archive.x86_64 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=CHECK-MISSING
CHECK: <Meta
CHECK: <Remark Num
@@ -42,9 +42,9 @@ CHECK: <Remark Num
CHECK: <Remark Num
CHECK-NOT: <Remark Num
-CHECK-MISSING: warning: '/remarks/basic1.macho.remarks.x86_64.opt.bitstream': No such file or directory
+CHECK-MISSING: warning: '/remarks/basic1.macho.remarks.x86_64.opt.bitstream': [[MSG]]
CHECK-MISSING-NEXT: note: while processing {{.*}}libbasic.a(basic1.macho.remarks.x86_64.o)
-CHECK-MISSING-NEXT: warning: '/remarks/basic2.macho.remarks.x86_64.opt.bitstream': No such file or directory
+CHECK-MISSING-NEXT: warning: '/remarks/basic2.macho.remarks.x86_64.opt.bitstream': [[MSG]]
CHECK-MISSING-NEXT: note: while processing {{.*}}libbasic.a(basic2.macho.remarks.x86_64.o)
-CHECK-MISSING-NEXT: warning: '/remarks/basic3.macho.remarks.x86_64.opt.bitstream': No such file or directory
+CHECK-MISSING-NEXT: warning: '/remarks/basic3.macho.remarks.x86_64.opt.bitstream': [[MSG]]
CHECK-MISSING-NEXT: note: while processing {{.*}}libbasic.a(basic3.macho.remarks.x86_64.o)
diff --git a/llvm/test/tools/gold/X86/stats-file-option.ll b/llvm/test/tools/gold/X86/stats-file-option.ll
index a0009a7a874d77..c0c6ffd1f10802 100644
--- a/llvm/test/tools/gold/X86/stats-file-option.ll
+++ b/llvm/test/tools/gold/X86/stats-file-option.ll
@@ -21,5 +21,5 @@ define i32 @foo() {
; Try to save statistics to an invalid file.
; RUN: not %gold -plugin %llvmshlibdir/LLVMgold%shlibext -plugin-opt=stats-file=%t2/foo.stats \
-; RUN: -m elf_x86_64 -r -o %t.o %t.bc 2>&1 | FileCheck --check-prefix=ERROR %s
-; ERROR: LLVM gold plugin: No such file or directory
+; RUN: -m elf_x86_64 -r -o %t.o %t.bc 2>&1 | FileCheck -DMSG=%errc_ENOENT --check-prefix=ERROR %s
+; ERROR: LLVM gold plugin: [[MSG]]
diff --git a/llvm/test/tools/llvm-ar/read-only-archive.test b/llvm/test/tools/llvm-ar/read-only-archive.test
index 0365f6ad054da6..e3659903d8cb36 100644
--- a/llvm/test/tools/llvm-ar/read-only-archive.test
+++ b/llvm/test/tools/llvm-ar/read-only-archive.test
@@ -11,12 +11,12 @@
# RUN: chmod 444 %t/archive.a
# RUN: not llvm-ar r %t/archive.a %t/3.txt \
-# RUN: FileCheck %s --check-prefix=ERROR -DFILE=%t/archive.a
+# RUN: FileCheck %s --check-prefix=ERROR -DFILE=%t/archive.a -DMSG=%errc_ENOENT
-# ERROR: error: [[FILE]]: no such file or directory
+# ERROR: error: [[FILE]]: [[MSG]]
# RUN: not llvm-ar q %t/archive.a %t/3.txt \
-# RUN: FileCheck %s --check-prefix=ERROR -DFILE=%t/archive.a
+# RUN: FileCheck %s --check-prefix=ERROR -DFILE=%t/archive.a -DMSG=%errc_ENOENT
# RUN: not llvm-ar m %t/archive.a t/1.txt \
# RUN: FileCheck %s --check-prefix=ERROR-2 -DFILE=%t/archive.a
diff --git a/llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test b/llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
index 08c83c9f907fbf..e8668a7f198a98 100644
--- a/llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
+++ b/llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
@@ -3,7 +3,7 @@
; RUN: not llvm-ctxprof-util nofile.json 2>&1 | FileCheck %s --check-prefix=NO_CMD
; RUN: not llvm-ctxprof-util invalidCmd --input nofile.json 2>&1 | FileCheck %s --check-prefix=INVALID_CMD
; RUN: not llvm-ctxprof-util fromJSON nofile.json 2>&1 | FileCheck %s --check-prefix=NO_FLAG
-; RUN: not llvm-ctxprof-util fromJSON --input nofile.json 2>&1 | FileCheck %s --check-prefix=NO_FILE
+; RUN: not llvm-ctxprof-util fromJSON --input nofile.json 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=NO_FILE
; RUN: not llvm-ctxprof-util fromJSON --input %S/Inputs/bad.json 2>&1 | FileCheck %s --check-prefix=BAD_JSON
; RUN: not llvm-ctxprof-util fromJSON --input %S/Inputs/invalid-no-vector.json 2>&1 | FileCheck %s --check-prefix=NO_VECTOR
; RUN: not llvm-ctxprof-util fromJSON --input %S/Inputs/invalid-no-ctx.json 2>&1 | FileCheck %s --check-prefix=NO_CTX
@@ -15,7 +15,7 @@
; NO_CMD: Unknown subcommand 'nofile.json'
; INVALID_CMD: Unknown subcommand 'invalidCmd'
; NO_FLAG: Unknown command line argument 'nofile.json'.
-; NO_FILE: 'nofile.json': No such file or directory
+; NO_FILE: 'nofile.json': [[MSG]]
; BAD_JSON: Expected object key
; NO_VECTOR: expected array
; NO_CTX: missing value at (root)[0].Guid
More information about the cfe-commits
mailing list