llvm-project/lldb
Raphael Isemann 101f37a1b3 [lldb][NFC] Rewrite CPP11EnumTypes test to make it faster
TestCPP11EnumTypes is one of the most expensive tests on my system and takes
around 35 seconds to run. A relatively large amount of that time is actually
doing CPU intensive work it seems (and not waiting on timeouts like other
slow tests).

The main issue is that this test repeatedly compiles the same source files
with different compiler defines. The test is also including standard library
headers, so it will also build all system modules with the gmodules debug
info variant. This leads to the problem that this test ends up compiling all
system Clang modules 8 times (one for each subtest with a unique define). As
the system modules are quite large, this causes that this test spends most
of its runtime just recompiling all system modules on macOS.

There is also the small issue that this test is starting and start-stopping
the test process a few hundred times.

This rewrites the test to instead just use a macro to instantiate all the
enum types in a single source and uses global variables to test the values
(which means there is no more need to continue/stop or even start a process).

I kept running all the debug info variants (event though it doesn't seem really
relevant) to keep this as NFC as possible.

This reduced the test runtime by around 1.5 seconds on my system (or in relative
numbers, the runtime of this test decreases by 95%).
2020-09-04 13:45:42 +02:00
..
bindings [lldb/Target] Add custom interpreter option to `platform shell` 2020-09-02 16:36:10 +02:00
cmake [lldb] Remove redundant call to FindBacktrace (NFC) 2020-08-20 22:41:49 -07:00
docs [lldb/interpreter] Improve REPL init file compatibility 2020-09-02 01:21:22 +02:00
examples Harmonize Python shebang 2020-07-16 21:53:45 +02:00
include/lldb [lldb] Add reproducer verifier 2020-09-02 22:00:00 -07:00
packages/Python [lldb] Improve test failure reporting for expect() 2020-09-03 13:35:05 +01:00
resources
scripts Harmonize Python shebang 2020-07-16 21:53:45 +02:00
source Revert "[lldb] avoid assert in threadsanitizer tests on linux" 2020-09-04 09:30:56 +02:00
test [lldb][NFC] Rewrite CPP11EnumTypes test to make it faster 2020-09-04 13:45:42 +02:00
third_party/Python/module Revert "[lldb] temporary commit to see why a test is failing only on lldb-aarch64-ubuntu" 2020-08-05 11:55:02 +02:00
tools [debugserver] Fix that debugserver's stop reply packets always return signal code 0 2020-09-03 09:47:03 +02:00
unittests [Test] Simplify DWARF test cases. NFC. 2020-08-31 14:03:48 +08:00
utils [lldb] Hoist --framework argument out of LLDB_TEST_COMMON_ARGS (NFC) 2020-08-28 18:15:33 -07:00
.clang-format
.clang-tidy [lldb] Add .clang-tidy with customization to disable readability-identifier-naming 2020-03-09 12:50:28 -07:00
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt Create ${swig_target}-scripts target instead of lldb-python-scripts 2020-08-22 19:36:37 -07:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT
use_lldb_suite_root.py