[LLVMdev] QEMU testing for LIT execution tests

Brian M. Rzycki brzycki at gmail.com
Mon Aug 25 08:57:55 PDT 2014


Hi Jon,

I'm doing work in a similar vein as yours at the moment. We have several
arm platforms (hardware and qemu) running either Linux or Android and want
to run test-suite on them using x86->arm/aarch64 cross compilers dispatched
via LNT.

I've had some success bypassing lit and LNT by modifying RunSafely.sh
within test-suite. It's likely this won't completely solve your problem but
I think it would be a good idea to find the right path forward. I posted
the patch I made in another thread on the list, titled under "test-suite
RunSafely.sh remote execution with test copy". I'm using a variant on the
method you outlined talking with Dan Albert to accomplish it.  Like your
code it's a bit of a hack, but I've gotten it to work provided the remote
host has ssh and scp. I decided against the adb path for simplicity and
consistency in the code modifications. Were a solution provided that had
both ssh/scp and adb I'd be thrilled.

Finally, I've done some work on getting Ubuntu 14.04LTS aarch64 running on
Qemu but have not yet posted the instructions online. If you (or anyone) is
interested please let me know and I'll make it a priority to document the
steps I used.

-Brian


On Thu, Aug 21, 2014 at 7:42 PM, Jonathan Roelofs <jonathan at codesourcery.com
> wrote:

> Dan/Daniel/Eric,
>
> I'm testing a bare-metal ARM toolchain, and I've hacked up my local copy
> of lit to get it to run libcxx tests on qemu. I wanted to pick your
> collective brains to see if there was a better way of doing this.
>
> What I have implemented is here (don't take this as a formal review
> request, we can do that later once we figure out the best direction to go):
> lit part:    http://reviews.llvm.org/D5014
> libcxx part: http://reviews.llvm.org/D5015
>
>
>
> Talking with Dan Albert earlier, he pointed out an existing review (
> http://reviews.llvm.org/D4594) where he has implemented something vaguely
> similar for Android. Looking at that, I've realized that maybe it makes
> sense to make an interface for the different actions of:
>   *  Compiling the test
>      o  Maybe the compiler isn't on the machine that runs the test?
>      o  Maybe the compile jobs could be distributed to different machines?
>   *  Running the test
>      o  Perhaps the test needs to be sent out to a remote device?
>      o  Perhaps the test can be scheduled on more than one remote device?
>
> Then that interface could be implemented in a couple of generic ways:
>   *  scp & ssh for remote hosts (or QEMU with an OS image)
>   *  Wrapper around Android's adb
>   *  Thin wrapper around "run it in this machine's shell" (what we
> currently have)
>
> What are your thoughts on this? Is this worth pursuing? What other
> use-cases can we support by structuring LIT this way? I don't yet have a
> concrete proposal for what this would look like, but I can throw one
> together if there's interest.
>
>
> Cheers,
>
> Jon
>
> --
> Jon Roelofs
> jonathan at codesourcery.com
> CodeSourcery / Mentor Embedded
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140825/2fba1d99/attachment.html>


More information about the llvm-dev mailing list