Running unit tests against remote debugserver

Hi all,

I’ve been trying to run the unit tests on my Mavericks MBP against a debugserver running on a VMware Fusion Yosemite guest. I’m getting lots of failures (100+) so I’m probably doing something wrong. I’ve done a lot of searching but I haven’t been able to find recent instructions.

I did find this

http://lists.cs.uiuc.edu/pipermail/lldb-dev/2013-December/002854.html

which is encouraging, but I was hoping to try on OSX first. (Can I even SSH into an iOS device without jailbreaking it?)

  1. Is this supposed to work?
  2. What steps do you do to run the tests?
  3. What failures are you getting?

Thanks,

Vince

Hi all,

I've been trying to run the unit tests on my Mavericks MBP against a debugserver running on a VMware Fusion Yosemite guest. I'm getting lots of failures (100+) so I'm probably doing something wrong. I've done a lot of searching but I haven't been able to find recent instructions.

I did find this
http://lists.cs.uiuc.edu/pipermail/lldb-dev/2013-December/002854.html
which is encouraging, but I was hoping to try on OSX first. (Can I even SSH into an iOS device without jailbreaking it?)

1) Is this supposed to work?

You can't run on an iOS device without jailbreaking it.

It is starting to work. I have gotten the "test/lang" directory to be able to be run remotely here at Apple:

On the VMWare Fusion guest you should be able to compile the lldb-platform and run it:

vm% ./lldb-platform --listen=2000 --stay-alive

Then you should be able to run the test suite with it:

host% ./dotest.py --arch=x86_64 --platform-name remote-macosx --platform-url connect://localhost:2000 --platform-working-dir /vm/path/workingdir ./test/lang

When debugging to a remote device sometimes you use some sort of port forwarding using port offsets. So say your VMWare fusion has all of its ports offset by 10000 (open a port on VMWare using 2000, but if you were to connect to it from the remote machine you would connect to 12000 (port offset of 10000), you can currently do this:

vm% ./lldb-platform --listen=2000 --stay-alive --port-offset=10000

host% ./dotest.py --arch=x86_64 --platform-name remote-macosx --platform-url connect://localhost:12000 --platform-working-dir /vm/path/workingdir ./test/lang

2) What steps do you do to run the tests?

So I have only tested test/lang:

host% ./dotest.py --arch=x86_64 --platform-name remote-macosx --platform-url connect://localhost:12000 --platform-working-dir /vm/path/workingdir ./test/lang

3) What failures are you getting?

I am able to run all these tests remotely on iOS with special internal device installs. We will need to work out some of the kinks in the "remote-macosx" or whatever other platform you plan on testing with. The platforms do things like uploading files, installing files, etc.

What is your VMWare setup targeting?

Awesome. This is very helpful. I’m working on getting this functional for Linux now, too.