[llvm] r215127 - FileCheck: Add a flag to allow checking empty input (original) (raw)

Justin Bogner mail at justinbogner.com
Thu Aug 7 11:40:37 PDT 2014


Author: bogner Date: Thu Aug 7 13:40:37 2014 New Revision: 215127

URL: http://llvm.org/viewvc/llvm-project?rev=215127&view=rev Log: FileCheck: Add a flag to allow checking empty input

Currently FileCheck errors out on empty input. This is usually the right thing to do, but makes testing things like "this command does not emit some error message" hard to test. This usually leads to people using "command 2>&1 | count 0" instead, and then the bots that use guard malloc fail a few hours later.

By adding a flag to FileCheck that allows empty inputs, we can make tests that consist entirely of "CHECK-NOT" lines feasible.

Added: llvm/trunk/test/FileCheck/check-empty.txt Modified: llvm/trunk/utils/FileCheck/FileCheck.cpp

Added: llvm/trunk/test/FileCheck/check-empty.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FileCheck/check-empty.txt?rev=215127&view=auto

--- llvm/trunk/test/FileCheck/check-empty.txt (added) +++ llvm/trunk/test/FileCheck/check-empty.txt Thu Aug 7 13:40:37 2014 @@ -0,0 +1,11 @@ +// RUN: not FileCheck -check-prefix=FOO %s </dev/null 2>&1 | FileCheck -check-prefix=EMPTY-ERR %s +// RUN: not FileCheck -check-prefix=NOFOO %s </dev/null 2>&1 | FileCheck -check-prefix=EMPTY-ERR %s +// RUN: not FileCheck -check-prefix=FOO -allow-empty %s </dev/null 2>&1 | FileCheck -check-prefix=NO-EMPTY-ERR -check-prefix=NOT-FOUND %s +// RUN: FileCheck -check-prefix=NOFOO -allow-empty %s </dev/null 2>&1 | FileCheck -allow-empty -check-prefix=NO-EMPTY-ERR %s + +; FOO: foo +; NOFOO-NOT: foo + +; EMPTY-ERR: FileCheck error: '-' is empty. +; NO-EMPTY-ERR-NOT: FileCheck error: '-' is empty. +; NOT-FOUND: error: expected string not found in input

Modified: llvm/trunk/utils/FileCheck/FileCheck.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/FileCheck/FileCheck.cpp?rev=215127&r1=215126&r2=215127&view=diff

--- llvm/trunk/utils/FileCheck/FileCheck.cpp (original) +++ llvm/trunk/utils/FileCheck/FileCheck.cpp Thu Aug 7 13:40:37 2014 @@ -57,6 +57,11 @@ static cl::liststd::string ImplicitChe "this pattern occur which are not matched by a positive pattern"), cl::value_desc("pattern"));

+static cl::opt AllowEmptyInput(

@@ -1260,7 +1265,7 @@ int main(int argc, char **argv) { } std::unique_ptr &File = FileOrErr.get();



More information about the llvm-commits mailing list