OS X and parallel test framework issue

Hi all,

Anybody have any thoughts on this bug? I spent some time over the weekend tracking down why the LLDB parallelized test running infrastructure is not speeding up OS X test runs. What I saw essentially looked like critical section-like behavior somewhere in the chain of python running the worker thread’s ‘system’ call to the real unit test python code.

It’s as if one of these is serializing calls across all threads on my OS X 10.9 setup:

  • python system call to launch unit tests
  • python unit testing framework
  • lldb python module
  • lldb innards

On my system I have 8 threads all ready to do the python system call in the worker thread but only one is progressing at a time. By contrast, on my Linux setup I can get 32 of these to happen simultaneously with no blockage.

Any thoughts? See the bug for some extra logging I added that will show what each worker thread is doing and when it’s ready to try to run an underlying test.

Thanks! Getting this resolved should reduce OS X test run times significantly based on # cores available.