From 97095fc404d5bc58e411c193e8e86709a8c8e646 Mon Sep 17 00:00:00 2001 From: Davide Italiano Date: Mon, 14 Sep 2015 17:10:01 +0000 Subject: [PATCH] [llvm-mc] Better error handling in ENOENT case + test. This is a follow up to r247518. As a general note, I think we could do a much better job testing for error conditions in tools. I already anticipated in a previous mail, but while implementing this I noticed that the code coverage we have for error checking is pretty low. I can arbitrarily remove checks from several tools and the suite still passes. Differential Revision: http://reviews.llvm.org/D12846 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247582 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/tools/llvm-mc/basic.test | 2 ++ tools/llvm-mc/llvm-mc.cpp | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) create mode 100644 test/tools/llvm-mc/basic.test diff --git a/test/tools/llvm-mc/basic.test b/test/tools/llvm-mc/basic.test new file mode 100644 index 00000000000..69d8f311fba --- /dev/null +++ b/test/tools/llvm-mc/basic.test @@ -0,0 +1,2 @@ +# RUN: not llvm-mc %t.blah -o %t2 2>&1 | FileCheck --check-prefix=ENOENT %s +# ENOENT: {{.*}}.blah: {{[Nn]}}o such file or directory diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 678ad360330..6e6b748c3d2 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/tools/llvm-mc/llvm-mc.cpp @@ -395,15 +395,10 @@ int main(int argc, char **argv) { // construct the Triple object. Triple TheTriple(TripleName); - if (InputFilename != "-" && !sys::fs::exists(InputFilename)) { - errs() << ProgName << ": '" << InputFilename << "': " - << "No such file\n"; - return 1; - } ErrorOr> BufferPtr = MemoryBuffer::getFileOrSTDIN(InputFilename); if (std::error_code EC = BufferPtr.getError()) { - errs() << ProgName << ": " << EC.message() << '\n'; + errs() << InputFilename << ": " << EC.message() << '\n'; return 1; } MemoryBuffer *Buffer = BufferPtr->get(); -- 2.34.1