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

Using cargo mutagen in CI pipeline #188

Open
dmoka opened this issue Jun 20, 2022 · 7 comments
Open

Using cargo mutagen in CI pipeline #188

dmoka opened this issue Jun 20, 2022 · 7 comments

Comments

@dmoka
Copy link

dmoka commented Jun 20, 2022

Hey!

I wonder what the options are to use mutagen in CI pipelines. I could not find any support about it such as GitHub actions or so.

The simplest I could do is to run cargo mutagen in a CI pipeline task and based on the result I could stop or continue the pipeline run. What would be the easiest way to achieve this, what do you think?

Of course, I am also up to create/submit a PR and change the code regarding, if there is not yet a solution for it.

Thank you!

@samuelpilz
Copy link
Contributor

Hi, what are your requirements for cargo mutagen for this task?

@dmoka
Copy link
Author

dmoka commented Aug 8, 2022

I meant a similar thing like the 2nd point of this issue

Given this said, my posted issue is duplicated as it is a part of the abovementioned issue, so we can close this if you feel so too.

@samuelpilz
Copy link
Contributor

Is this something like a mutationThreshold which pit for java has?

@dmoka
Copy link
Author

dmoka commented Aug 10, 2022

What I meant is having different exit codes for the cargo mutagen command, so based on that we can see what to do in a CI pipeline run.

This pit for java seems to be related to the target files, but to be honest I never really used this tool within the java ecosystem....

@llogiq
Copy link
Owner

llogiq commented Aug 30, 2022

So cargo mutagen should return an error code (instead of success) if at least one mutation survived? Or should we have a threshold?

@samuelpilz
Copy link
Contributor

The existence of equivalent mutations makes killing all mutations infeasible. Other mutation testing tools (and also coverage tools) typically use ratio-based thresholds.

@dmoka
Copy link
Author

dmoka commented Sep 5, 2022

@llogiq yes, exactly. If the ratio-based threshold is not reached, then we could return an error code, so the CI pipeline can be stopped.

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

No branches or pull requests

3 participants