report correct error if teardown after failure in no fork mode
In nofork mode, the location of a failed assertion within a test
case is lost if that test case has a checked teardown fixture
(even if that fixture function is empty).
The reason why this happens is this: the end of the message sequence
coming down the pipe is CK_MSG_LOC (location of failing test),
CK_MSG_FAIL, CK_MSG_CTX (TEARDOWN). It is this final message that
confuses things, because rcvmsg_update_ctx() updates rmsg->lastctx
(which I suspect is the right thing for it to do), which is the ctx
value used by the first 'if' body in construct_test_result() in its
call to tr_set_loc_by_ctx().
The solution is to initialize tr->ctx to rmsg->failctx if
it is not CK_CTX_INVALID.
Bug #99.
git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@1193
64e312b2-a51f-0410-8e61-
82d0ca0eb02a