Improved unit test coverage of mig lib daemon #367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Improved unit test coverage of
mig/lib/daemon.pyto aim for complete coverage. Added a lot of corner case tests to test signal passing and handlers. Some of the tests include fuzzy timing assertions, which may need further tweaking to avoid false positives.Adds one new function to the tested library to remove already registered signal handlers, but it is only ever used in the unit tests so far.
Slightly tweaks
interruptible_sleepcorner cases to fail an assertion if called with non-positivenap_secsand to return right away if called withmax_sleepless thannap_secs. Both are unused corner cases only used in the test for now but they may or may not be of use to daemons in the future.