178 lines · plain
1// RUN: %exploded_graph_rewriter %s | FileCheck %s2 3// CHECK: <b>Program points:</b>4// CHECK-SAME: <table border="0" align="left" width="0">5// CHECK-SAME: <tr>6// CHECK-SAME: <td width="0">7// CHECK-SAME: </td>8// CHECK-SAME: <td align="left" width="0">9// CHECK-SAME: <font color="gold3">BlockEdge</font>10// CHECK-SAME: </td>11// CHECK-SAME: <td align="left">12// CHECK-SAME: [B0] -> [B1]13// CHECK-SAME: </td>14// CHECK-SAME: </tr>15// CHECK-SAME: <tr>16// CHECK-SAME: <td width="0">17// CHECK-SAME: </td>18// CHECK-SAME: <td align="left" width="0">19// CHECK-SAME: <font color="gold3">BlockEntrance</font>20// CHECK-SAME: </td>21// CHECK-SAME: <td align="left">22// CHECK-SAME: [B1]23// CHECK-SAME: </td>24// CHECK-SAME: </tr>25// CHECK-SAME: </table>26Node0x1 [shape=record,label=27 "{28 {29 "state_id": 0, "program_state": null, "program_points": [30 {31 "kind": "Edge",32 "src_id": 0,33 "dst_id": 1,34 "terminator": null,35 "term_kind": null,36 "tag": null,37 "node_id": 1,38 "has_report": 0,39 "is_sink": 040 },41 {42 "kind": "BlockEntrance",43 "block_id": 1,44 "terminator": null,45 "term_kind": null,46 "tag": null,47 "node_id": 2,48 "has_report": 0,49 "is_sink": 050 }51 ]}52\l}"];53 54// CHECK-NEXT: <b>Program point:</b>55// CHECK-SAME: <table border="0" align="left" width="0">56// CHECK-SAME: <tr>57// CHECK-SAME: <td align="left" width="0">58// CHECK-SAME: main.cpp:<b>4</b>:<b>5</b>:59// CHECK-SAME: </td>60// CHECK-SAME: <td align="left" width="0">61// CHECK-SAME: <font color="cyan4">DeclRefExpr</font>62// CHECK-SAME: </td>63// CHECK-SAME: <td align="left"><i>S3</i></td>64// CHECK-SAME: <td align="left">65// CHECK-SAME: <font color="cyan3">PreStmt</font>66// CHECK-SAME: </td>67// CHECK-SAME: <td align="left">x</td>68// CHECK-SAME: </tr>69// CHECK-SAME: <tr>70// CHECK-SAME: <td width="0">71// CHECK-SAME: </td>72// CHECK-SAME: <td colspan="3" align="left">73// CHECK-SAME: <b>Tag: </b>74// CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font>75// CHECK-SAME: </td>76// CHECK-SAME: </tr>77// CHECK-SAME: </table>78Node0x3 [shape=record,label=79 "{80 { "state_id": 0, "program_state": null, "program_points": [81 {82 "kind": "Statement",83 "stmt_kind": "DeclRefExpr",84 "stmt_point_kind": "PreStmt",85 "stmt_id": 3,86 "pointer": "0x3",87 "pretty": "x",88 "location": {89 "file": "main.cpp",90 "line": 4,91 "column": 592 },93 "tag": "ExprEngine : Clean Node",94 "node_id": 3,95 "pointer": "0x3",96 "has_report": 0,97 "is_sink": 098 }99 ]}100\l}"];101 102// Test collapsing large pretty prints with braces.103 104// CHECK-NEXT: <b>Program point:</b>105// CHECK-SAME: <td align="left">\{ ... \}</td>106Node0x4 [shape=record,label=107 "{108 {109 "state_id": 0, "program_state": null, "program_points": [110 {111 "kind": "Statement",112 "stmt_kind": "CompoundStmt",113 "stmt_point_kind": "PostStmt",114 "stmt_id": 6,115 "pointer": "0x6",116 "pretty": "{ very very very very very very long pretty print }",117 "location": {118 "line": 7,119 "column": 8120 },121 "tag": "ExprEngine : Clean Node",122 "node_id": 4,123 "has_report": 0,124 "is_sink": 0125 }126 ]}127\l}"];128 129// CHECK-NEXT: <b>Program point:</b>130// CHECK-SAME: <table border="0" align="left" width="0">131// CHECK-SAME: <tr>132// CHECK-SAME: <td align="left" width="0">133// CHECK-SAME: main.cpp:<b>8</b>:<b>9</b>:134// CHECK-SAME: </td>135// CHECK-SAME: <td align="left" width="0">136// CHECK-SAME: <font color="cyan4">137// CHECK-SAME: ImplicitCastExpr (LValueToRValue)138// CHECK-SAME: </font>139// CHECK-SAME: </td>140// CHECK-SAME: <td align="left"><i>S5</i></td>141// CHECK-SAME: <td align="left">142// CHECK-SAME: <font color="cyan3">PreStmt</font>143// CHECK-SAME: </td>144// CHECK-SAME: <td align="left">y</td>145// CHECK-SAME: </tr>146// CHECK-SAME: <tr>147// CHECK-SAME: <td width="0">148// CHECK-SAME: </td>149// CHECK-SAME: <td colspan="3" align="left">150// CHECK-SAME: <b>Tag: </b>151// CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font>152// CHECK-SAME: </td>153// CHECK-SAME: </tr>154// CHECK-SAME: </table>155Node0x5 [shape=record,label=156 "{157 { "state_id": 0, "program_state": null, "program_points": [158 {159 "kind": "Statement",160 "stmt_kind": "ImplicitCastExpr",161 "cast_kind": "LValueToRValue",162 "stmt_point_kind": "PreStmt",163 "stmt_id": 5,164 "pointer": "0x6",165 "pretty": "y",166 "location": {167 "file": "main.cpp",168 "line": 8,169 "column": 9170 },171 "tag": "ExprEngine : Clean Node",172 "node_id": 5,173 "has_report": 0,174 "is_sink": 0175 }176 ]}177\l}"];178