ninja check-lldb hangs on OSX

Does anyone know how to get "ninja check-lldb" to work on OSX? It hangs
for me and never gets past the first test. (Note: this is after
pointing LLDB_DEBUGSERVER_PATH to a correctly signed debugserver).
FYI: I Have XCode 5.1.1 and Mavericks 10.9.4.
The tests appear to run ok when lldb is built in the XCode IDE
(tests run ia "Product->Scheme->Run Testsuite"), although they run so fast I
question if they are really doing anything.

Thanks in advance,
-Dawn

Dawn,

ninja check-lldb isn’t the way we typically run the test suite on Mac OS.
The way we do it is by running

./dotest.py -v

in the test/ subdirectory. The IDE “Run Tests” action does (as you surmised) nothing in our project.

Sean

Thanks Sean! From this I was able to figure out that I could test
the cmake+ninja build with:
    ./dotest.py -v --executable <builddir>/bin/lldb
Which I think tested things correctly, did it? At least the failure
counts were close when compared to the XCode built lldb results.

Thanks!
-Dawn

Hey Dawn,

For what its worth, if you’re attempting to test a cmake-based MacOSX build, I have yet to get that to ever work. There is a bunch of bundling and code signing operations that occur that don’t (AFAICT) happen in the cmake build. And so the tests can pick up the wrong frameworks and whatnot. If your line above does indeed look like it’s working, it might be worth taking a quick peek at one of the running tests to make sure it is really loading all the write dynamic bits (i.e. ensure you’re not getting some kind of frankenstein test setup where you’re using exes from your build but system-wide/xcode frameworks or something).

(And if you did find a way that works with ninja check-lldb, that’s awesome!)

-Todd

(er 'loading all the right dynamic bits…)

Separately, the check-lldb command uses the ‘dosep.py’ multicore test runner — which runs multiple tests at a time.

I’ve caught a few times where that test runner hits some unexpected lock-up conditions on MacOSX. Ideally we need to track down and fix those. The few times I’ve looked at it with sample graphs, it looks like some of the connection logic is locking up. It’s been lower priority since nobody on the cmake/configure build paths on MacOSX have been trying to run tests. The two options from here would be (1) have somebody track down the occasional lock-ups on multicore test runs on MacOSX, or (2) consider having MacOSX check-lldb switch to run tests via dotest.py (sequential test runs) instead of dosep.py (runs multiple test directories in parallel, one worker process per core available).

-Todd