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    { "state_id": 2,
9      "program_points": [
10        {
11          "kind": "BlockEntrance", "block_id": 1,
12          "terminator": null, "term_kind": null,
13          "tag": null, "node_id": 1,
14          "has_report": 0, "is_sink": 0
15        }
16      ],
17      "program_state": {
18        "environment": null,
19        "store": null,
20        "constraints": null,
21        "dynamic_types": null,
22        "constructing_objects": null,
23        "checker_messages": [
24          { "checker": "FooChecker", "messages": [
25            "Foo: Bar"
26          ]},
27          { "checker": "BarChecker", "messages": [
28            "Bar: Foo"
29          ]}
30        ]
31      }
32    }
33\l}"];
34
35Node0x1 -> Node0x4;
36
37
38// CHECK: Node0x4 [
39// CHECK-SAME: <tr>
40// CHECK-SAME:   <td><font color="red">-</font></td>
41// CHECK-SAME:   <td align="left"><i>BarChecker</i>:</td>
42// CHECK-SAME: </tr>
43// CHECK-SAME: <tr>
44// CHECK-SAME:   <td><font color="red">-</font></td>
45// CHECK-SAME:   <td align="left">Bar: Foo</td>
46// CHECK-SAME: </tr>
47// CHECK-SAME: <tr>
48// CHECK-SAME:   <td></td>
49// CHECK-SAME:   <td align="left"><i>FooChecker</i>:</td>
50// CHECK-SAME: </tr>
51// CHECK-SAME: <tr>
52// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
53// CHECK-SAME:   <td align="left"> Bar: Foo</td>
54// CHECK-SAME: </tr>
55// CHECK-SAME: <tr>
56// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
57// CHECK-SAME:   <td align="left"><i>DunnoWhateverSomeOtherChecker</i>:</td>
58// CHECK-SAME: </tr>
59// CHECK-SAME: <tr>
60// CHECK-SAME:   <td><font color="forestgreen">+</font></td>
61// CHECK-SAME:   <td align="left">Dunno, some other message.</td>
62// CHECK-SAME: </tr>
63Node0x4 [shape=record,label=
64 "{
65    {
66      "state_id": 5,
67      "program_points": [
68        {
69          "kind": "BlockEntrance", "block_id": 1,
70          "terminator": null, "term_kind": null,
71          "tag": null, "node_id": 1,
72          "has_report": 0, "is_sink": 0
73        }
74      ],
75      "program_state": {
76        "environment": null,
77        "store": null,
78        "constraints": null,
79        "dynamic_types": null,
80        "constructing_objects": null,
81        "checker_messages": [
82          { "checker": "FooChecker", "messages": [
83            "Foo: Bar",
84            "Bar: Foo"
85          ]},
86          { "checker": "DunnoWhateverSomeOtherChecker", "messages": [
87            "Dunno, some other message."
88          ]}
89        ]
90      }
91    }
92\l}"];
93
94Node0x4 -> Node0x6;
95
96Node0x6 [shape=record,label=
97 "{
98    { "state_id": 7,
99      "program_points": [
100        {
101          "kind": "BlockEntrance", "block_id": 1,
102          "terminator": null, "term_kind": null,
103          "tag": null, "node_id": 1,
104          "has_report": 0, "is_sink": 0
105        }
106      ],
107      "program_state": null
108    }
109\l}"];
110