diff options
| author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-04-16 22:54:18 +0000 |
|---|---|---|
| committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-04-16 22:54:18 +0000 |
| commit | 77def324548e204d3a36a4e89eb528904c381158 (patch) | |
| tree | 98d6835a2048d96bbe4df0173731df82feee7c21 /tests | |
| parent | e1e4c98cb900a1425b583edeb12cd3df7ff34ea1 (diff) | |
| parent | aa7eec02996aca9304187f36d674d5fe898aece6 (diff) | |
Merge #170
170: check task priority at compile time r=TeXitoi a=japaric
before we were checking the priority at runtime. The compile time error message
when the priority is too high is kind of awful though.
Co-authored-by: Jorge Aparicio <jorge@japaric.io>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/cfail/priority-too-high.rs | 22 | ||||
| -rw-r--r-- | tests/cfail/priority-too-low.rs | 22 |
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/cfail/priority-too-high.rs b/tests/cfail/priority-too-high.rs new file mode 100644 index 0000000..ec32401 --- /dev/null +++ b/tests/cfail/priority-too-high.rs @@ -0,0 +1,22 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] //~ error evaluation of constant value failed +const APP: () = { + #[init] + fn init() {} + + // OK, this is the maximum priority supported by the device + #[interrupt(priority = 8)] + fn UART0() {} + + // this value is too high! + #[interrupt(priority = 9)] + fn UART1() {} +}; diff --git a/tests/cfail/priority-too-low.rs b/tests/cfail/priority-too-low.rs new file mode 100644 index 0000000..6dcbfd6 --- /dev/null +++ b/tests/cfail/priority-too-low.rs @@ -0,0 +1,22 @@ +#![no_main] +#![no_std] + +extern crate lm3s6965; +extern crate panic_halt; +extern crate rtfm; + +use rtfm::app; + +#[app(device = lm3s6965)] +const APP: () = { + #[init] + fn init() {} + + // OK, this is the minimum priority that tasks can have + #[interrupt(priority = 1)] + fn UART0() {} + + // this value is too low! + #[interrupt(priority = 0)] //~ error this literal must be in the range 1...255 + fn UART1() {} +}; |
