1// RUN: %exploded_graph_rewriter %s | FileCheck %s 2 3// FIXME: Substitution doesn't seem to work on Windows. 4// UNSUPPORTED: system-windows 5 6// CHECK: <b>Program points:</b> 7// CHECK-SAME: <table border="0" align="left" width="0"> 8// CHECK-SAME: <tr> 9// CHECK-SAME: <td width="0"> 10// CHECK-SAME: </td> 11// CHECK-SAME: <td align="left" width="0"> 12// CHECK-SAME: <font color="gold3">BlockEdge</font> 13// CHECK-SAME: </td> 14// CHECK-SAME: <td align="left"> 15// CHECK-SAME: [B0] -> [B1] 16// CHECK-SAME: </td> 17// CHECK-SAME: </tr> 18// CHECK-SAME: <tr> 19// CHECK-SAME: <td width="0"> 20// CHECK-SAME: </td> 21// CHECK-SAME: <td align="left" width="0"> 22// CHECK-SAME: <font color="gold3">BlockEntrance</font> 23// CHECK-SAME: </td> 24// CHECK-SAME: <td align="left"> 25// CHECK-SAME: [B1] 26// CHECK-SAME: </td> 27// CHECK-SAME: </tr> 28// CHECK-SAME: </table> 29Node0x1 [shape=record,label= 30 "{ 31 { "node_id": 1, "pointer": "0x1", "has_report": false, "is_sink": false, 32 "program_state": null, "program_points": [ 33 { 34 "kind": "Edge", 35 "src_id": 0, 36 "dst_id": 1, 37 "terminator": null, 38 "term_kind": null, 39 "tag": null 40 }, 41 { 42 "kind": "BlockEntrance", 43 "block_id": 1, 44 "terminator": null, 45 "term_kind": null, 46 "tag": null 47 } 48 ]} 49\l}"]; 50 51// CHECK-NEXT: <b>Program point:</b> 52// CHECK-SAME: <table border="0" align="left" width="0"> 53// CHECK-SAME: <tr> 54// CHECK-SAME: <td align="left" width="0"> 55// CHECK-SAME: main.cpp:<b>4</b>:<b>5</b>: 56// CHECK-SAME: </td> 57// CHECK-SAME: <td align="left" width="0"> 58// CHECK-SAME: <font color="cyan4">DeclRefExpr</font> 59// CHECK-SAME: </td> 60// CHECK-SAME: <td align="left"><i>S3</i></td> 61// CHECK-SAME: <td align="left"> 62// CHECK-SAME: <font color="cyan3">PreStmt</font> 63// CHECK-SAME: </td> 64// CHECK-SAME: <td align="left">x</td> 65// CHECK-SAME: </tr> 66// CHECK-SAME: <tr> 67// CHECK-SAME: <td width="0"> 68// CHECK-SAME: </td> 69// CHECK-SAME: <td colspan="3" align="left"> 70// CHECK-SAME: <b>Tag: </b> 71// CHECK-SAME: <font color="crimson">ExprEngine : Clean Node</font> 72// CHECK-SAME: </td> 73// CHECK-SAME: </tr> 74// CHECK-SAME: </table> 75Node0x2 [shape=record,label= 76 "{ 77 { "node_id": 2, "pointer": "0x2", "has_report": false, "is_sink": false, 78 "program_state": null, "program_points": [ 79 { 80 "kind": "Statement", 81 "stmt_kind": "DeclRefExpr", 82 "stmt_point_kind": "PreStmt", 83 "stmt_id": 3, 84 "pointer": "0x3", 85 "pretty": "x", 86 "location": { 87 "file": "main.cpp", 88 "line": 4, 89 "column": 5 90 }, 91 "tag": "ExprEngine : Clean Node" 92 } 93 ]} 94\l}"]; 95 96// Test collapsing large pretty prints with braces. 97 98// CHECK-NEXT: <b>Program point:</b> 99// CHECK-SAME: <td align="left">\{ ... \}</td> 100Node0x3 [shape=record,label= 101 "{ 102 { "node_id": 3, "pointer": "0x3", "has_report": false, "is_sink": false, 103 "program_state": null, "program_points": [ 104 { 105 "kind": "Statement", 106 "stmt_kind": "CompoundStmt", 107 "stmt_point_kind": "PostStmt", 108 "stmt_id": 6, 109 "pointer": "0x6", 110 "pretty": "{ very very very very very very long pretty print }", 111 "location": { 112 "line": 7, 113 "column": 8 114 }, 115 "tag": "ExprEngine : Clean Node" 116 } 117 ]} 118\l}"]; 119