Skip to content

Commit f4c2efb

Browse files
committed
Add test for plist-html output
1 parent f4bbfbd commit f4c2efb

File tree

2 files changed

+203
-0
lines changed

2 files changed

+203
-0
lines changed
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
<array>
2+
<dict>
3+
<key>kind</key><string>control</string>
4+
<key>edges</key>
5+
<array>
6+
<dict>
7+
<key>start</key>
8+
<array>
9+
<dict>
10+
<key>line</key><integer>5</integer>
11+
<key>col</key><integer>5</integer>
12+
<key>file</key><integer>0</integer>
13+
</dict>
14+
<dict>
15+
<key>line</key><integer>5</integer>
16+
<key>col</key><integer>6</integer>
17+
<key>file</key><integer>0</integer>
18+
</dict>
19+
</array>
20+
<key>end</key>
21+
<array>
22+
<dict>
23+
<key>line</key><integer>5</integer>
24+
<key>col</key><integer>9</integer>
25+
<key>file</key><integer>0</integer>
26+
</dict>
27+
<dict>
28+
<key>line</key><integer>5</integer>
29+
<key>col</key><integer>9</integer>
30+
<key>file</key><integer>0</integer>
31+
</dict>
32+
</array>
33+
</dict>
34+
</array>
35+
</dict>
36+
<dict>
37+
<key>kind</key><string>event</string>
38+
<key>location</key>
39+
<dict>
40+
<key>line</key><integer>5</integer>
41+
<key>col</key><integer>9</integer>
42+
<key>file</key><integer>0</integer>
43+
</dict>
44+
<key>ranges</key>
45+
<array>
46+
<array>
47+
<dict>
48+
<key>line</key><integer>5</integer>
49+
<key>col</key><integer>9</integer>
50+
<key>file</key><integer>0</integer>
51+
</dict>
52+
<dict>
53+
<key>line</key><integer>5</integer>
54+
<key>col</key><integer>9</integer>
55+
<key>file</key><integer>0</integer>
56+
</dict>
57+
</array>
58+
</array>
59+
<key>depth</key><integer>0</integer>
60+
<key>extended_message</key>
61+
<string>Assuming &apos;p&apos; is null</string>
62+
<key>message</key>
63+
<string>Assuming &apos;p&apos; is null</string>
64+
</dict>
65+
<dict>
66+
<key>kind</key><string>control</string>
67+
<key>edges</key>
68+
<array>
69+
<dict>
70+
<key>start</key>
71+
<array>
72+
<dict>
73+
<key>line</key><integer>5</integer>
74+
<key>col</key><integer>9</integer>
75+
<key>file</key><integer>0</integer>
76+
</dict>
77+
<dict>
78+
<key>line</key><integer>5</integer>
79+
<key>col</key><integer>9</integer>
80+
<key>file</key><integer>0</integer>
81+
</dict>
82+
</array>
83+
<key>end</key>
84+
<array>
85+
<dict>
86+
<key>line</key><integer>8</integer>
87+
<key>col</key><integer>9</integer>
88+
<key>file</key><integer>0</integer>
89+
</dict>
90+
<dict>
91+
<key>line</key><integer>8</integer>
92+
<key>col</key><integer>14</integer>
93+
<key>file</key><integer>0</integer>
94+
</dict>
95+
</array>
96+
</dict>
97+
</array>
98+
</dict>
99+
<dict>
100+
<key>kind</key><string>control</string>
101+
<key>edges</key>
102+
<array>
103+
<dict>
104+
<key>start</key>
105+
<array>
106+
<dict>
107+
<key>line</key><integer>8</integer>
108+
<key>col</key><integer>9</integer>
109+
<key>file</key><integer>0</integer>
110+
</dict>
111+
<dict>
112+
<key>line</key><integer>8</integer>
113+
<key>col</key><integer>14</integer>
114+
<key>file</key><integer>0</integer>
115+
</dict>
116+
</array>
117+
<key>end</key>
118+
<array>
119+
<dict>
120+
<key>line</key><integer>8</integer>
121+
<key>col</key><integer>16</integer>
122+
<key>file</key><integer>0</integer>
123+
</dict>
124+
<dict>
125+
<key>line</key><integer>8</integer>
126+
<key>col</key><integer>16</integer>
127+
<key>file</key><integer>0</integer>
128+
</dict>
129+
</array>
130+
</dict>
131+
</array>
132+
</dict>
133+
<dict>
134+
<key>kind</key><string>event</string>
135+
<key>location</key>
136+
<dict>
137+
<key>line</key><integer>8</integer>
138+
<key>col</key><integer>16</integer>
139+
<key>file</key><integer>0</integer>
140+
</dict>
141+
<key>ranges</key>
142+
<array>
143+
<array>
144+
<dict>
145+
<key>line</key><integer>8</integer>
146+
<key>col</key><integer>17</integer>
147+
<key>file</key><integer>0</integer>
148+
</dict>
149+
<dict>
150+
<key>line</key><integer>8</integer>
151+
<key>col</key><integer>17</integer>
152+
<key>file</key><integer>0</integer>
153+
</dict>
154+
</array>
155+
</array>
156+
<key>depth</key><integer>0</integer>
157+
<key>extended_message</key>
158+
<string>Dereference of null pointer (loaded from variable &apos;p&apos;)</string>
159+
<key>message</key>
160+
<string>Dereference of null pointer (loaded from variable &apos;p&apos;)</string>
161+
</dict>
162+
</array>
163+
<key>description</key><string>Dereference of null pointer (loaded from variable &apos;p&apos;)</string>
164+
<key>category</key><string>Logic error</string>
165+
<key>type</key><string>Dereference of null pointer</string>
166+
<key>check_name</key><string>core.NullDereference</string>
167+
<!-- This hash is experimental and going to change! -->
168+
<key>issue_hash_content_of_line_in_context</key><string>665591022ee1cf653566ea441043d888</string>
169+
<key>issue_context_kind</key><string>function</string>
170+
<key>issue_context</key><string>foo</string>
171+
<key>issue_hash_function_offset</key><string>4</string>
172+
<key>location</key>
173+
<dict>
174+
<key>line</key><integer>8</integer>
175+
<key>col</key><integer>16</integer>
176+
<key>file</key><integer>0</integer>
177+
</dict>
178+
<key>ExecutedLines</key>
179+
<dict>
180+
<key>0</key>
181+
<array>
182+
<integer>4</integer>
183+
<integer>5</integer>
184+
<integer>8</integer>
185+
</array>
186+
</dict>
187+
</dict>
188+
</array>
189+
<key>files</key>
190+
<array>
191+
</array>
192+
</dict>
193+
</plist>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// RUN: %clang_analyze_cc1 -analyzer-checker=core -analyzer-output=plist-html %s -o %t.plist -verify
2+
// RUN: tail -n +11 %t.plist | %normalize_plist | diff -ub %S/Inputs/expected-plists/plist-html.c.plist -
3+
4+
int foo(int *p) {
5+
if (p) {
6+
return 0;
7+
} else {
8+
return *p; // expected-warning {{Dereference of null pointer (loaded from variable 'p')}}
9+
}
10+
}

0 commit comments

Comments
 (0)