asrob-uc3m/robotDevastation

Race conditions in MockupState prevent tests to pass in travis

Closed this issue · 1 comments

From comment 1:

I had to put a sleep function at a1021b5 because of race conditions in https://travis-ci.org/asrob-uc3m/robotDevastation/jobs/204284401#L3631. @jgvictores suggests implementing rd::MockupState as a RPC responder (yarp::os::PortReader class).

cc @David-Estevez

From comment 2:

The failed Travis build linked earlier corresponds to a GCC job, whereas Clang showed positive results. After having put the sleep function, GCC runs nice, but now Clang is stuck in an infinite loop: https://travis-ci.org/asrob-uc3m/robotDevastation/jobs/204323228#L3968. Notice two failed assertions in previous lines, which may be the cause. We might want to find a more reliable solution than the current one.

With quite a lot of help from @jgvictores, a RPC client-server model was implemented in testFSM and MockupState at 6b4757f. The build does not loop indefinitely and passes testFSM on both GCC and Clang jobs. I'll rewrite the branch and submit a patch for review on the next days.