[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
dcoughlin added a comment. Looks great. Thanks!! https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
ddcc reopened this revision. ddcc added a comment. This revision is now accepted and ready to land. Made a mistake with the last commit, I believe this should be fine now? Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
ddcc reopened this revision. ddcc added a comment. This revision is now accepted and ready to land. You're right about the failure being specific to Windows, I'll roll back to the original implementation in `lit.local.cfg` and just skip on Windows. Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
dcoughlin added a comment. Thanks for sticking with this!! This looks good to me, although I would prefer if the definition of the AnalyzerTest class were moved to the bottom of the lit.cfg file. The other configuration and substitutions are far more important to the rest of clang -- people shouldn't have to scan through analyzer-specific stuff to get to configuration of broad relevance. I also think you may end up needing to conditionalize setting config.analyzer_format to only occur on non-win32 -- but you can commit and see if it triggers the bots. https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
dcoughlin added a comment. In https://reviews.llvm.org/D30373#689613, @ddcc wrote: > With the first method, I'm not sure how to refer to the `AnalyzerTest` class > defined in `lit.cfg` from `lit.local.cfg`. It doesn't seem to be in scope, so > unless I store an instantiation in the `config` object, I don't think it's > accessible. Rather than creating and storing an instance of AnalyzerTest in lit.cfg you could store the class itself (that is, an instance of the metatype) and then instantiate it using that when needed in lit.local.cfg. This would avoid creating an long-held, global instance of AnalyzerTest when running other tests. Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
ddcc added a comment. With the first method, I'm not sure how to refer to the `AnalyzerTest` class defined in `lit.cfg` from `lit.local.cfg`. It doesn't seem to be in scope, so unless I store an instantiation in the `config` object, I don't think it's accessible. Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
dcoughlin added a comment. I'm not sure what is going on. One thing to try is defining the class in clang/test/lit.cfg -- which seems to work for Swift. (See https://github.com/apple/swift/blob/master/test/lit.cfg#L137) We'd still want to only use that class in Analysis/lit.local.cfg. Another possibility is to not support running with Z3 on Windows, at least for now. So in Analysis/lit.local.cfg we would only set the custom test_format if `(not sys.platform in ['win32'])` is true. Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
dcoughlin added a comment. Saving the relevant portion of the build bot log output before it disappears from the bot: 0.000 [0/1/0] Running all regression tests -- Testing: 31894 tests, 80 threads -- Traceback (most recent call last): File "", line 1, in File "C:\Python27\lib\multiprocessing\forking.py", line 381, in main self = load(from_parent) File "C:\Python27\lib\pickle.py", line 1384, in load return Unpickler(file).load() File "C:\Python27\lib\pickle.py", line 864, in load dispatch[key](self) File "C:\Python27\lib\pickle.py", line 886, in load_eof raise EOFError EOFError lit.py: C:/Buildbot/Slave/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/llvm.src/tools/clang/test/lit.cfg:200: note: using clang: 'C:/Buildbot/Slave/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/llvm.obj/./bin/clang.EXE' Traceback (most recent call last): File "C:/Buildbot/Slave/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/llvm.src/utils/lit/lit.py", line 6, in main() File "C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\utils\lit\lit\main.py", line 161, in main main_with_tmp(builtinParameters) File "C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\utils\lit\lit\main.py", line 484, in main_with_tmp opts.useProcesses) File "C:\Buildbot\Slave\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\utils\lit\lit\run.py", line 272, in execute_tests queuer.start() File "C:\Python27\lib\multiprocessing\process.py", line 130, in start self._popen = Popen(self) File "C:\Python27\lib\multiprocessing\forking.py", line 277, in __init__ dump(process_obj, to_child, HIGHEST_PROTOCOL) File "C:\Python27\lib\multiprocessing\forking.py", line 199, in dump ForkingPickler(file, protocol).dump(obj) File "C:\Python27\lib\pickle.py", line 224, in dump self.save(obj) File "C:\Python27\lib\pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "C:\Python27\lib\pickle.py", line 425, in save_reduce save(state) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 655, in save_dict self._batch_setitems(obj.iteritems()) File "C:\Python27\lib\pickle.py", line 687, in _batch_setitems save(v) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 554, in save_tuple save(element) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 606, in save_list self._batch_appends(iter(obj)) File "C:\Python27\lib\pickle.py", line 639, in _batch_appends save(x) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 731, in save_inst save(stuff) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 655, in save_dict self._batch_setitems(obj.iteritems()) File "C:\Python27\lib\pickle.py", line 687, in _batch_setitems save(v) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 731, in save_inst save(stuff) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 655, in save_dict self._batch_setitems(obj.iteritems()) File "C:\Python27\lib\pickle.py", line 687, in _batch_setitems save(v) File "C:\Python27\lib\pickle.py", line 331, in save self.save_reduce(obj=obj, *rv) File "C:\Python27\lib\pickle.py", line 396, in save_reduce save(cls) File "C:\Python27\lib\pickle.py", line 286, in save f(self, obj) # Call unbound method with explicit self File "C:\Python27\lib\pickle.py", line 754, in save_global (obj, module, name)) pickle.PicklingError: Can't pickle : it's not found as lit.TestingConfig.AnalyzerTest Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
ddcc reopened this revision. ddcc added a comment. This revision is now accepted and ready to land. It looks like there's some sort of pickling-related test failure when lit tries to fork, because it can't find the class `lit.TestingConfig.AnalyzerTest`: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/6154/steps/test/logs/stdio . I'm guessing that this has something to do with the `AnalyzerTest` class being loaded dynamically from `lit.local.cfg` , but short of moving it out into `llvm/utils/lit/lit/formats`, I have no idea how to fix this. Also, I can't reproduce this problem locally with `ninja -j4 check-clang`. @dcoughlin ydo you have any suggestions? Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
ddcc reopened this revision. ddcc added a comment. This revision is now accepted and ready to land. Looks like there were four latent test failures that had been masked due to the way they were written. Here's the new version. Repository: rL LLVM https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D30373: [analyzer] NFC: Update test infrastructure to support multiple constraint managers
dcoughlin accepted this revision. dcoughlin added a comment. This revision is now accepted and ready to land. LGTM! Thanks! https://reviews.llvm.org/D30373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits