xref: /llvm-project/lldb/test/Shell/ScriptInterpreter/Python/Crashlog/parser_text.test (revision 28d0c0c2c8e88d2b6599ee34c84eb58eed43a626)
1*c7cbf32fSJonas Devlieghere#                                                                 -*- python -*-
2*c7cbf32fSJonas Devlieghere# DEBUG: cd %S/../../../../../examples/python && cat %s | %lldb && false
3*c7cbf32fSJonas Devlieghere# RUN: cd %S/../../../../../examples/python && cat %s | %lldb | FileCheck %s
4*c7cbf32fSJonas Devlieghere# CHECK-LABEL: {{S}}KIP BEYOND CHECKS
5*c7cbf32fSJonas Devliegherescript
6*c7cbf32fSJonas Devlieghereimport crashlog
7*c7cbf32fSJonas Devliegherecrash_log_parser = crashlog.TextCrashLogParser
8*c7cbf32fSJonas Devliegherecrash_log = crashlog.CrashLog
9*c7cbf32fSJonas Devlieghereimages = [
10*c7cbf32fSJonas Devlieghere"0x10b60b000 - 0x10f707fff com.apple.LLDB.framework (1.1000.11.38.2 - 1000.11.38.2) <96E36F5C-1A83-39A1-8713-5FDD9701C3F1> /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/LLDB",
11*c7cbf32fSJonas Devlieghere# CHECK: 0x10b60b000
12*c7cbf32fSJonas Devlieghere# CHECK: 0x10f707fff
13*c7cbf32fSJonas Devlieghere# CHECK: com.apple.LLDB.framework
14*c7cbf32fSJonas Devlieghere# CHECK: 96E36F5C-1A83-39A1-8713-5FDD9701C3F1
15*c7cbf32fSJonas Devlieghere# CHECK: /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/LLDB
16*c7cbf32fSJonas Devlieghere
17*c7cbf32fSJonas Devlieghere"0x104591000 - 0x1055cfff7 +llvm-dwarfdump (0) <B104CFA1-046A-36A6-8EB4-07DDD7CC2DF3> /Users/USER 1/Documents/*/llvm-dwarfdump",
18*c7cbf32fSJonas Devlieghere# CHECK: 0x104591000
19*c7cbf32fSJonas Devlieghere# CHECK: 0x1055cfff7
20*c7cbf32fSJonas Devlieghere# CHECK: llvm-dwarfdump
21*c7cbf32fSJonas Devlieghere# CHECK: (0)
22*c7cbf32fSJonas Devlieghere# CHECK: B104CFA1-046A-36A6-8EB4-07DDD7CC2DF3
23*c7cbf32fSJonas Devlieghere# CHECK: /Users/USER 1/Documents/*/llvm-dwarfdump
24*c7cbf32fSJonas Devlieghere
25*c7cbf32fSJonas Devlieghere"0x7fff63f20000 - 0x7fff63f77ff7  libc++.1.dylib (400.9.4) <D4AB366F-48A9-3C7D-91BD-41198F69DD57> /usr/lib/libc++.1.dylib",
26*c7cbf32fSJonas Devlieghere# CHECK: 0x7fff63f20000
27*c7cbf32fSJonas Devlieghere# CHECK: 0x7fff63f77ff7
28*c7cbf32fSJonas Devlieghere# CHECK: libc++.1.dylib
29*c7cbf32fSJonas Devlieghere# CHECK: (400.9.4)
30*c7cbf32fSJonas Devlieghere# CHECK: D4AB366F-48A9-3C7D-91BD-41198F69DD57
31*c7cbf32fSJonas Devlieghere# CHECK: /usr/lib/libc++.1.dylib
32*c7cbf32fSJonas Devlieghere
33*c7cbf32fSJonas Devlieghere"0x1111111 - 0x22222 +MyApp Pro arm64  <01234> /tmp/MyApp Pro.app/MyApp Pro",
34*c7cbf32fSJonas Devlieghere# CHECK: 0x1111111
35*c7cbf32fSJonas Devlieghere# CHECK: 0x22222
36*c7cbf32fSJonas Devlieghere# CHECK: MyApp Pro
37*c7cbf32fSJonas Devlieghere# CHECK: arm64
38*c7cbf32fSJonas Devlieghere# CHECK: 01234
39*c7cbf32fSJonas Devlieghere# CHECK: /tmp/MyApp Pro.app/MyApp Pro
40*c7cbf32fSJonas Devlieghere
41*c7cbf32fSJonas Devlieghere"0x1111111 - 0x22222 +MyApp Pro (0) <01234> /tmp/MyApp Pro.app/MyApp Pro",
42*c7cbf32fSJonas Devlieghere# CHECK: 0x1111111
43*c7cbf32fSJonas Devlieghere# CHECK: 0x22222
44*c7cbf32fSJonas Devlieghere# CHECK: MyApp Pro
45*c7cbf32fSJonas Devlieghere# CHECK: (0)
46*c7cbf32fSJonas Devlieghere# CHECK: 01234
47*c7cbf32fSJonas Devlieghere# CHECK: /tmp/MyApp Pro.app/MyApp Pro
48*c7cbf32fSJonas Devlieghere
49*c7cbf32fSJonas Devlieghere"0x1111111 - 0x2222222 MyFramework Plus.dylib (1.11 - MyFramework 1.11) <01234> /tmp/MyFramework Plus.dylib",
50*c7cbf32fSJonas Devlieghere# CHECK: 0x1111111
51*c7cbf32fSJonas Devlieghere# CHECK: 0x2222222
52*c7cbf32fSJonas Devlieghere# CHECK: MyFramework Plus.dylib
53*c7cbf32fSJonas Devlieghere# CHECK: ({{.*}}
54*c7cbf32fSJonas Devlieghere# CHECK: 1.11 - MyFramework 1.11
55*c7cbf32fSJonas Devlieghere# CHECK: 01234
56*c7cbf32fSJonas Devlieghere# CHECK: /tmp/MyFramework Plus.dylib
57*c7cbf32fSJonas Devlieghere
58*c7cbf32fSJonas Devlieghere"0x1111111 - 0x2222222 MyFramework-dev.dylib (1.0.0svn - 1.0.0svn) <01234> /MyFramework-dev.dylib",
59*c7cbf32fSJonas Devlieghere# CHECK: 0x1111111
60*c7cbf32fSJonas Devlieghere# CHECK: 0x2222222
61*c7cbf32fSJonas Devlieghere# CHECK: MyFramework-dev.dylib
62*c7cbf32fSJonas Devlieghere# CHECK: ({{.*}}
63*c7cbf32fSJonas Devlieghere# CHECK: 1.0.0svn - 1.0.0svn
64*c7cbf32fSJonas Devlieghere# CHECK: 01234
65*c7cbf32fSJonas Devlieghere# CHECK: /MyFramework-dev.dylib
66*c7cbf32fSJonas Devlieghere
67*c7cbf32fSJonas Devlieghere"0x7fff63f20000 - 0x7fff63f77ff7  libc++.1.dylib (400.9.4) /usr/lib/libc++.1.dylib",
68*c7cbf32fSJonas Devlieghere# CHECK: 0x7fff63f20000
69*c7cbf32fSJonas Devlieghere# CHECK: 0x7fff63f77ff7
70*c7cbf32fSJonas Devlieghere# CHECK: libc++.1.dylib
71*c7cbf32fSJonas Devlieghere# CHECK: ({{.*}}
72*c7cbf32fSJonas Devlieghere# CHECK: 400.9.4
73*c7cbf32fSJonas Devlieghere# CHECK: None
74*c7cbf32fSJonas Devlieghere# CHECK: /usr/lib/libc++.1.dylib
75*c7cbf32fSJonas Devlieghere
76*c7cbf32fSJonas Devlieghere"0x1047b8000 - 0x10481ffff dyld arm64e  <cfa789d10da63f9a8996daf84ed9d04f> /usr/lib/dyld"
77*c7cbf32fSJonas Devlieghere# CHECK: 0x1047b8000
78*c7cbf32fSJonas Devlieghere# CHECK: 0x10481ffff
79*c7cbf32fSJonas Devlieghere# CHECK: dyld
80*c7cbf32fSJonas Devlieghere# CHECK: {{.*}}
81*c7cbf32fSJonas Devlieghere# CHECK: arm64e
82*c7cbf32fSJonas Devlieghere# CHECK: cfa789d10da63f9a8996daf84ed9d04f
83*c7cbf32fSJonas Devlieghere# CHECK: /usr/lib/dyld
84*c7cbf32fSJonas Devlieghere]
85*c7cbf32fSJonas Devlieghere# CHECK-LABEL: FRAMES
86*c7cbf32fSJonas Devlieghereframes = [
87*c7cbf32fSJonas Devlieghere"0 libsystem_kernel.dylib        	0x00007fff684b78a6 read + 10",
88*c7cbf32fSJonas Devlieghere# CHECK: 0
89*c7cbf32fSJonas Devlieghere# CHECK: libsystem_kernel.dylib
90*c7cbf32fSJonas Devlieghere# CHECK: 0x00007fff684b78a6
91*c7cbf32fSJonas Devlieghere# CHECK: read + 10
92*c7cbf32fSJonas Devlieghere"1   com.apple.LLDB.framework      	0x000000010f7954af lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) + 105",
93*c7cbf32fSJonas Devlieghere# CHECK: 1
94*c7cbf32fSJonas Devlieghere# CHECK: com.apple.LLDB.framework
95*c7cbf32fSJonas Devlieghere# CHECK: 0x000000010f7954af
96*c7cbf32fSJonas Devlieghere# CHECK: lldb_private{{.*}} + 105
97*c7cbf32fSJonas Devlieghere"2   MyApp Pro arm64    	0x000000019b0db3a8 foo + 72",
98*c7cbf32fSJonas Devlieghere# CHECK: 2
99*c7cbf32fSJonas Devlieghere# CHECK: MyApp Pro
100*c7cbf32fSJonas Devlieghere# CHECK: 0x000000019b0db3a8
101*c7cbf32fSJonas Devlieghere# CHECK: foo + 72
102*c7cbf32fSJonas Devlieghere"3   He 0x1    	0x000000019b0db3a8 foo + 72"
103*c7cbf32fSJonas Devlieghere# CHECK: 3
104*c7cbf32fSJonas Devlieghere# CHECK: He 0x1
105*c7cbf32fSJonas Devlieghere# CHECK: 0x000000019b0db3a8
106*c7cbf32fSJonas Devlieghere# CHECK: foo + 72
107*c7cbf32fSJonas Devlieghere]
108*c7cbf32fSJonas Devlieghere
109*c7cbf32fSJonas Devlieghere
110*c7cbf32fSJonas Devlieghere# Avoid matching the text inside the input.
111*c7cbf32fSJonas Devlieghereprint("SKIP BEYOND CHECKS")
112*c7cbf32fSJonas Devliegherefor image in images:
113*c7cbf32fSJonas Devlieghere    print('"%s"'%image)
114*c7cbf32fSJonas Devlieghere    print("--------------")
115*c7cbf32fSJonas Devlieghere    match = crash_log_parser.image_regex_uuid.search(image)
116*c7cbf32fSJonas Devlieghere    for group in match.groups():
117*c7cbf32fSJonas Devlieghere        print(group)
118*c7cbf32fSJonas Devlieghere
119*c7cbf32fSJonas Devlieghereprint("FRAMES")
120*c7cbf32fSJonas Devliegherefor frame in frames:
121*c7cbf32fSJonas Devlieghere    print('"%s"'%frame)
122*c7cbf32fSJonas Devlieghere    print("--------------")
123*c7cbf32fSJonas Devlieghere    match = crash_log_parser.frame_regex.search(frame)
124*c7cbf32fSJonas Devlieghere    for group in match.groups():
125*c7cbf32fSJonas Devlieghere        print(group)
126*c7cbf32fSJonas Devlieghere
127*c7cbf32fSJonas Devlieghereexit()
128*c7cbf32fSJonas Devliegherequit
129