This revision was automatically updated to reflect the committed changes.
Closed by commit rG2ddd3325c4d7: [analyzer] Fix scan-build and 
exploded-graph-rewriter tests on Windows. (authored by dergachev.a).
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Changed prior to commit:
  https://reviews.llvm.org/D76768?vs=254825&id=255406#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76768/new/

https://reviews.llvm.org/D76768

Files:
  clang/include/clang/Basic/JsonSupport.h
  clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
  clang/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
  clang/test/Analysis/exploded-graph-rewriter/constraints.dot
  clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
  clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
  clang/test/Analysis/exploded-graph-rewriter/edge.dot
  clang/test/Analysis/exploded-graph-rewriter/empty.dot
  clang/test/Analysis/exploded-graph-rewriter/environment.dot
  clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
  clang/test/Analysis/exploded-graph-rewriter/escapes.c
  
clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
  clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
  clang/test/Analysis/exploded-graph-rewriter/macros.c
  clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
  clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
  clang/test/Analysis/exploded-graph-rewriter/program_points.dot
  clang/test/Analysis/exploded-graph-rewriter/store.dot
  clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
  clang/test/Analysis/exploded-graph-rewriter/topology.dot
  clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
  clang/test/Analysis/scan-build/exclude_directories.test
  clang/test/Analysis/scan-build/help.test
  clang/test/Analysis/scan-build/html_output.test
  clang/test/Analysis/scan-build/plist_html_output.test
  clang/test/Analysis/scan-build/plist_output.test

Index: clang/test/Analysis/scan-build/plist_output.test
===================================================================
--- clang/test/Analysis/scan-build/plist_output.test
+++ clang/test/Analysis/scan-build/plist_output.test
@@ -1,9 +1,6 @@
 // FIXME: Actually, "perl".
 REQUIRES: shell
 
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
 RUN: rm -rf %t.output_dir && mkdir %t.output_dir
 RUN: %scan-build -plist -o %t.output_dir %clang -S %S/Inputs/single_null_dereference.c \
 RUN:     | FileCheck %s -check-prefix CHECK-STDOUT
Index: clang/test/Analysis/scan-build/plist_html_output.test
===================================================================
--- clang/test/Analysis/scan-build/plist_html_output.test
+++ clang/test/Analysis/scan-build/plist_html_output.test
@@ -1,9 +1,6 @@
 // FIXME: Actually, "perl".
 REQUIRES: shell
 
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
 RUN: rm -rf %t.output_dir && mkdir %t.output_dir
 RUN: %scan-build -plist-html -o %t.output_dir %clang -S %S/Inputs/single_null_dereference.c \
 RUN:     | FileCheck %s -check-prefix CHECK-STDOUT
Index: clang/test/Analysis/scan-build/html_output.test
===================================================================
--- clang/test/Analysis/scan-build/html_output.test
+++ clang/test/Analysis/scan-build/html_output.test
@@ -1,9 +1,6 @@
 // FIXME: Actually, "perl".
 REQUIRES: shell
 
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
 RUN: rm -rf %t.output_dir && mkdir %t.output_dir
 RUN: %scan-build -o %t.output_dir %clang -S %S/Inputs/single_null_dereference.c \
 RUN:     | FileCheck %s -check-prefix CHECK-STDOUT
Index: clang/test/Analysis/scan-build/help.test
===================================================================
--- clang/test/Analysis/scan-build/help.test
+++ clang/test/Analysis/scan-build/help.test
@@ -1,9 +1,6 @@
 // FIXME: Actually, "perl".
 REQUIRES: shell
 
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
 RUN: %scan-build -h | FileCheck %s
 RUN: %scan-build --help | FileCheck %s
 
Index: clang/test/Analysis/scan-build/exclude_directories.test
===================================================================
--- clang/test/Analysis/scan-build/exclude_directories.test
+++ clang/test/Analysis/scan-build/exclude_directories.test
@@ -1,9 +1,6 @@
 // FIXME: Actually, "perl".
 REQUIRES: shell
 
-// FIXME: Should ideally work on Windows.
-UNSUPPORTED: system-windows
-
 RUN: rm -rf %t.output_dir && mkdir %t.output_dir
 RUN: %scan-build -o %t.output_dir %clang -S \
 RUN:     %S/Inputs/multidirectory_project/directory1/file1.c \
Index: clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
+++ clang/test/Analysis/exploded-graph-rewriter/trimmers.dot
@@ -13,9 +13,6 @@
 // RUN: %exploded_graph_rewriter --to 4 -s %s \
 // RUN:     | FileCheck %s -check-prefixes=ONE,TWO,NOTHREE,FOUR
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 Node0x1 [shape=record,label=
  "{{ "state_id": 0, "program_state": null, "program_points": [
        {
Index: clang/test/Analysis/exploded-graph-rewriter/topology.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/topology.dot
+++ clang/test/Analysis/exploded-graph-rewriter/topology.dot
@@ -3,9 +3,6 @@
 // RUN: %exploded_graph_rewriter -t %s \
 // RUN:     | FileCheck -check-prefixes=TOPOLOGY %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // NORMAL: Program point
 // TOPOLOGY-NOT: Program point
 // NORMAL: Checker State
Index: clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/store_diff.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter -d %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 Node0x1 [shape=record,label=
  "{
     { "node_id": 1,
Index: clang/test/Analysis/exploded-graph-rewriter/store.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/store.dot
+++ clang/test/Analysis/exploded-graph-rewriter/store.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // CHECK: <b>Store: </b>
 // CHECK-SAME: <font color="gray">(0x2)</font>
 // CHECK-SAME: <table border="0">
Index: clang/test/Analysis/exploded-graph-rewriter/program_points.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/program_points.dot
+++ clang/test/Analysis/exploded-graph-rewriter/program_points.dot
@@ -1,8 +1,5 @@
 // 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>
Index: clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
+++ clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
@@ -6,9 +6,6 @@
 // RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
 // REQUIRES: asserts
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 struct S {
   S() {}
 };
Index: clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
+++ clang/test/Analysis/exploded-graph-rewriter/node_labels.dot
@@ -7,9 +7,6 @@
 // RUN: %exploded_graph_rewriter %s --gray --dark \
 // RUN:     | FileCheck %s -check-prefixes CHECK,DARK,GRAY
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // LIGHT: Node0x1 [shape=record,label=<
 // DARK:  Node0x1 [shape=record,color="white",fontcolor="gray80",label=<
 // CHECK-SAME:   <tr>
Index: clang/test/Analysis/exploded-graph-rewriter/macros.c
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/macros.c
+++ clang/test/Analysis/exploded-graph-rewriter/macros.c
@@ -1,3 +1,11 @@
+#define NULL 0
+void *foo() {
+  return NULL;
+}
+
+// The code above shall go first, because check tags below are sensetive to the line numbers on which the code is placed.
+// You can change lines below in the way you need.
+
 // FIXME: Figure out how to use %clang_analyze_cc1 with our lit.local.cfg.
 // RUN: %clang_cc1 -analyze -triple x86_64-unknown-linux-gnu \
 // RUN:                     -analyzer-checker=core \
@@ -5,14 +13,7 @@
 // RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
 // REQUIRES: asserts
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
-// CHECK: macros.c:<b>17</b>:<b>10</b>
+// CHECK: macros.c:<b>3</b>:<b>10</b>
 // CHECK-SAME: <font color="royalblue1">
-// CHECK-SAME:   (<i>spelling at </i> macros.c:<b>15</b>:<b>14</b>)
+// CHECK-SAME:   (<i>spelling at </i> macros.c:<b>1</b>:<b>14</b>)
 // CHECK-SAME: </font>
-#define NULL 0
-void *foo() {
-  return NULL;
-}
Index: clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
+++ clang/test/Analysis/exploded-graph-rewriter/lit.local.cfg
@@ -9,10 +9,9 @@
 
 config.substitutions.append(('%exploded_graph_rewriter',
                              '\'%s\' %s --dump-dot-only' % (
-                                 config.python_executable,
-                                 lit.util.which('exploded-graph-rewriter.py',
-                                                os.path.join(
-                                                    config.clang_src_dir,
-                                                    'utils', 'analyzer')))))
+                                config.python_executable,
+                                os.path.join(
+                                    config.clang_src_dir,
+                                    'utils', 'analyzer', 'exploded-graph-rewriter.py'))))
 
 config.suffixes.add('.dot')
Index: clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
+++ clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
@@ -5,9 +5,6 @@
 // RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
 // REQUIRES: asserts
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 struct A {
   A() {}
 };
Index: clang/test/Analysis/exploded-graph-rewriter/escapes.c
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/escapes.c
+++ clang/test/Analysis/exploded-graph-rewriter/escapes.c
@@ -5,9 +5,6 @@
 // RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
 // REQUIRES: asserts
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 void escapes() {
   // CHECK: <td align="left"><b>Store: </b> <font color="gray">(0x{{[0-9a-f]*}})</font></td>
   // CHECK-SAME: <td align="left">foo</td><td align="left">0</td>
Index: clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/environment_diff.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter -d %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // No diffs on the first node, nothing to check.
 Node0x1 [shape=record,label=
  "{
Index: clang/test/Analysis/exploded-graph-rewriter/environment.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/environment.dot
+++ clang/test/Analysis/exploded-graph-rewriter/environment.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // CHECK: <b>Expressions: </b>
 // CHECK-SAME: <table border="0">
 // CHECK-SAME:   <tr>
Index: clang/test/Analysis/exploded-graph-rewriter/empty.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/empty.dot
+++ clang/test/Analysis/exploded-graph-rewriter/empty.dot
@@ -2,9 +2,6 @@
 // RUN: %exploded_graph_rewriter --dark %s | FileCheck %s \
 // RUN:                                         -check-prefixes=CHECK,DARK
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 digraph "Exploded Graph" {
   label="Exploded Graph";
 }
Index: clang/test/Analysis/exploded-graph-rewriter/edge.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/edge.dot
+++ clang/test/Analysis/exploded-graph-rewriter/edge.dot
@@ -1,9 +1,6 @@
 // RUN: %exploded_graph_rewriter %s | FileCheck %s -check-prefix=LIGHT
 // RUN: %exploded_graph_rewriter --dark %s | FileCheck %s -check-prefixes=DARK
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 Node0x1 [shape=record,label=
  "{{ "state_id": 0, "program_state": null, "program_points": [
     {
Index: clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
+++ clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
@@ -5,9 +5,6 @@
 // RUN: %exploded_graph_rewriter %t.dot | FileCheck %s
 // REQUIRES: asserts
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 struct S {};
 
 void test() {
Index: clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter -d %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 Node0x1 [shape=record,label=
  "{
     {
Index: clang/test/Analysis/exploded-graph-rewriter/constraints.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/constraints.dot
+++ clang/test/Analysis/exploded-graph-rewriter/constraints.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // CHECK: <tr><td align="left"><b>Ranges: </b></td></tr>
 // CHECK-SAME: <tr><td align="left"><table border="0">
 // CHECK-SAME:   <tr>
Index: clang/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
+++ clang/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter -d %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 Node0x1 [shape=record,label=
  "{
     { "state_id": 2,
Index: clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
===================================================================
--- clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
+++ clang/test/Analysis/exploded-graph-rewriter/checker_messages.dot
@@ -1,8 +1,5 @@
 // RUN: %exploded_graph_rewriter %s | FileCheck %s
 
-// FIXME: Substitution doesn't seem to work on Windows.
-// UNSUPPORTED: system-windows
-
 // CHECK: <b>Checker State: </b>
 // CHECK-SAME: <td align="left"><i>alpha.core.FooChecker</i>:</td>
 // CHECK-SAME: <td align="left">Foo stuff:</td>
Index: clang/include/clang/Basic/JsonSupport.h
===================================================================
--- clang/include/clang/Basic/JsonSupport.h
+++ clang/include/clang/Basic/JsonSupport.h
@@ -97,9 +97,13 @@
     // The macro expansion and spelling pos is identical for file locs.
     if (AddBraces)
       Out << "{ ";
+    std::string filename(PLoc.getFilename());
+#ifdef _WIN32 // Handle windows-specific path delimiters.
+    std::replace(filename.begin(), filename.end(), '\\', '/');
+#endif
     Out << "\"line\": " << PLoc.getLine()
         << ", \"column\": " << PLoc.getColumn()
-        << ", \"file\": \"" << PLoc.getFilename() << "\"";
+        << ", \"file\": \"" << filename << "\"";
     if (AddBraces)
       Out << " }";
     return;
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to