diff options
Diffstat (limited to 'clang/test/Analysis')
6 files changed, 186 insertions, 0 deletions
diff --git a/clang/test/Analysis/exploded-graph-rewriter/edge.dot b/clang/test/Analysis/exploded-graph-rewriter/edge.dot new file mode 100644 index 00000000000..5fc695c1ce0 --- /dev/null +++ b/clang/test/Analysis/exploded-graph-rewriter/edge.dot @@ -0,0 +1,12 @@ +// RUN: %exploded_graph_rewriter %s | FileCheck %s + +Node0x1 [shape=record,label= + "{{ "node_id": 1, "pointer": "0x1", + "program_state": null, "program_points": []}\l}"]; + +// CHECK: Node0x1 -> Node0x2; +Node0x1 -> Node0x2; + +Node0x2 [shape=record,label= + "{{ "node_id": 2, "pointer": "0x2", + "program_state": null, "program_points": []}\l}"]; diff --git a/clang/test/Analysis/exploded-graph-rewriter/empty.dot b/clang/test/Analysis/exploded-graph-rewriter/empty.dot new file mode 100644 index 00000000000..85c227dbab8 --- /dev/null +++ b/clang/test/Analysis/exploded-graph-rewriter/empty.dot @@ -0,0 +1,9 @@ +// RUN: %exploded_graph_rewriter %s | FileCheck %s + +digraph "Exploded Graph" { + label="Exploded Graph"; +} + +// CHECK: digraph "ExplodedGraph" { +// CHECK-NEXT: label=""; +// CHECK-NEXT: } diff --git a/clang/test/Analysis/exploded-graph-rewriter/environment.dot b/clang/test/Analysis/exploded-graph-rewriter/environment.dot new file mode 100644 index 00000000000..31d2d72551d --- /dev/null +++ b/clang/test/Analysis/exploded-graph-rewriter/environment.dot @@ -0,0 +1,50 @@ +// RUN: %exploded_graph_rewriter %s | FileCheck %s + +// CHECK: <b>Environment: </b> +// CHECK-SAME: <table border="0"> +// CHECK-SAME: <tr> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: <b>#0 Call</b> +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: <font color="grey60">foo </font>(line 4) +// CHECK-SAME: </td> +// CHECK-SAME: </tr> +// CHECK-SAME: <tr> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: <i>S5</i> +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: bar() +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: Unknown +// CHECK-SAME: </td> +// CHECK-SAME: </tr> +// CHECK-SAME: </table> +Node0x1 [shape=record,label= + "{ + { "node_id": 1, + "pointer": "0x1", + "state_id": 2, + "program_points": [], + "program_state": { + "store": null, + "environment": [ + { + "location_context": "#0 Call", + "lctx_id": 3, + "calling": "foo", + "call_line": 4, + "items": [ + { + "stmt_id": 5, + "pretty": "bar()", + "value": "Unknown" + } + ] + } + ] + } + } +\l}"]; diff --git a/clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg b/clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg new file mode 100644 index 00000000000..1ebb25a4001 --- /dev/null +++ b/clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg @@ -0,0 +1,13 @@ +import lit.util +import lit.formats +import os + +use_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL") +config.test_format = lit.formats.ShTest(use_lit_shell == "0") + +config.substitutions.append(('%exploded_graph_rewriter', + lit.util.which('exploded-graph-rewriter.py', + os.path.join(config.clang_src_dir, + 'utils', 'analyzer')))) + +config.suffixes = ['.dot'] diff --git a/clang/test/Analysis/exploded-graph-rewriter/program_points.dot b/clang/test/Analysis/exploded-graph-rewriter/program_points.dot new file mode 100644 index 00000000000..a7696d27a9f --- /dev/null +++ b/clang/test/Analysis/exploded-graph-rewriter/program_points.dot @@ -0,0 +1,60 @@ +// RUN: %exploded_graph_rewriter %s | FileCheck %s + +// CHECK: <b>Program point:</b> +// CHECK-SAME: <table border="0" align="left" width="0"> +// CHECK-SAME: <tr> +// CHECK-SAME: <td width="0"> +// CHECK-SAME: - +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left" width="0"> +// CHECK-SAME: <font color="gold3">Edge</font> +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: [B0] -> [B1] +// CHECK-SAME: </td> +// CHECK-SAME: </tr> +// CHECK-SAME: </table> +Node0x1 [shape=record,label= + "{ + { "node_id": 1, "pointer": "0x1", + "program_state": null, "program_points": [ + { + "kind": "Edge", + "src_id": 0, + "dst_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 file):<b>4</b>:<b>5</b>: +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left" width="0"> +// CHECK-SAME: <font color="cyan3">DeclRefExpr</font> +// CHECK-SAME: </td> +// CHECK-SAME: <td>x</td> +// CHECK-SAME: </tr> +// CHECK-SAME: </table> +Node0x2 [shape=record,label= + "{ + { "node_id": 2, "pointer": "0x2", + "program_state": null, "program_points": [ + { + "kind": "Statement", + "stmt_kind": "DeclRefExpr", + "stmd_id": 3, + "pointer": "0x3", + "pretty": "x", + "location": { + "line": 4, + "column": 5 + }, + "tag": null + } + ]} +\l}"]; diff --git a/clang/test/Analysis/exploded-graph-rewriter/store.dot b/clang/test/Analysis/exploded-graph-rewriter/store.dot new file mode 100644 index 00000000000..0f0fa928b28 --- /dev/null +++ b/clang/test/Analysis/exploded-graph-rewriter/store.dot @@ -0,0 +1,42 @@ +// RUN: %exploded_graph_rewriter %s | FileCheck %s + +// CHECK: <b>Store: </b> +// CHECK-SAME: <table border="0"> +// CHECK-SAME: <tr> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: x +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: 0 +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: (<i>Default</i>) +// CHECK-SAME: </td> +// CHECK-SAME: <td align="left"> +// CHECK-SAME: Undefined +// CHECK-SAME: </td> +// CHECK-SAME: </tr> +// CHECK-SAME: </table> +Node0x1 [shape=record,label= + "{ + { "node_id": 1, + "pointer": "0x1", + "state_id": 2, + "program_points": [], + "program_state": { + "environment": null, + "store": [ + { + "cluster": "x", + "items": [ + { + "kind": "Default", + "offset": 0, + "value": "Undefined" + } + ] + } + ] + } + } +\l}"]; |

