Page MenuHomePhabricator

tests: add failsafe timeout for tests running in fork mode
ClosedPublic

Authored by zmike on Jul 30 2018, 9:58 AM.

Details

Summary

some tests manage to deadlock themselves on travis, seemingly due to some
hard to reproduce issues which are a result of the extremely low amount of
resources available on travis builds

this adds a simple 'timeout' process which does nothing but sleep(60);
and then returns. the exiting of this process will cause the main test
process to break out of the deadlock and then exit instead of timing out
a ci build

Depends on D6731

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
zmike created this revision.Jul 30 2018, 9:58 AM
zmike requested review of this revision.Jul 30 2018, 9:58 AM
zmike updated this revision to Diff 16039.Aug 1 2018, 9:40 AM

add includes for kill() usage

bu5hm4n requested changes to this revision.Aug 3 2018, 1:00 AM
bu5hm4n added inline comments.
src/tests/timeout.c
12

mhmmm why using a sperated binary for this ? wouldn't be a simple "sleep 60" in line 311 enough ?

This revision now requires changes to proceed.Aug 3 2018, 1:00 AM
zmike requested review of this revision.Aug 6 2018, 4:17 AM

Because that would make the tests unconditionally take 60 seconds to run, which is the opposite of what is wanted.

stefan_schmidt accepted this revision.Aug 16 2018, 1:10 AM

I am not really happy that we need to have these kind of fallback mechanisms for the testsuite. In the sake of moving forward with it for now I am ok with it though.

This revision was not accepted when it landed; it landed in state Needs Review.Aug 16 2018, 1:26 AM
This revision was automatically updated to reflect the committed changes.