Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add abort as coverage criteria #1120

Merged
merged 3 commits into from
Nov 22, 2020
Merged

Add abort as coverage criteria #1120

merged 3 commits into from
Nov 22, 2020

Conversation

mbj
Copy link
Owner

@mbj mbj commented Nov 22, 2020

[fix #1054]

@mbj mbj changed the title Add integration specs for termsigs Add abort as coverage criteria Nov 22, 2020
@mbj mbj force-pushed the add/abort-kill-criteria branch 4 times, most recently from 7e1f349 to d9c88d8 Compare November 22, 2020 22:47
@mbj mbj force-pushed the add/abort-kill-criteria branch from d9c88d8 to 170e8dd Compare November 22, 2020 22:48
@mbj mbj self-assigned this Nov 22, 2020
@mbj mbj merged commit 041780f into master Nov 22, 2020
@mbj mbj deleted the add/abort-kill-criteria branch November 22, 2020 23:07
def process_abort?
process_status = isolation_result.process_status or return false

!timeout? && !process_status.exited?
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason to not check for abnormal process exits on timeouts, is that on timeouts mutant causes an abnormal exit by itself via sending the process a SIGKILL.

Timeouts are a separate coverage criteria, hence "shadow" the result from being eligible from abnormal process exit coverage criteria.

#
# @return [Boolean]
def process_abort?
process_status = isolation_result.process_status or return false
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a noop isolation (used for debugging) that does NOT create a process status, hence we have to have this branch.

I wish we had a type system to cover all this cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stack level too deep when mutating included hook
1 participant