Make tests which first provide a negative assertion via 'not', then

a pipeline, and then a positive assertion via grep, use two RUN lines
instead.

Supporting these complex ideas of 'success' and 'failure' across
multiple stages of a pipeline is brittle in the shell world, and would
block switching to ShTest format; it only worked due to contrivances
introduced by the TclTest format.

Writing this as two separate RUN lines seems clearer in any event.

This is another step toward completely removing TclTests from lit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159524 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2012-07-02 12:23:19 +00:00
parent 38adf0bdaa
commit 563add96ce
9 changed files with 18 additions and 9 deletions

View File

@ -1,4 +1,5 @@
; RUN: not llvm-as < %s >/dev/null |& grep {struct initializer doesn't match struct element type}
; RUN: not llvm-as < %s >/dev/null 2> %t
; RUN: grep "struct initializer doesn't match struct element type" %t
; Test the case of a misformed constant initializer
; This should cause an assembler error, not an assertion failure!
constant { i32 } { float 1.0 }

View File

@ -1,4 +1,5 @@
; Found by inspection of the code
; RUN: not llvm-as < %s > /dev/null |& grep {constexpr requires integer operands}
; RUN: not llvm-as < %s > /dev/null 2> %t
; RUN: grep "constexpr requires integer operands" %t
global i32 ashr (float 1.0, float 2.0)

View File

@ -1,4 +1,5 @@
; Found by inspection of the code
; RUN: not llvm-as < %s > /dev/null |& grep {initializer with struct type has wrong # elements}
; RUN: not llvm-as < %s > /dev/null 2> %t
; RUN: grep "initializer with struct type has wrong # elements" %t
global {} { i32 7, float 1.0, i32 7, i32 8 }

View File

@ -1,6 +1,7 @@
; Test for PR902. This program is erroneous, but should not crash llvm-as.
; This tests that a simple error is caught and processed correctly.
; RUN: not llvm-as < %s >/dev/null |& grep {floating point constant invalid for type}
; RUN: not llvm-as < %s >/dev/null 2> %t
; RUN: grep "floating point constant invalid for type" %t
define void @test() {
add i32 1, 2.0

View File

@ -1,5 +1,6 @@
; PR 1258
; RUN: not llvm-as < %s >/dev/null |& grep {'%0' defined with type 'i1'}
; RUN: not llvm-as < %s >/dev/null 2> %t
; RUN: grep "'%0' defined with type 'i1'" %t
define i32 @test1(i32 %a, i32 %b) {
entry:

View File

@ -1,4 +1,5 @@
; RUN: not llvm-as < %s > /dev/null |& grep {expected top-level entity}
; RUN: not llvm-as < %s > /dev/null 2> %t
; RUN: grep "expected top-level entity" %t
; PR1577
@anInt = global i32 1

View File

@ -1,4 +1,5 @@
; RUN: not llvm-as < %s >/dev/null |& FileCheck %s
; RUN: not llvm-as < %s >/dev/null 2> %t
; RUN: FileCheck %s < %t
; Test the case of a incorrect indices type into struct
; CHECK: invalid getelementptr indices

View File

@ -1,4 +1,5 @@
; RUN: not llvm-dis < %s.bc > /dev/null |& FileCheck %s
; RUN: not llvm-dis < %s.bc > /dev/null 2> %t
; RUN: FileCheck %s < %t
; PR8494
; CHECK: Invalid MODULE_CODE_FUNCTION record

View File

@ -1,4 +1,5 @@
; RUN: not llvm-as < %s > /dev/null |& grep {basic block pointers are invalid}
; RUN: not llvm-as < %s > /dev/null 2> %t
; RUN: grep "basic block pointers are invalid" %t
define i32 @main() {
%foo = call i8* %llvm.stacksave()