Implement --randomize-powerset feature
Resolves #265.
Thanks for the PR! I'm positive on adding this feature. However:
- CI is failing, so please fix that.
- It should be able to be fixed by running
cargo fmtand adding the words listed here to.github/.cspell/project-dictionary.txt.
- It should be able to be fixed by running
- Usually, I tend to choose
fastrandoverrandas a library for randomization unlessrandis necessary for security reasons.- As for
rand, I have experienced several maintenance pains with it in the past. (For example, the ones mentioned in https://github.com/rust-lang/futures-rs/pull/2641#issuecomment-1243975665.) - It does not necessarily need to be done as part of this PR.
- However, I think I need to address that before I release this feature, so if you can address that in this PR, I can publish a new release right after I merge this PR.
- As for
Is it a good idea to also add (in this PR) a pagination options (like --powerset-start-from=3000 --powerset-num-tests=1000) for splitting big scans over multiple invocations?
As for the addition of other options, it would be easier to review if they were separated into separate PRs.
As for the addition of other options, it would be easier to review if they were separated into separate PRs.
Implemented as a continuation PR: https://github.com/vi/cargo-hack/pull/1
Note that for some reason it includes empty feature set case in each run.
Any updates on this? can I help somehow? This will help me a lot, currently I have ~80 jobs, where only ~15 of them have meaningful tests, I partition them, but the biggest tests all fall on the same partition :(
@elichai As discussed in https://github.com/vi/cargo-hack/pull/1, what is needed here is for someone to take over https://github.com/taiki-e/cargo-hack/pull/255 and complete it.
@elichai As discussed in vi#1, what is needed here is for someone to take over #255 and complete it.
Thank you! Commented there to understand better what's missing. (if you don't have the capacity and/or my comments are not helpful feel free to ignore me :) )