[LLVMdev] make check issue with llvm-cov

Justin Bogner mail at justinbogner.com
Fri Feb 21 00:21:24 PST 2014


reed kotler <rkotler at mips.com> writes:
> On a native mips linux machine, we are failing a make check test which 
> seems like it is supposed to already xfail.

I think you're mistaken. The test below looks like it's passing.

> For one, the file test.c does not even exist (it is called test.cpp)

This should probably be test.o, rather than test.c or test.cpp, but the
interface to llvm-cov is compatible with gcov, which completely ignores
the file given as an argument other than to base the .gcno and .gcno
file names on it.

> And in the test file there is a line:
> XFAIL: powerpc64, s390x, mips, sparc

This is a crude attempt at "XFAIL: big-endian". The mips entry here is
just wrong if the system is little-endian - the test passes on
little-endian machines and fails on big-endian. This is obviously a
problem.

> The script in make check thinks that it passed but clearly it does not. 
> llvm-cov is returning 0 in this case.

I'm not sure which case you're referring to. This test file really has
too many tests in it, which makes it confusing to debug failures.
Someone (me?) should probably split this into several tests that invoke
llvm-cov once each. The use of diff should be replaced with FileCheck as
well, so that error messages are clearer.

In any case, all of the llvm-cov calls except the read/checksum fail
invocations should (and do) return zero on little-endian. I think the
only problem here is that the XFAIL line is wrong.



More information about the llvm-dev mailing list