| // RUN: %exploded_graph_rewriter %s | FileCheck %s |
| |
| // FIXME: Substitution doesn't seem to work on Windows. |
| // UNSUPPORTED: system-windows |
| |
| // CHECK: <b>Program points:</b> |
| // CHECK-SAME: <table border="0" align="left" width="0"> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="gold3">BlockEdge</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: [B0] -> [B1] |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="gold3">BlockEntrance</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: [B1] |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: </table> |
| Node0x1 [shape=record,label= |
| "{ |
| { "node_id": 1, "pointer": "0x1", "has_report": false, "is_sink": false, |
| "program_state": null, "program_points": [ |
| { |
| "kind": "Edge", |
| "src_id": 0, |
| "dst_id": 1, |
| "terminator": null, |
| "term_kind": null, |
| "tag": null |
| }, |
| { |
| "kind": "BlockEntrance", |
| "block_id": 1, |
| "terminator": null, |
| "term_kind": null, |
| "tag": null |
| } |
| ]} |
| \l}"]; |
| |
| // CHECK-NEXT: <b>Program point:</b> |
| // CHECK-SAME: <table border="0" align="left" width="0"> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: main.cpp:<b>4</b>:<b>5</b>: |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left" width="0"> |
| // CHECK-SAME: <font color="cyan4">DeclRefExpr</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left"><i>S3</i></td> |
| // CHECK-SAME: <td align="left"> |
| // CHECK-SAME: <font color="cyan3">PreStmt</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td align="left">x</td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: <tr> |
| // CHECK-SAME: <td width="0"> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: <td colspan="3" align="left"> |
| // CHECK-SAME: <b>Tag: </b> |
| // CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font> |
| // CHECK-SAME: </td> |
| // CHECK-SAME: </tr> |
| // CHECK-SAME: </table> |
| Node0x2 [shape=record,label= |
| "{ |
| { "node_id": 2, "pointer": "0x2", "has_report": false, "is_sink": false, |
| "program_state": null, "program_points": [ |
| { |
| "kind": "Statement", |
| "stmt_kind": "DeclRefExpr", |
| "stmt_point_kind": "PreStmt", |
| "stmt_id": 3, |
| "pointer": "0x3", |
| "pretty": "x", |
| "location": { |
| "file": "main.cpp", |
| "line": 4, |
| "column": 5 |
| }, |
| "tag": "ExprEngine : Clean Node" |
| } |
| ]} |
| \l}"]; |
| |
| // Test collapsing large pretty prints with braces. |
| |
| // CHECK-NEXT: <b>Program point:</b> |
| // CHECK-SAME: <td align="left">\{ ... \}</td> |
| Node0x3 [shape=record,label= |
| "{ |
| { "node_id": 3, "pointer": "0x3", "has_report": false, "is_sink": false, |
| "program_state": null, "program_points": [ |
| { |
| "kind": "Statement", |
| "stmt_kind": "CompoundStmt", |
| "stmt_point_kind": "PostStmt", |
| "stmt_id": 6, |
| "pointer": "0x6", |
| "pretty": "{ very very very very very very long pretty print }", |
| "location": { |
| "line": 7, |
| "column": 8 |
| }, |
| "tag": "ExprEngine : Clean Node" |
| } |
| ]} |
| \l}"]; |