Skip to content
This repository has been archived by the owner on Mar 26, 2024. It is now read-only.

Integrate MIRI into cargo make and ci #26

Open
TrueDoctor opened this issue Sep 9, 2019 · 8 comments
Open

Integrate MIRI into cargo make and ci #26

TrueDoctor opened this issue Sep 9, 2019 · 8 comments
Assignees
Labels
enhancement New feature or request infra Anything related to the infra, rask is currently hosted on.

Comments

@TrueDoctor
Copy link
Member

No description provided.

@TrueDoctor TrueDoctor added the infra Anything related to the infra, rask is currently hosted on. label Sep 9, 2019
@Ma27
Copy link
Member

Ma27 commented Sep 15, 2019

tl;dr it seems as the miri crate is not present as rustup component for each nightly build. As I'm not sure about the implications of that decisions, I decided to delay this issue until I've managed to bump our Rust version (hopefully fixing all of the other issues we have at our current setup).

Didn't manage to do more for this, sorry for that! %)

@TrueDoctor
Copy link
Member Author

Sorry, should have made that clear in the issue:
https://github.com/rust-lang/miri#running-miri-on-ci

@Ma27
Copy link
Member

Ma27 commented Oct 16, 2019

Current status regarding workspaces: rust-lang/miri#1001

I have a simple change for this in my git stash and watch the issue, so I can do this as soon as this is fixed :)

@TrueDoctor TrueDoctor added the enhancement New feature or request label Feb 28, 2020
@TrueDoctor
Copy link
Member Author

Miri does not seem to be available for current nightly versions. Seems like we have to wait a little longer

@Ma27
Copy link
Member

Ma27 commented Mar 2, 2020

Hmm.... I'm afraid that this will make it way harder to bump nightly when using MIRI in the future. Let me find out later today if this can be easily packaged in Arch and Nix so we can use it locally and in the CI.

@TrueDoctor
Copy link
Member Author

If it does not even build with recent nightly versions: https://rust-lang-nursery.github.io/rust-toolstate/
I'd suggest we focus our resources on more productive things than trying to make this work

@TrueDoctor
Copy link
Member Author

currently non of our binary targets work with miri, since they use instructions not supported by miri.
The only currently working crate are the unit tests in rask-engine, which use purely safe stable rust code

@konsumlamm
Copy link
Collaborator

currently non of our binary targets work with miri, since they use instructions not supported by miri.

That is unfortunate. We could however make tests that only test the parts that are supported by miri, as described here:

When compiling code via cargo miri, the miri config flag is set. You can use this to ignore test cases that fail under Miri because they do things Miri does not support:

#[test]
#[cfg_attr(miri, ignore)]
fn does_not_work_on_miri() {
    std::thread::spawn(|| println!("Hello Thread!"))
        .join()
        .unwrap();
}

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request infra Anything related to the infra, rask is currently hosted on.
Projects
None yet
Development

No branches or pull requests

3 participants