Unit tests - ARM


is there any option to run LLVM unit tests on ARM from your desktop? I mean, the code is properly cross-compiled on your desktop and you want to run the unit tests automatically on an ARM board. Chrood might work, but I am looking for some option like <runremote.sh --host XXX --user …>. I have seen something related to it in projects/test-suite/Makefile.programs (REMOTE_HOST, REMOTE_CLIENT, etc.), but I haven´t found more information about these options.

Thanks in advance,

Hi Raul,

So, you are compiling a cross-compiler and want to test it?

IIRC, there are no tests that actually run compiled code in the LLVM
and Clang testsuites. LLVM and Clang tests just run the appropriate
parts of the compiler and check that output matches. There are such
tests in compiler-rt, but unless you are changing that, I think you
should not worry about it.


Hi Raul,

I've successfully run them over ssh using LNT without too much
difficulty. There is documentation on getting started with the LNT
system here: http://llvm.org/docs/lnt/quickstart.html.

It doesn't specifically mention remote execution, but if you give the
lnt command a "--help" option then there are a few reasonably
self-explanatory options described (--remote, --remote-host,
--remote-port, --remote-dir).

I think the main problem I had was that LNT couldn't cope with Clang's
version string when it had been compiled with CMake so I just ran a
quick autotools build.


This has been fixed. Nightly tests run just fine (on Intel). :wink:

I use variants on the following command:

make -k TEST=simple ARCH=ARM TARGET_FLAGS="-arch armv7 -isysroot path-to-sdk -ccc-install-dir path-to-binutils" USE_REFERENCE_OUTPUT=1 REMOTE_HOST=localhost REMOTE_USER=root REMOTE_CLIENT=ssh REMOTE_PORT=10022 DISABLE_JIT=1 DISABLE_CBE=1 SMALL_PROBLEM_SIZE=1 TARGET_CC=path-to-clang TARGET_CXX=path-to-clang++ report

That assumes key-based ssh authentication (so you don't get password prompted for every execution) and that the test suite directory is is mounted on the target at the same pathname as it is on the host. Personally, I just NFS mount my home directory on the ARM target.


Ok! thanks for such information.