Question about TestMultipleDebuggers.py

Why is this marked @skipIfI386? I don’t see anything i386 specific about this test. Can this decorator be removed?

Why is this marked @skipIfI386? I don't see anything i386 specific about
this test. Can this decorator be removed?

I think skipping for i386 is only because most developers are using
64-bit hosts for development. [Heck, even the bots I think are all
64-bit hosts. Windows, I am not sure though.]

I think a more apt decorator would be @skipIfNotHostArch?

Why though? Unless the test explicitly doesn’t work on x86 architecture because it uses some unsupported feature, why skip it? If that were truly the reason, then we could just make the entire test suite disable support for i386.

Why though?

Foremost, I think it is because the lldb driver built as part of the
test is linked to the host lldb shared library. If you build a 32-bit
driver, we will need a 32-bit lldb shared library as well is it not?

Second, which I think can be fixed, is that we we load an x86_64
target explicitly here: multi-process-driver.cpp:104

Why though?

Foremost, I think it is because the lldb driver built as part of the
test is linked to the host lldb shared library. If you build a 32-bit
driver, we will need a 32-bit lldb shared library as well is it not?

yes, but the Makefile isn’t specifying the architecture to build. For me it’s building an x86 driver, my python distribution is x86 and the liblldb shared library is x86 too. So I don’t see what the problem is. If anything I’m not sure why it’s building an x64 driver on other platforms, since nothing in the Makefile specifies that the Driver should be x64.

Second, which I think can be fixed, is that we we load an x86_64
target explicitly here: multi-process-driver.cpp:104

I missed that, and that is a good enough reason for now. Although I think it should be xfail instead of skip, because this is easily fixable by just chekcing sizeof(void*) in the C++ side and passing a different arch when creating the target.

As an aside, this seems like it would be much better as a unit test instead of a python test, but I guess that’s a different issue.

I’ll change the skip to an xfail for now, but I still don’t see anything fundamentally incompatible with x86 here.

That is why, in my first response, I said that a more apt skip
decorator would be @skipIfNotHostArch (after ofcourse fixing the
explicit x86_64 target requirement in the driver.)

Ahh yea I missed that. Makes sense