Sparse testing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

With regards to the recent discussion of the pain in merging changes,
and also generally, I think that the Sparse test suite needs to be
enhanced. My impression is that most tests do not validate the
generated linearized IR. The sparse-llvm tests do not validate the
generated LLVM IR either.

Without such validation it is hard to detect when some change breaks
stuff. I think that having robust tests will also ease the pain of
merging contributions as you will be able to detect breaks more
reliably.

Because of this reason, I have been reluctant to merge changes into my
repository as I first want to have a set of regression tests that I
can run whenever I merge changes. I have done some work on this. As
validating sparse IR and LLVM IR is relatively difficult since even a
spurious change in the IR output will cause tests to fail - the
approach I have taken is that all tests are designed to be run. The
success of the test is therefore determined by whether the compiled
test runs correctly and generates the required outputs.

Ideally we need a mix of simple unit tests and complex real life
programs, as not all issues can be caught by simple tests.

I am happy to contribute the tests I have been creating. I have
sourced many of them from other opensource projects: I think that they
are all permissively licensed. But even if some license conflicts, all
that is needed is excluding the tests from the distribution I think.
In my view it is still worth having these tests run every time there
is a change.

Unfortunately all my tests need a working sparse-llvm component. So
until all the changes I have done are reflected in sparse, the tests
will not compile I think. As I have reported before the current patch
series does not cover all the fixes, therefore additional fixes are
needed.

Regards
Dibyendu
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux