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 6// No diffs on the first node, nothing to check. 7Node0x1 [shape=record,label= 8 "{ 9 { 10 "state_id": 2, 11 "program_points": [ 12 { 13 "kind": "BlockEntrance", "block_id": 1, 14 "terminator": null, "term_kind": null, 15 "tag": null, "node_id": 1, 16 "has_report": 0, "is_sink": 0 17 } 18 ], 19 "program_state": { 20 "store": null, 21 "constraints": null, 22 "dynamic_types": null, 23 "constructing_objects": null, 24 "checker_messages": null, 25 "environment": { 26 "pointer": "0x2", 27 "items": [ 28 { 29 "location_context": "#0 Call", 30 "lctx_id": 3, 31 "calling": "foo", 32 "location": null, 33 "items": [ 34 { 35 "stmt_id": 5, 36 "pretty": "bar()", 37 "value": "Unknown" 38 } 39 ] 40 } 41 ] 42 } 43 } 44 } 45\l}"]; 46 47Node0x1 -> Node0x6; 48 49// CHECK: Node0x6 [ 50// CHECK-SAME: <tr> 51// CHECK-SAME: <td><font color="red">-</font></td> 52// CHECK-SAME: <td align="left"><i>S5</i></td> 53// CHECK-SAME: <td align="left">bar()</td> 54// CHECK-SAME: <td align="left">Unknown</td> 55// CHECK-SAME: </tr> 56// CHECK-SAME: <tr> 57// CHECK-SAME: <td><font color="forestgreen">+</font></td> 58// CHECK-SAME: <td align="left"><i>S9</i></td> 59// CHECK-SAME: <td align="left">baz()</td> 60// CHECK-SAME: <td align="left">Undefined</td> 61// CHECK-SAME: </tr> 62Node0x6 [shape=record,label= 63 "{ 64 { 65 "state_id": 7, 66 "program_points": [ 67 { 68 "kind": "BlockEntrance", "block_id": 1, 69 "terminator": null, "term_kind": null, 70 "tag": null, "node_id": 1, 71 "has_report": 0, "is_sink": 0 72 } 73 ], 74 "program_state": { 75 "store": null, 76 "constraints": null, 77 "dynamic_types": null, 78 "constructing_objects": null, 79 "checker_messages": null, 80 "environment": { 81 "pointer": "0x2", 82 "items": [ 83 { 84 "location_context": "#0 Call", 85 "lctx_id": 3, 86 "calling": "foo", 87 "location": null, 88 "items": [ 89 { 90 "stmt_id": 9, 91 "pretty": "baz()", 92 "value": "Undefined" 93 } 94 ] 95 } 96 ] 97 } 98 } 99 } 100\l}"]; 101 102Node0x6 -> Node0x9; 103// Make sure that the last node in the path is not diffed. 104// CHECK: Node0x9 [ 105// CHECK-SAME: <tr> 106// CHECK-SAME: <td></td> 107// CHECK-SAME: <td align="left"><i>S9</i></td> 108// CHECK-SAME: <td align="left">baz()</td> 109// CHECK-SAME: <td align="left">Undefined</td> 110// CHECK-SAME: </tr> 111Node0x9 [shape=record,label= 112 "{ 113 { 114 "state_id": 7, 115 "program_points": [ 116 { 117 "kind": "BlockEntrance", "block_id": 1, 118 "terminator": null, "term_kind": null, 119 "tag": null, "node_id": 1, 120 "has_report": 0, "is_sink": 0 121 } 122 ], 123 "program_state": { 124 "store": null, 125 "constraints": null, 126 "dynamic_types": null, 127 "constructing_objects": null, 128 "checker_messages": null, 129 "environment": { 130 "pointer": "0x2", 131 "items": [ 132 { 133 "location_context": "#0 Call", 134 "lctx_id": 3, 135 "calling": "foo", 136 "location": null, 137 "items": [ 138 { 139 "stmt_id": 9, 140 "pretty": "baz()", 141 "value": "Undefined" 142 } 143 ] 144 } 145 ] 146 } 147 } 148 } 149\l}"]; 150