-
Notifications
You must be signed in to change notification settings - Fork 55
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
feature request: Invert status #28
Comments
If I understand you correctly, I think this would probably require something more interesting than a binary search - we need the status to be monotonic (i.e. change only once). Perhaps I'm misunderstanding you though? We certainly can naively see if the status has changed under us and warn/print that... |
Status changing only once is fine, its just that currently cargo-bisect-rustc requires the start end to always succeed and the end end to always fail. |
Basically my goal today was to see where a bug was fixed, rather than appeared :) |
You could use a script which inverts the execution result. #!/bin/sh
! cargo check |
I think I'd be happy to accept a PR for this change.. not sure I'll get a chance myself in the next few days. |
Using a script worked for me and I used the trick more than once since. I think this is a common enough want to implement it in bisect-rustc but I also don't think it is super critical. |
Also added some other variants, to resolve rust-lang#28. Just to spell it out: * --regress=error is the default: an error status (program rejection or ICE) is a regression. * --regress=success is probably what you want for rust-lang#28, to see where a fix was injected. * --regress=ice is what you want if you're looking for where an ICE was injected. * --regress=non-error is what you want if you know the code should be a static error, but the bug is causing either ICEs or invalid successes to show up.
Add ability to look for any change in success status. i.e. not only went from good to bad, but also from bad to good.
The text was updated successfully, but these errors were encountered: