Ebuild lit tests
Patching
The file lit.site.cfg
has to be inspected for any incorrect calls to executables. For example see src_prepare
function form dev-lang/boogie.
Eclasses
Because we will need to specify how many threads should lit
run we need to inherit multiprocessing
to detect how many parallel jobs the portage config sets.
1 |
inherit multiprocessing
|
Dependencies
Ensure that dev-python/lit
is in BDEPEND
, but also additional packages may be needed, for example dev-python/OutputCheck
.
1 2 3 4 5 6 7 |
BDEPEND=" ${RDEPEND} test? ( dev-python/lit dev-python/OutputCheck ) " |
Bad tests
To deal with bad test you can simply remove the files causing the failures.
1 2 3 4 5 6 7 8 9 |
local -a bad_tests=( civl/inductive-sequentialization/BroadcastConsensus.bpl civl/inductive-sequentialization/PingPong.bpl livevars/bla1.bpl ) local bad_test for bad_test in ${bad_tests[@]} ; do rm "${S}"/Test/${bad_test} || die done |
Test phase
--threads $(makeopts_jobs)
specifies how many parallel tests to run.
--verbose
option will show output of failed tests.
Last lit
argument specifies where lit
should look for lit.site.cfg
and tests.
1 2 3 |
src_test() { lit --threads $(makeopts_jobs) --verbose "${S}"/Test || die } |