diff options
Diffstat (limited to 'tests/cfail/tasks-same-handler.rs')
-rw-r--r-- | tests/cfail/tasks-same-handler.rs | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/tests/cfail/tasks-same-handler.rs b/tests/cfail/tasks-same-handler.rs deleted file mode 100644 index fdd8b063..00000000 --- a/tests/cfail/tasks-same-handler.rs +++ /dev/null @@ -1,98 +0,0 @@ -// error-pattern: field `Exti0` specified more than once - -#![feature(used)] - -#[macro_use] -extern crate cortex_m_rtfm as rtfm; - -use rtfm::{P0, P1, P2, T0, T1, T2, TMax}; -use device::interrupt::{Exti0, Exti1}; - -// WRONG: Two tasks mapped to the same interrupt handler -tasks!(device, { - j1: Task { - interrupt: Exti0, - priority: P1, - enabled: true, - }, - j2: Task { - interrupt: Exti0, - priority: P2, - enabled: true, - }, -}); - -fn init(_: P0, _: &TMax) {} - -fn idle(_: P0, _: T0) -> ! { - loop {} -} - -fn j1(_task: Exti0, _prio: P1, _thr: T1) {} - -fn j2(_task: Exti0, _prio: P2, _thr: T2) {} - -// fake device crate -extern crate core; -extern crate cortex_m; - -mod device { - pub mod interrupt { - use cortex_m::ctxt::Context; - use cortex_m::interrupt::Nr; - - extern "C" fn default_handler<T>(_: T) {} - - pub struct Handlers { - pub Exti0: extern "C" fn(Exti0), - pub Exti1: extern "C" fn(Exti1), - pub Exti2: extern "C" fn(Exti2), - } - - pub struct Exti0; - pub struct Exti1; - pub struct Exti2; - - pub enum Interrupt { - Exti0, - Exti1, - Exti2, - } - - unsafe impl Nr for Interrupt { - fn nr(&self) -> u8 { - 0 - } - } - - unsafe impl Context for Exti0 {} - - unsafe impl Nr for Exti0 { - fn nr(&self) -> u8 { - 0 - } - } - - unsafe impl Context for Exti1 {} - - unsafe impl Nr for Exti1 { - fn nr(&self) -> u8 { - 0 - } - } - - unsafe impl Context for Exti2 {} - - unsafe impl Nr for Exti2 { - fn nr(&self) -> u8 { - 0 - } - } - - pub const DEFAULT_HANDLERS: Handlers = Handlers { - Exti0: default_handler, - Exti1: default_handler, - Exti2: default_handler, - }; - } -} |