hanchenye-llvm-project/lldb/test
Steve Pucci befe2b1c48 This commit provides support for running the dosep.ty test driver with multiple threads.
It speeds up running the full test suite on my HP z620 Ubuntu machine with 32 hyperthreaded CPUs from 11 minutes to about 1m13s (about 9x).

The default behavior is to run single-threaded as before.  If the environment variable LLDB_TEST_THREADS is set, a Python work queue is set up with that many worker threads.

To avoid collisions within a test directory where multiple tests make use of the same prebuilt executable, the unit of work for the worker threads is a single directory (that is, all tests within a directory are processed in the normal serial way by a single thread).

tfiala & I have run this way a number of times; the only issue I found was that the TestProcessAttach.py test failed once, when attempting to attach to the process "a.out" by name.  I assume this is because some other thread was running an executable of that name at the same time, and we were attempting to attach to the wrong one, so I changed that test to use a different executable name (that change is also included in this commit).

llvm-svn: 203180
2014-03-07 00:01:11 +00:00
..
api Re-enable TestMultithreaded.py test on Linux. 2014-02-28 00:13:00 +00:00
arm_emulation Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
attic Initial commit of a new testsuite feature: test categories. 2012-09-21 19:10:53 +00:00
benchmarks Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
example Initial commit of a new testsuite feature: test categories. 2012-09-21 19:10:53 +00:00
expression_command Update test class name and comment to match test 2014-03-03 15:01:28 +00:00
functionalities This commit provides support for running the dosep.ty test driver with multiple threads. 2014-03-07 00:01:11 +00:00
help Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
lang Modified some test annotations so that tests on Linux that should be skipped don't show up as XFAIL. 2014-03-04 05:28:24 +00:00
linux/builtin_trap Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
logging Adjust logging test case after r201372 2014-02-14 16:06:35 +00:00
macosx Change the name of the test class for this test (was copy/paste value...) 2014-01-14 19:48:23 +00:00
make On FreeBSD "x86_64" is spelled "amd64" 2014-02-20 18:40:01 +00:00
pexpect-2.4 Eliminate kernel warning when running tests on FreeBSD 2014-02-18 21:33:10 +00:00
plugins Fix test execution on FreeBSD versions other than 9.x 2013-07-25 13:24:34 +00:00
python_api Enabled TestSetWatchlocation.py on Linux. 2014-02-28 17:28:44 +00:00
settings Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
source-manager Correctly set the working directory when launching processes for both local and remote targets. 2013-12-13 19:18:59 +00:00
terminal Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
types Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
unittest2 Added a simple legend to the unit test 'dots' output, to aid understandability. 2013-09-25 20:47:51 +00:00
warnings/uuid Massive test suite cleanup to stop everyone from manually having to compute "mydir" inside each test case. 2013-12-10 23:19:29 +00:00
.categories Initial commit of a new testsuite feature: test categories. 2012-09-21 19:10:53 +00:00
CMakeLists.txt Unset CFLAGS/CXXFLAGS when running tests via cmake/make check targets 2013-05-13 21:41:35 +00:00
Makefile Unset CFLAGS/CXXFLAGS when running tests via cmake/make check targets 2013-05-13 21:41:35 +00:00
README-TestSuite Fix a typo. 2013-08-13 14:06:16 +00:00
argparse_compat.py Include a small argparse compatibility layer for Python < 2.7 2013-02-16 09:05:23 +00:00
bench-history
bench.py
blacklist.py
crashinfo.c Alignment fix 2014-01-08 03:14:18 +00:00
dosep.ty This commit provides support for running the dosep.ty test driver with multiple threads. 2014-03-07 00:01:11 +00:00
dotest.py Fixed b18655: cleaned up script interpreter file reference handling. 2014-01-30 20:19:22 +00:00
lldbbench.py Tests decorated with @benchmarks_test do not participate in the remote-macosx test suite run. 2012-04-19 23:50:00 +00:00
lldbtest.py Use libc++ on FreeBSD as on Darwin 2014-02-02 19:24:15 +00:00
lldbutil.py Add TestConcurrentEvents test for LLDB's handling of inferior threads 2013-07-09 00:08:01 +00:00
progress.py The new progress bar mode was losing us information compared to the old dots mode in that we would have no way of knowing about test failures (short of peeking into the test result directory.. and you're not supposed to peek!) 2013-02-09 00:37:07 +00:00
redo.py The new ReadStringFromMemory() API does not work correctly with NSStrings that have an explicit length and no NULL terminator 2013-04-23 20:05:05 +00:00