xref: /llvm-project/lldb/test/Shell/Settings/TestFrameFormatName.test (revision f4ede08c61cba631de204398a91aa59bac9d5db9)
1*f4ede08cSZequan Wu# UNSUPPORTED: system-windows
2*f4ede08cSZequan Wu# Test different name formats.
3*f4ede08cSZequan Wu
4*f4ede08cSZequan Wu# RUN: %build %S/Inputs/names.cpp --std c++17 -o %t.out
5*f4ede08cSZequan Wu# RUN: split-file %s %t
6*f4ede08cSZequan Wu
7*f4ede08cSZequan Wu#--- name_with_args.input
8*f4ede08cSZequan Wu# RUN: %lldb -b -s %t/name_with_args.input %t.out | FileCheck %s --check-prefix=NAME_WITH_ARGS
9*f4ede08cSZequan Wusettings set -f frame-format "frame ${function.name-with-args}\n"
10*f4ede08cSZequan Wubreak set -n foo
11*f4ede08cSZequan Wubreak set -n operator<<
12*f4ede08cSZequan Wubreak set -n returns_func_ptr
13*f4ede08cSZequan Wubreak set -n inlined_foo
14*f4ede08cSZequan Wurun
15*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame int ns::foo<int ()>(t={{.*}})
16*f4ede08cSZequan Wuc
17*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame int ns::foo<int ()>(str="bar")
18*f4ede08cSZequan Wuc
19*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame int ns::foo<(anonymous namespace)::$_0>(t=(anonymous namespace)::(unnamed class) @ {{.*}})
20*f4ede08cSZequan Wuc
21*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame int ns::foo<int (*)()>(t=({{.*}}`(anonymous namespace)::anon_bar() at {{.*}}))
22*f4ede08cSZequan Wuc
23*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame int ns::foo<void (Foo::*)(int (*)(int)) const noexcept>(str="method")
24*f4ede08cSZequan Wuc
25*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame ns::returns_func_ptr<int>((null)={{.*}})
26*f4ede08cSZequan Wuc
27*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame void Foo::foo<int (*)()>(this={{.*}}, arg=({{.*}}`(anonymous namespace)::anon_bar() at {{.*}}))
28*f4ede08cSZequan Wuc
29*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame void Foo::operator<<<1>(this={{.*}}, (null)=0)
30*f4ede08cSZequan Wuc
31*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame Foo::returns_func_ptr<int>(this={{.*}}, (null)={{.*}})
32*f4ede08cSZequan Wuc
33*f4ede08cSZequan Wu# NAME_WITH_ARGS: frame main [inlined] inlined_foo(str="bar")
34*f4ede08cSZequan Wuq
35*f4ede08cSZequan Wu
36*f4ede08cSZequan Wu#--- name.input
37*f4ede08cSZequan Wu# RUN: %lldb -b -s %t/name.input %t.out | FileCheck %s --check-prefix=NAME
38*f4ede08cSZequan Wusettings set -f frame-format "frame ${function.name}\n"
39*f4ede08cSZequan Wubreak set -n inlined_foo
40*f4ede08cSZequan Wurun
41*f4ede08cSZequan Wu# NAME: frame main [inlined] inlined_foo(char const*)
42*f4ede08cSZequan Wu
43*f4ede08cSZequan Wu#--- name_without_args.input
44*f4ede08cSZequan Wu# RUN: %lldb -b -s %t/name_without_args.input %t.out | FileCheck %s --check-prefix=NAME_WITHOUT_ARGS
45*f4ede08cSZequan Wusettings set -f frame-format "frame ${function.name-without-args}\n"
46*f4ede08cSZequan Wubreak set -n inlined_foo
47*f4ede08cSZequan Wurun
48*f4ede08cSZequan Wu# NAME_WITHOUT_ARGS: frame main [inlined] inlined_foo(char const*)
49*f4ede08cSZequan Wu
50*f4ede08cSZequan Wu#--- mangled_name.input
51*f4ede08cSZequan Wu# RUN: %lldb -b -s %t/mangled_name.input %t.out | FileCheck %s --check-prefix=MANGLED_NAME
52*f4ede08cSZequan Wusettings set -f frame-format "frame ${function.mangled-name}\n"
53*f4ede08cSZequan Wubreak set -n inlined_foo
54*f4ede08cSZequan Wurun
55*f4ede08cSZequan Wu# MANGLED_NAME: frame main [inlined] inlined_foo(char const*)
56