Review: Needs Fixing

Hi Dmitrijs,

I think this is still subtly racy since it is possible that even in a failure 
scenario a partial log could be written.

The fix I'd suggest is:

(1) Put a check immediately after the 'nih_free (class)' in the TEST_ALLOC_SAFE 
block that performs the following checks:

- if test_alloc_failed is true, and the log file exists, just unlink it (there 
is no point in checking it as it might be only a partial log - we cannot know).

- if test_alloc_failed is not true, ensure the log file exists, check its 
contents and unlink it (essentially the block you have added).

(2) Re-instate the original 'assert0 (rmdir (dirname))' at the end of the test.


This way, there is no possibility of:

- the tests failing to detect that a full log was somehow written in a failure 
scenario.
- a failure resulting from a partial log being written in one of the failure 
iterations, followed by a successful write in the successful iteration (recall 
that the logs are appended to).


-- 
https://code.launchpad.net/~xnox/upstart/fix-qemu-test/+merge/137223
Your team Upstart Reviewers is subscribed to branch lp:upstart.

-- 
upstart-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/upstart-devel

Reply via email to