<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi, this should have been fixed by <a target="_blank" rel="noopener noreferrer" href="https://reviews.llvm.org/rC339709" class="" style="color: rgb(53, 114, 176); text-decoration: none; cursor: pointer; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; -webkit-font-smoothing: subpixel-antialiased !important;">https:<wbr class="" style="-webkit-font-smoothing: subpixel-antialiased !important;">/<wbr class="" style="-webkit-font-smoothing: subpixel-antialiased !important;">/reviews.llvm.org<wbr class="" style="-webkit-font-smoothing: subpixel-antialiased !important;">/rC339709</a><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 14, 2018, at 12:16 PM, Galina Kistanova <<a href="mailto:gkistanova@gmail.com" class="">gkistanova@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hello George,<br class=""><br class="">This commit broke few of our builders:<br class=""><br class=""><a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/34845" class="">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/34845</a><br class=""><a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/19056" class="">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/19056</a><br class=""><br class=""><a href="http://lab.llvm.org:8011/builders/clang-lld-x86_64-2stage" class="">http://lab.llvm.org:8011/builders/clang-lld-x86_64-2stage</a><br class=""><a href="http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu" class="">http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu</a><br class="">etc...<br class=""><br class="">...<br class="">Failing Tests (11):<br class="">    Clang :: Analysis/auto-obj-dtors-cfg-output.cpp<br class="">    Clang :: Analysis/<a href="http://blocks.mm/" class="">blocks.mm</a><br class="">    Clang :: Analysis/cfg-rich-constructors.cpp<br class="">    Clang :: Analysis/<a href="http://cfg-rich-constructors.mm/" class="">cfg-rich-constructors.mm</a><br class="">    Clang :: Analysis/conditional-path-notes.c<br class="">    Clang :: Analysis/diagnostics/plist-multi-file.c<br class="">    Clang :: Analysis/html-diags.c<br class="">    Clang :: Analysis/plist-html-macros.c<br class="">    Clang :: Analysis/plist-html-macros.c<br class="">    Clang :: Analysis/retain-release-path-notes-gc.m<br class="">    Clang :: Analysis/temp-obj-dtors-cfg-output.cpp<br class=""><br class="">Please have a look ASAP?<br class=""><br class="">Thanks<br class=""><br class="">Galina<br class=""><br class=""></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Mon, Aug 13, 2018 at 4:12 PM, George Karpenkov via cfe-commits <span dir="ltr" class=""><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: george.karpenkov<br class="">
Date: Mon Aug 13 16:12:43 2018<br class="">
New Revision: 339629<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=339629&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project?rev=339629&view=rev</a><br class="">
Log:<br class="">
[analyzer] [NFC] Introduce separate targets for testing the analyzer: check-clang-analyzer and check-clang-analyzer-z3<br class="">
<br class="">
Current testing setup for analyzer tests with Z3 is rather inconvenient:<br class="">
<br class="">
There's no way to run the analyzer tests separately (I use<br class="">
LIT_FILTER=Analysis ninja check-clang, but a direct target is nicer).<br class="">
<br class="">
When Clang is built with Z3 support, there's no way to *not* run tests<br class="">
with Z3 solver, and this is often desired, as tests with Z3 solver take<br class="">
a very long time.<br class="">
<br class="">
This patch introduces two extra targets:<br class="">
<br class="">
 - check-clang-analyzer<br class="">
 - check-clang-analyzer-z3<br class="">
<br class="">
which solve those problems.<br class="">
<br class="">
Differential Revision: <a href="https://reviews.llvm.org/D50594" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/<wbr class="">D50594</a><br class="">
<br class="">
Modified:<br class="">
    cfe/trunk/test/Analysis/<wbr class="">analyzer_test.py<br class="">
    cfe/trunk/test/Analysis/lit.<wbr class="">local.cfg<br class="">
    cfe/trunk/test/CMakeLists.txt<br class="">
    cfe/trunk/test/<a href="http://lit.site.cfg.py.in/" rel="noreferrer" target="_blank" class="">lit.site.cfg.<wbr class="">py.in</a><br class="">
<br class="">
Modified: cfe/trunk/test/Analysis/<wbr class="">analyzer_test.py<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/analyzer_test.py?rev=339629&r1=339628&r2=339629&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/cfe/trunk/test/<wbr class="">Analysis/analyzer_test.py?rev=<wbr class="">339629&r1=339628&r2=339629&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- cfe/trunk/test/Analysis/<wbr class="">analyzer_test.py (original)<br class="">
+++ cfe/trunk/test/Analysis/<wbr class="">analyzer_test.py Mon Aug 13 16:12:43 2018<br class="">
@@ -4,6 +4,10 @@ import lit.TestRunner<br class="">
 # Custom format class for static analyzer tests<br class="">
 class AnalyzerTest(lit.formats.<wbr class="">ShTest):<br class="">
<br class="">
+    def __init__(self, execute_external, use_z3_solver=False):<br class="">
+        super(AnalyzerTest, self).__init__(execute_<wbr class="">external)<br class="">
+        self.use_z3_solver = use_z3_solver<br class="">
+<br class="">
     def execute(self, test, litConfig):<br class="">
         results = []<br class="">
<br class="">
@@ -19,7 +23,8 @@ class AnalyzerTest(lit.formats.<wbr class="">ShTest):<br class="">
                 return results[-1]<br class="">
<br class="">
         # If z3 backend available, add an additional run line for it<br class="">
-        if test.config.clang_<wbr class="">staticanalyzer_z3 == '1':<br class="">
+        if self.use_z3_solver == '1':<br class="">
+            assert(test.config.clang_<wbr class="">staticanalyzer_z3 == '1')<br class="">
             results.append(self.<wbr class="">executeWithAnalyzeSubstitution<wbr class="">(<br class="">
                 saved_test, litConfig, '-analyzer-constraints=z3 -DANALYZER_CM_Z3'))<br class="">
<br class="">
<br class="">
Modified: cfe/trunk/test/Analysis/lit.<wbr class="">local.cfg<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/lit.local.cfg?rev=339629&r1=339628&r2=339629&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/cfe/trunk/test/<wbr class="">Analysis/lit.local.cfg?rev=<wbr class="">339629&r1=339628&r2=339629&<wbr class="">view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- cfe/trunk/test/Analysis/lit.<wbr class="">local.cfg (original)<br class="">
+++ cfe/trunk/test/Analysis/lit.<wbr class="">local.cfg Mon Aug 13 16:12:43 2018<br class="">
@@ -7,7 +7,7 @@ import site<br class="">
 site.addsitedir(os.path.<wbr class="">dirname(__file__))<br class="">
 import analyzer_test<br class="">
 config.test_format = analyzer_test.AnalyzerTest(<br class="">
-        config.test_format.execute_<wbr class="">external)<br class="">
+        config.test_format.execute_<wbr class="">external, config.use_z3_solver)<br class="">
<br class="">
 if not config.root.clang_<wbr class="">staticanalyzer:<br class="">
     config.unsupported = True<br class="">
<br class="">
Modified: cfe/trunk/test/CMakeLists.txt<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CMakeLists.txt?rev=339629&r1=339628&r2=339629&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/cfe/trunk/test/<wbr class="">CMakeLists.txt?rev=339629&r1=<wbr class="">339628&r2=339629&view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- cfe/trunk/test/CMakeLists.txt (original)<br class="">
+++ cfe/trunk/test/CMakeLists.txt Mon Aug 13 16:12:43 2018<br class="">
@@ -88,8 +88,15 @@ endif ()<br class="">
<br class="">
 set(CLANG_TEST_PARAMS<br class="">
   clang_site_config=${CMAKE_<wbr class="">CURRENT_BINARY_DIR}/<a href="http://lit.site" class="">lit.site</a>.<wbr class="">cfg<br class="">
+  USE_Z3_SOLVER=0<br class="">
   )<br class="">
<br class="">
+set(ANALYZER_TEST_PARAMS<br class="">
+  USE_Z3_SOLVER=0)<br class="">
+<br class="">
+set(ANALYZER_TEST_PARAMS_Z3<br class="">
+  USE_Z3_SOLVER=1)<br class="">
+<br class="">
 if( NOT CLANG_BUILT_STANDALONE )<br class="">
   list(APPEND CLANG_TEST_DEPS<br class="">
     llvm-config<br class="">
@@ -126,6 +133,24 @@ add_lit_testsuite(check-clang "Running t<br class="">
   )<br class="">
 set_target_properties(check-<wbr class="">clang PROPERTIES FOLDER "Clang tests")<br class="">
<br class="">
+if (CLANG_ENABLE_STATIC_ANALYZER)<br class="">
+  add_lit_testsuite(check-clang-<wbr class="">analyzer "Running the Clang analyzer tests"<br class="">
+    ${CMAKE_CURRENT_BINARY_DIR}/<wbr class="">Analysis<br class="">
+    PARAMS ${ANALYZER_TEST_PARAMS}<br class="">
+    DEPENDS ${CLANG_TEST_DEPS})<br class="">
+  set_target_properties(check-<wbr class="">clang-analyzer PROPERTIES FOLDER "Clang tests")<br class="">
+<br class="">
+<br class="">
+  if (CLANG_ANALYZER_WITH_Z3)<br class="">
+    add_lit_testsuite(check-clang-<wbr class="">analyzer-z3 "Running the Clang analyzer tests, using Z3 as a solver"<br class="">
+      ${CMAKE_CURRENT_BINARY_DIR}/<wbr class="">Analysis<br class="">
+      PARAMS ${ANALYZER_TEST_PARAMS_Z3}<br class="">
+      DEPENDS ${CLANG_TEST_DEPS})<br class="">
+    set_target_properties(check-<wbr class="">clang-analyzer-z3 PROPERTIES FOLDER "Clang tests")<br class="">
+  endif()<br class="">
+<br class="">
+endif()<br class="">
+<br class="">
 add_lit_testsuites(CLANG ${CMAKE_CURRENT_SOURCE_DIR}<br class="">
   PARAMS ${CLANG_TEST_PARAMS}<br class="">
   DEPENDS ${CLANG_TEST_DEPS}<br class="">
<br class="">
Modified: cfe/trunk/test/<a href="http://lit.site.cfg.py.in/" rel="noreferrer" target="_blank" class="">lit.site.cfg.<wbr class="">py.in</a><br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/lit.site.cfg.py.in?rev=339629&r1=339628&r2=339629&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-<wbr class="">project/cfe/trunk/test/lit.<wbr class="">site.cfg.py.in?rev=339629&r1=<wbr class="">339628&r2=339629&view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- cfe/trunk/test/<a href="http://lit.site.cfg.py.in/" rel="noreferrer" target="_blank" class="">lit.site.cfg.<wbr class="">py.in</a> (original)<br class="">
+++ cfe/trunk/test/<a href="http://lit.site.cfg.py.in/" rel="noreferrer" target="_blank" class="">lit.site.cfg.<wbr class="">py.in</a> Mon Aug 13 16:12:43 2018<br class="">
@@ -26,6 +26,7 @@ config.enable_shared = @ENABLE_SHARED@<br class="">
 config.enable_backtrace = @ENABLE_BACKTRACES@<br class="">
 config.host_arch = "@HOST_ARCH@"<br class="">
 config.python_executable = "@PYTHON_EXECUTABLE@"<br class="">
+config.use_z3_solver = "@USE_Z3_SOLVER@"<br class="">
<br class="">
 # Support substitution of the tools and libs dirs with user parameters. This is<br class="">
 # used when we can't determine the tool dir at configuration time.<br class="">
@@ -34,6 +35,7 @@ try:<br class="">
     config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params<br class="">
     config.llvm_shlib_dir = config.llvm_shlib_dir % lit_config.params<br class="">
     config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params<br class="">
+    config.use_z3_solver = lit_config.params['USE_Z3_<wbr class="">SOLVER']<br class="">
 except KeyError:<br class="">
     e = sys.exc_info()[1]<br class="">
     key, = e.args<br class="">
<br class="">
<br class="">
______________________________<wbr class="">_________________<br class="">
cfe-commits mailing list<br class="">
<a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/cfe-commits</a><br class="">
</blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></body></html>