diff options
author | Eli Bendersky <eliben@google.com> | 2013-04-09 16:51:13 +0000 |
---|---|---|
committer | Eli Bendersky <eliben@google.com> | 2013-04-09 16:51:13 +0000 |
commit | d7170ea5a8faf37b94884c067dfbceea01762498 (patch) | |
tree | d57708bb4e99aa69a6ad2e2f5b2c4ab14940d8c3 /test/Linker | |
parent | f6cfc15705140cc958b784a1bc98f7f0f09be6be (diff) | |
download | llvm-d7170ea5a8faf37b94884c067dfbceea01762498.tar.gz llvm-d7170ea5a8faf37b94884c067dfbceea01762498.tar.bz2 llvm-d7170ea5a8faf37b94884c067dfbceea01762498.tar.xz |
Rewrite test/Linker tests to use FileCheck instead of grep.
Some translations here are not 1x1 because there are grep|grep
chains that are non-trivial to implement in terms of FileCheck features. I
made an effort for the tests to remain as similar as possible; do let me know
if you notice anything fishy. The good news are that some buggy tests were
fixed (grep | not grep - a bug waiting to happen).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179102 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Linker')
25 files changed, 57 insertions, 34 deletions
diff --git a/test/Linker/2003-01-30-LinkerRename.ll b/test/Linker/2003-01-30-LinkerRename.ll index e7431ec158..cbf7541334 100644 --- a/test/Linker/2003-01-30-LinkerRename.ll +++ b/test/Linker/2003-01-30-LinkerRename.ll @@ -3,7 +3,8 @@ ; RUN: echo "define internal i32 @foo() { ret i32 7 } " | llvm-as > %t.1.bc ; RUN: llvm-as %s -o %t.2.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep "@foo()" | grep -v internal +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: internal{{.*}}@foo{{[0-9]}}() define i32 @foo() { ret i32 0 } diff --git a/test/Linker/2003-01-30-LinkerTypeRename.ll b/test/Linker/2003-01-30-LinkerTypeRename.ll index 94fb5e0826..d61eb6d7ab 100644 --- a/test/Linker/2003-01-30-LinkerTypeRename.ll +++ b/test/Linker/2003-01-30-LinkerTypeRename.ll @@ -3,8 +3,9 @@ ; RUN: echo "%%Ty = type opaque @GV = external global %%Ty*" | llvm-as > %t.1.bc ; RUN: llvm-as < %s > %t.2.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep "%%Ty " | not grep opaque +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: = global %Ty %Ty = type {i32} -@GV = global %Ty* null
\ No newline at end of file +@GV = global %Ty* null diff --git a/test/Linker/2003-04-23-LinkOnceLost.ll b/test/Linker/2003-04-23-LinkOnceLost.ll index 98a943a534..e4528906e0 100644 --- a/test/Linker/2003-04-23-LinkOnceLost.ll +++ b/test/Linker/2003-04-23-LinkOnceLost.ll @@ -4,7 +4,8 @@ ; RUN: echo " define linkonce void @foo() { ret void } " | \ ; RUN: llvm-as -o %t.2.bc ; RUN: llvm-as %s -o %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep foo | grep linkonce +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: linkonce{{.*}}foo declare void @foo() diff --git a/test/Linker/2003-05-31-LinkerRename.ll b/test/Linker/2003-05-31-LinkerRename.ll index dff861dc4b..2e734beba6 100644 --- a/test/Linker/2003-05-31-LinkerRename.ll +++ b/test/Linker/2003-05-31-LinkerRename.ll @@ -6,7 +6,8 @@ ; RUN: echo " define internal i32 @foo() { ret i32 7 } " | llvm-as > %t.1.bc ; RUN: llvm-as < %s > %t.2.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep internal | not grep "@foo(" +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: internal {{.*}} @foo{{[0-9]}}( declare i32 @foo() diff --git a/test/Linker/2003-08-23-GlobalVarLinking.ll b/test/Linker/2003-08-23-GlobalVarLinking.ll index e934836a61..122bc41f55 100644 --- a/test/Linker/2003-08-23-GlobalVarLinking.ll +++ b/test/Linker/2003-08-23-GlobalVarLinking.ll @@ -1,7 +1,8 @@ ; RUN: llvm-as < %s > %t.out1.bc ; RUN: echo "%%T1 = type opaque %%T2 = type opaque @S = external global { i32, %%T1* } declare void @F(%%T2*)"\ ; RUN: | llvm-as > %t.out2.bc -; RUN: llvm-link %t.out1.bc %t.out2.bc -S | not grep opaque +; RUN: llvm-link %t.out1.bc %t.out2.bc -S | FileCheck %s +; CHECK-NOT: opaque ; After linking this testcase, there should be no opaque types left. The two ; S's should cause the opaque type to be resolved to 'int'. diff --git a/test/Linker/2003-08-24-InheritPtrSize.ll b/test/Linker/2003-08-24-InheritPtrSize.ll index 51d544b83f..dbaf9bc111 100644 --- a/test/Linker/2003-08-24-InheritPtrSize.ll +++ b/test/Linker/2003-08-24-InheritPtrSize.ll @@ -3,7 +3,8 @@ ; RUN: llvm-as < %s > %t.out1.bc ; RUN: echo "" | llvm-as > %t.out2.bc -; RUN: llvm-link %t.out1.bc %t.out2.bc 2>&1 | not grep warning +; RUN: llvm-link %t.out1.bc %t.out2.bc 2>&1 | FileCheck %s +; CHECK-NOT: warning target datalayout = "e-p:64:64" diff --git a/test/Linker/2004-12-03-DisagreeingType.ll b/test/Linker/2004-12-03-DisagreeingType.ll index 73d7a40550..63e1529925 100644 --- a/test/Linker/2004-12-03-DisagreeingType.ll +++ b/test/Linker/2004-12-03-DisagreeingType.ll @@ -1,7 +1,8 @@ ; RUN: echo "@G = weak global {{{{double}}}} zeroinitializer " | \ ; RUN: llvm-as > %t.out2.bc ; RUN: llvm-as < %s > %t.out1.bc -; RUN: llvm-link %t.out1.bc %t.out2.bc -S | not grep "}" +; RUN: llvm-link %t.out1.bc %t.out2.bc -S | FileCheck %s +; CHECK-NOT: } ; When linked, the global above should be eliminated, being merged with the ; global below. diff --git a/test/Linker/2005-02-12-ConstantGlobals-2.ll b/test/Linker/2005-02-12-ConstantGlobals-2.ll index 30bfafeb13..7d2e813146 100644 --- a/test/Linker/2005-02-12-ConstantGlobals-2.ll +++ b/test/Linker/2005-02-12-ConstantGlobals-2.ll @@ -3,6 +3,7 @@ ; RUN: echo "@X = external constant i32" | llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep "global i32 7" +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: global i32 7 @X = global i32 7 diff --git a/test/Linker/2005-02-12-ConstantGlobals.ll b/test/Linker/2005-02-12-ConstantGlobals.ll index 93709cf50b..db990604d9 100644 --- a/test/Linker/2005-02-12-ConstantGlobals.ll +++ b/test/Linker/2005-02-12-ConstantGlobals.ll @@ -3,6 +3,7 @@ ; RUN: echo "@X = global i32 7" | llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep "global i32 7" +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: global i32 7 @X = external constant i32 ; <i32*> [#uses=0] diff --git a/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll b/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll index d7a34c841e..b99b3a8237 100644 --- a/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll +++ b/test/Linker/2005-12-06-AppendingZeroLengthArrays.ll @@ -1,7 +1,8 @@ ; RUN: echo " @G = appending global [0 x i32] zeroinitializer " | \ ; RUN: llvm-as > %t.out2.bc ; RUN: llvm-as < %s > %t.out1.bc -; RUN: llvm-link %t.out1.bc %t.out2.bc -S | grep "@G =" +; RUN: llvm-link %t.out1.bc %t.out2.bc -S | FileCheck %s +; CHECK: @G = ; When linked, the globals should be merged, and the result should still ; be named '@G'. diff --git a/test/Linker/2006-06-15-GlobalVarAlignment.ll b/test/Linker/2006-06-15-GlobalVarAlignment.ll index eec8f637be..c9f9b0e2ab 100644 --- a/test/Linker/2006-06-15-GlobalVarAlignment.ll +++ b/test/Linker/2006-06-15-GlobalVarAlignment.ll @@ -2,6 +2,7 @@ ; RUN: echo "@X = global i32 7, align 8" | llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep "align 8" +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: align 8 @X = weak global i32 7, align 4 diff --git a/test/Linker/2008-03-07-DroppedSection_a.ll b/test/Linker/2008-03-07-DroppedSection_a.ll index ec9d5c26ed..58baad95e4 100644 --- a/test/Linker/2008-03-07-DroppedSection_a.ll +++ b/test/Linker/2008-03-07-DroppedSection_a.ll @@ -1,7 +1,8 @@ ; RUN: llvm-as < %s > %t.bc ; RUN: llvm-as < %p/2008-03-07-DroppedSection_b.ll > %t2.bc ; RUN: llvm-link %t.bc %t2.bc -o %t3.bc -; RUN: llvm-dis < %t3.bc | grep ".data.init_task" +; RUN: llvm-dis < %t3.bc | FileCheck %s +; CHECK: .data.init_task ; ModuleID = 't.bc' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" diff --git a/test/Linker/2008-03-07-DroppedSection_b.ll b/test/Linker/2008-03-07-DroppedSection_b.ll index 63b64f6aa1..9bcb80d796 100644 --- a/test/Linker/2008-03-07-DroppedSection_b.ll +++ b/test/Linker/2008-03-07-DroppedSection_b.ll @@ -1,7 +1,8 @@ ; RUN: llvm-as < %s > %t.bc ; RUN: llvm-as < %p/2008-03-07-DroppedSection_a.ll > %t2.bc ; RUN: llvm-link %t.bc %t2.bc -o %t3.bc -; RUN: llvm-dis < %t3.bc | grep ".data.init_task" +; RUN: llvm-dis < %t3.bc | FileCheck %s +; CHECK: .data.init_task ; ModuleID = 'u.bc' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" diff --git a/test/Linker/2008-06-26-AddressSpace.ll b/test/Linker/2008-06-26-AddressSpace.ll index e1d35741e7..d4310bc816 100644 --- a/test/Linker/2008-06-26-AddressSpace.ll +++ b/test/Linker/2008-06-26-AddressSpace.ll @@ -2,8 +2,9 @@ ; in different modules. ; RUN: llvm-as %s -o %t.foo1.bc ; RUN: echo | llvm-as -o %t.foo2.bc -; RUN: llvm-link %t.foo2.bc %t.foo1.bc -S | grep "addrspace(2)" -; RUN: llvm-link %t.foo1.bc %t.foo2.bc -S | grep "addrspace(2)" +; RUN: llvm-link %t.foo2.bc %t.foo1.bc -S | FileCheck %s +; RUN: llvm-link %t.foo1.bc %t.foo2.bc -S | FileCheck %s +; CHECK: addrspace(2) ; rdar://6038021 @G = addrspace(2) global i32 256 diff --git a/test/Linker/2011-08-18-unique-class-type.ll b/test/Linker/2011-08-18-unique-class-type.ll index cae1245522..328e83bd07 100644 --- a/test/Linker/2011-08-18-unique-class-type.ll +++ b/test/Linker/2011-08-18-unique-class-type.ll @@ -1,4 +1,6 @@ -; RUN: llvm-link %s %p/2011-08-18-unique-class-type2.ll -S -o - | grep DW_TAG_class_type | count 1 +; RUN: llvm-link %s %p/2011-08-18-unique-class-type2.ll -S -o - | FileCheck %s +; CHECK: DW_TAG_class_type +; CHECK-NOT: DW_TAG_class_type ; Test to check there is only one MDNode for class A after linking. target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/test/Linker/2011-08-18-unique-debug-type.ll b/test/Linker/2011-08-18-unique-debug-type.ll index 696fdb3108..cc0df4d016 100644 --- a/test/Linker/2011-08-18-unique-debug-type.ll +++ b/test/Linker/2011-08-18-unique-debug-type.ll @@ -1,6 +1,6 @@ - -; RUN: llvm-link %s %p/2011-08-18-unique-debug-type2.ll -S -o - | grep "int" | grep -v "^; ModuleID" | count 1 +; RUN: llvm-link %s %p/2011-08-18-unique-debug-type2.ll -S -o - | FileCheck %s ; Test to check only one MDNode for "int" after linking. +; CHECK: !"int" target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-macosx10.7.0" diff --git a/test/Linker/AppendingLinkage.ll b/test/Linker/AppendingLinkage.ll index 014ead91bd..5beff5a107 100644 --- a/test/Linker/AppendingLinkage.ll +++ b/test/Linker/AppendingLinkage.ll @@ -3,7 +3,8 @@ ; RUN: echo "@X = appending global [1 x i32] [i32 8] " | \ ; RUN: llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep 7 | grep 4 | grep 8 +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: [i32 7, i32 4, i32 8] @X = appending global [2 x i32] [ i32 7, i32 4 ] ; <[2 x i32]*> [#uses=2] @Y = global i32* getelementptr ([2 x i32]* @X, i64 0, i64 0) ; <i32**> [#uses=0] diff --git a/test/Linker/AppendingLinkage2.ll b/test/Linker/AppendingLinkage2.ll index 7385efb1f9..341ca1606b 100644 --- a/test/Linker/AppendingLinkage2.ll +++ b/test/Linker/AppendingLinkage2.ll @@ -3,6 +3,7 @@ ; RUN: echo "@X = appending global [1 x i32] [i32 8] " | \ ; RUN: llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep 7 | grep 8 +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: [i32 7, i32 8] @X = appending global [1 x i32] [ i32 7 ] ; <[1 x i32]*> [#uses=0] diff --git a/test/Linker/ConstantGlobals1.ll b/test/Linker/ConstantGlobals1.ll index 716eb3d02e..a2bb6fbfba 100644 --- a/test/Linker/ConstantGlobals1.ll +++ b/test/Linker/ConstantGlobals1.ll @@ -3,7 +3,8 @@ ; RUN: echo "@X = constant [1 x i32] [i32 8] " | \ ; RUN: llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep constant +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: constant @X = external global [1 x i32] ; <[1 x i32]*> [#uses=0] diff --git a/test/Linker/ConstantGlobals2.ll b/test/Linker/ConstantGlobals2.ll index ad0f8e25f2..4713779987 100644 --- a/test/Linker/ConstantGlobals2.ll +++ b/test/Linker/ConstantGlobals2.ll @@ -3,7 +3,8 @@ ; RUN: echo "@X = external global [1 x i32] " | \ ; RUN: llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep constant +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: constant @X = constant [1 x i32] [ i32 12 ] ; <[1 x i32]*> [#uses=0] diff --git a/test/Linker/ConstantGlobals3.ll b/test/Linker/ConstantGlobals3.ll index 5aa26bc29b..6b4ed24c31 100644 --- a/test/Linker/ConstantGlobals3.ll +++ b/test/Linker/ConstantGlobals3.ll @@ -3,6 +3,7 @@ ; RUN: echo "@X = external constant [1 x i32] " | \ ; RUN: llvm-as > %t.2.bc ; RUN: llvm-as < %s > %t.1.bc -; RUN: llvm-link %t.1.bc %t.2.bc -S | grep constant +; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s +; CHECK: constant @X = external global [1 x i32] ; <[1 x i32]*> [#uses=0] diff --git a/test/Linker/link-global-to-func.ll b/test/Linker/link-global-to-func.ll index 9d969d768d..4d83fe59e8 100644 --- a/test/Linker/link-global-to-func.ll +++ b/test/Linker/link-global-to-func.ll @@ -1,7 +1,8 @@ ; RUN: llvm-as %s -o %t1.bc ; RUN: echo "declare void @__eprintf(i8*, i8*, i32, i8*) noreturn define void @foo() { tail call void @__eprintf( i8* undef, i8* undef, i32 4, i8* null ) noreturn nounwind unreachable }" | llvm-as -o %t2.bc -; RUN: llvm-link %t2.bc %t1.bc -S | grep __eprintf -; RUN: llvm-link %t1.bc %t2.bc -S | grep __eprintf +; RUN: llvm-link %t2.bc %t1.bc -S | FileCheck %s +; RUN: llvm-link %t1.bc %t2.bc -S | FileCheck %s +; CHECK: __eprintf ; rdar://6072702 diff --git a/test/Linker/linknamedmdnode.ll b/test/Linker/linknamedmdnode.ll index e6b779f1fc..73e7554a90 100644 --- a/test/Linker/linknamedmdnode.ll +++ b/test/Linker/linknamedmdnode.ll @@ -1,6 +1,7 @@ ; RUN: llvm-as < %s > %t.bc ; RUN: llvm-as < %p/linknamedmdnode2.ll > %t2.bc -; RUN: llvm-link %t.bc %t2.bc -S | grep "!llvm.stuff = !{!0, !1}" +; RUN: llvm-link %t.bc %t2.bc -S | FileCheck %s +; CHECK: !llvm.stuff = !{!0, !1} !0 = metadata !{i32 42} !llvm.stuff = !{!0} diff --git a/test/Linker/redefinition.ll b/test/Linker/redefinition.ll index 23ba6a100f..64a8c341fe 100644 --- a/test/Linker/redefinition.ll +++ b/test/Linker/redefinition.ll @@ -3,8 +3,7 @@ ; RUN: llvm-as %s -o %t.foo1.bc ; RUN: llvm-as %s -o %t.foo2.bc ; RUN: echo "define void @foo(i32 %x) { ret void }" | llvm-as -o %t.foo3.bc -; RUN: not llvm-link %t.foo1.bc %t.foo2.bc -o %t.bc 2>&1 | \ -; RUN: grep "symbol multiply defined" -; RUN: not llvm-link %t.foo1.bc %t.foo3.bc -o %t.bc 2>&1 | \ -; RUN: grep "symbol multiply defined" +; RUN: not llvm-link %t.foo1.bc %t.foo2.bc -o %t.bc 2>&1 | FileCheck %s +; RUN: not llvm-link %t.foo1.bc %t.foo3.bc -o %t.bc 2>&1 | FileCheck %s +; CHECK: symbol multiply defined define void @foo() { ret void } diff --git a/test/Linker/weakextern.ll b/test/Linker/weakextern.ll index 3a72a48aae..b9f2584c7e 100644 --- a/test/Linker/weakextern.ll +++ b/test/Linker/weakextern.ll @@ -1,9 +1,10 @@ ; RUN: llvm-as < %s > %t.bc ; RUN: llvm-as < %p/testlink1.ll > %t2.bc ; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -; RUN: llvm-dis < %t1.bc | grep "kallsyms_names = extern_weak" -; RUN: llvm-dis < %t1.bc | grep "MyVar = external global i32" -; RUN: llvm-dis < %t1.bc | grep "Inte = global i32" +; RUN: llvm-dis < %t1.bc | FileCheck %s +; CHECK: kallsyms_names = extern_weak +; CHECK: Inte = global i32 +; CHECK: MyVar = external global i32 @kallsyms_names = extern_weak global [0 x i8] ; <[0 x i8]*> [#uses=0] @MyVar = extern_weak global i32 ; <i32*> [#uses=0] |