1// RUN: %exploded_graph_rewriter -d %s | FileCheck %s
2
3// FIXME: Substitution doesn't seem to work on Windows.
4// UNSUPPORTED: system-windows
5
6Node0x1 [shape=record,label=
7 "{
8    { "node_id": 1,
9      "pointer": "0x1",
10      "has_report": false,
11      "is_sink": false,
12      "state_id": 2,
13      "program_points": [],
14      "program_state": {
15        "environment": null,
16        "store": null,
17        "constraints": null,
18        "dynamic_types": null,
19        "constructing_objects": null,
20        "checker_messages": [
21          { "checker": "FooChecker", "messages": [
22            "Foo: Bar"
23          ]},
24          { "checker": "BarChecker", "messages": [
25            "Bar: Foo"
26          ]}
27        ]
28      }
29    }
30\l}"];
31
32Node0x1 -> Node0x4;
33
34
35// CHECK: Node0x4 [
36// CHECK-SAME: <tr>
37// CHECK-SAME:   <td><font color="red">-</font></td>
38// CHECK-SAME:   <td align="left"><i>BarChecker</i>:</td>
39// CHECK-SAME: </tr>
40// CHECK-SAME: <tr>
41// CHECK-SAME:   <td><font color="red">-</font></td>
42// CHECK-SAME:   <td align="left">Bar: Foo</td>
43// CHECK-SAME: </tr>
44// CHECK-SAME: <tr>
45// CHECK-SAME:   <td></td>
46// CHECK-SAME:   <td align="left"><i>FooChecker</i>:</td>
47// CHECK-SAME: </tr>
48// CHECK-SAME: <tr>
49// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
50// CHECK-SAME:   <td align="left"> Bar: Foo</td>
51// CHECK-SAME: </tr>
52// CHECK-SAME: <tr>
53// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
54// CHECK-SAME:   <td align="left"><i>DunnoWhateverSomeOtherChecker</i>:</td>
55// CHECK-SAME: </tr>
56// CHECK-SAME: <tr>
57// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
58// CHECK-SAME:   <td align="left">Dunno, some other message.</td>
59// CHECK-SAME: </tr>
60Node0x4 [shape=record,label=
61 "{
62    { "node_id": 4,
63      "pointer": "0x4",
64      "has_report": false,
65      "is_sink": false,
66      "state_id": 5,
67      "program_points": [],
68      "program_state": {
69        "environment": null,
70        "store": null,
71        "constraints": null,
72        "dynamic_types": null,
73        "constructing_objects": null,
74        "checker_messages": [
75          { "checker": "FooChecker", "messages": [
76            "Foo: Bar",
77            "Bar: Foo"
78          ]},
79          { "checker": "DunnoWhateverSomeOtherChecker", "messages": [
80            "Dunno, some other message."
81          ]}
82        ]
83      }
84    }
85\l}"];
86
87Node0x4 -> Node0x6;
88
89Node0x6 [shape=record,label=
90 "{
91    { "node_id": 6,
92      "pointer": "0x6",
93      "has_report": false,
94      "is_sink": false,
95      "state_id": 7,
96      "program_points": [],
97      "program_state": null
98    }
99\l}"];
100