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 a way of unittesting #70

Open
MathiasKoch opened this issue Jun 19, 2019 · 3 comments
Open

Add a way of unittesting #70

MathiasKoch opened this issue Jun 19, 2019 · 3 comments

Comments

@MathiasKoch
Copy link

Would it be possible for someone with experience in such, to add some examples of adding unit testing and possibly integration testing to a project like this?

Maybe even using https://github.com/japaric/utest to allow qemu emulations?

I myself is struggling a lot to work it out, but i don't think it is very simple.. Or at least not very well documented.

@korken89
Copy link
Contributor

korken89 commented Aug 6, 2019

The simple way to do it is to have one "binary" crate and one "firmware" crate. In the firmware crate you can have testing and everything as normal as this crate does not have to be compiled with the thumb targets.

@rubberduck203
Copy link
Contributor

I actually started working on this at one point.
There's an example of running unit tests on your dev machine in the examples directory.

https://github.com/rust-embedded/cortex-m-quickstart/blob/master/examples/test_on_host.rs

@korken89
Copy link
Contributor

This is a good way, but if you do want to use the .cargo/config file so cargo build uses the embedded target directly it can become annoying.
I have a reference here if one wants to compare the 2 approaches and then choose the one that the person likes the best: https://github.com/korken89/rust-embedded-example-project

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