diff options
Diffstat (limited to 'tests/cpass')
| -rw-r--r-- | tests/cpass/binds.rs | 31 | ||||
| -rw-r--r-- | tests/cpass/cfg.rs | 51 | ||||
| -rw-r--r-- | tests/cpass/late-not-send.rs | 34 | ||||
| -rw-r--r-- | tests/cpass/late-resource.rs | 20 | ||||
| -rw-r--r-- | tests/cpass/peripheral.rs | 18 | ||||
| -rw-r--r-- | tests/cpass/resource.rs | 81 | ||||
| -rw-r--r-- | tests/cpass/schedule.rs | 60 | ||||
| -rw-r--r-- | tests/cpass/spawn.rs | 59 |
8 files changed, 0 insertions, 354 deletions
diff --git a/tests/cpass/binds.rs b/tests/cpass/binds.rs deleted file mode 100644 index 897e083..0000000 --- a/tests/cpass/binds.rs +++ /dev/null @@ -1,31 +0,0 @@ -//! Check that `binds` works as advertised -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - #[init] - fn init(_: init::Context) {} - - #[exception(binds = SVCall)] - fn foo(c: foo::Context) { - foo_trampoline(c) - } - - #[interrupt(binds = UART0)] - fn bar(c: bar::Context) { - bar_trampoline(c) - } -}; - -#[allow(dead_code)] -fn foo_trampoline(_: foo::Context) {} - -#[allow(dead_code)] -fn bar_trampoline(_: bar::Context) {} diff --git a/tests/cpass/cfg.rs b/tests/cpass/cfg.rs deleted file mode 100644 index a0b6a87..0000000 --- a/tests/cpass/cfg.rs +++ /dev/null @@ -1,51 +0,0 @@ -//! Compile-pass test that checks that `#[cfg]` attributes are respected - -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - #[cfg(never)] - static mut FOO: u32 = 0; - - #[init] - fn init(_: init::Context) { - #[cfg(never)] - static mut BAR: u32 = 0; - } - - #[idle] - fn idle(_: idle::Context) -> ! { - #[cfg(never)] - static mut BAR: u32 = 0; - - loop {} - } - - #[task(resources = [FOO], schedule = [quux], spawn = [quux])] - fn foo(_: foo::Context) { - #[cfg(never)] - static mut BAR: u32 = 0; - } - - #[task(priority = 3, resources = [FOO], schedule = [quux], spawn = [quux])] - fn bar(_: bar::Context) { - #[cfg(never)] - static mut BAR: u32 = 0; - } - - #[cfg(never)] - #[task] - fn quux(_: quux::Context) {} - - extern "C" { - fn UART0(); - fn UART1(); - } -}; diff --git a/tests/cpass/late-not-send.rs b/tests/cpass/late-not-send.rs deleted file mode 100644 index 0f69096..0000000 --- a/tests/cpass/late-not-send.rs +++ /dev/null @@ -1,34 +0,0 @@ -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -use core::marker::PhantomData; - -pub struct NotSend { - _0: PhantomData<*const ()>, -} - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - static mut X: NotSend = (); - static mut Y: Option<NotSend> = None; - - #[init(resources = [Y])] - fn init(c: init::Context) -> init::LateResources { - *c.resources.Y = Some(NotSend { _0: PhantomData }); - - init::LateResources { - X: NotSend { _0: PhantomData }, - } - } - - #[idle(resources = [X, Y])] - fn idle(_: idle::Context) -> ! { - loop {} - } -}; diff --git a/tests/cpass/late-resource.rs b/tests/cpass/late-resource.rs deleted file mode 100644 index 37dcf33..0000000 --- a/tests/cpass/late-resource.rs +++ /dev/null @@ -1,20 +0,0 @@ -//! Runtime initialized resources -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - static mut X: u32 = (); - static Y: u32 = (); - - #[init] - fn init(_: init::Context) -> init::LateResources { - init::LateResources { X: 0, Y: 1 } - } -}; diff --git a/tests/cpass/peripheral.rs b/tests/cpass/peripheral.rs deleted file mode 100644 index 34352b8..0000000 --- a/tests/cpass/peripheral.rs +++ /dev/null @@ -1,18 +0,0 @@ -//! Core and device peripherals -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - #[init] - fn init(c: init::Context) { - let _: rtfm::Peripherals = c.core; - let _: lm3s6965::Peripherals = c.device; - } -}; diff --git a/tests/cpass/resource.rs b/tests/cpass/resource.rs deleted file mode 100644 index 4e92a03..0000000 --- a/tests/cpass/resource.rs +++ /dev/null @@ -1,81 +0,0 @@ -//! Check code generation of resources - -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -use rtfm::Exclusive; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - static mut O1: u32 = 0; // init - static mut O2: u32 = 0; // idle - static mut O3: u32 = 0; // EXTI0 - static O4: u32 = 0; // idle - static O5: u32 = 0; // EXTI1 - static O6: u32 = 0; // init - - static mut S1: u32 = 0; // idle & EXTI0 - static mut S2: u32 = 0; // EXTI0 & EXTI1 - static S3: u32 = 0; - - #[init(resources = [O1, O4, O5, O6, S3])] - fn init(c: init::Context) { - // owned by `init` == `&'static mut` - let _: &'static mut u32 = c.resources.O1; - - // owned by `init` == `&'static` if read-only - let _: &'static u32 = c.resources.O6; - - // `init` has exclusive access to all resources - let _: &mut u32 = c.resources.O4; - let _: &mut u32 = c.resources.O5; - let _: &mut u32 = c.resources.S3; - } - - #[idle(resources = [O2, O4, S1, S3])] - fn idle(mut c: idle::Context) -> ! { - // owned by `idle` == `&'static mut` - let _: &'static mut u32 = c.resources.O2; - - // owned by `idle` == `&'static` if read-only - let _: &'static u32 = c.resources.O4; - - // shared with `idle` == `Mutex` - c.resources.S1.lock(|_| {}); - - // `&` if read-only - let _: &u32 = c.resources.S3; - - loop {} - } - - #[interrupt(resources = [O3, S1, S2, S3])] - fn UART0(c: UART0::Context) { - // owned by interrupt == `&mut` - let _: &mut u32 = c.resources.O3; - - // no `Mutex` proxy when access from highest priority task - let _: Exclusive<u32> = c.resources.S1; - - // no `Mutex` proxy when co-owned by cooperative (same priority) tasks - let _: Exclusive<u32> = c.resources.S2; - - // `&` if read-only - let _: &u32 = c.resources.S3; - } - - #[interrupt(resources = [S2, O5])] - fn UART1(c: UART1::Context) { - // owned by interrupt == `&` if read-only - let _: &u32 = c.resources.O5; - - // no `Mutex` proxy when co-owned by cooperative (same priority) tasks - let _: Exclusive<u32> = c.resources.S2; - } -}; diff --git a/tests/cpass/schedule.rs b/tests/cpass/schedule.rs deleted file mode 100644 index 346f912..0000000 --- a/tests/cpass/schedule.rs +++ /dev/null @@ -1,60 +0,0 @@ -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -use rtfm::Instant; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - #[init(schedule = [foo, bar, baz])] - fn init(c: init::Context) { - let _: Result<(), ()> = c.schedule.foo(c.start + 10.cycles()); - let _: Result<(), u32> = c.schedule.bar(c.start + 20.cycles(), 0); - let _: Result<(), (u32, u32)> = c.schedule.baz(c.start + 30.cycles(), 0, 1); - } - - #[idle(schedule = [foo, bar, baz])] - fn idle(c: idle::Context) -> ! { - let _: Result<(), ()> = c.schedule.foo(Instant::now() + 40.cycles()); - let _: Result<(), u32> = c.schedule.bar(Instant::now() + 50.cycles(), 0); - let _: Result<(), (u32, u32)> = c.schedule.baz(Instant::now() + 60.cycles(), 0, 1); - - loop {} - } - - #[exception(schedule = [foo, bar, baz])] - fn SVCall(c: SVCall::Context) { - let _: Result<(), ()> = c.schedule.foo(c.start + 70.cycles()); - let _: Result<(), u32> = c.schedule.bar(c.start + 80.cycles(), 0); - let _: Result<(), (u32, u32)> = c.schedule.baz(c.start + 90.cycles(), 0, 1); - } - - #[interrupt(schedule = [foo, bar, baz])] - fn UART0(c: UART0::Context) { - let _: Result<(), ()> = c.schedule.foo(c.start + 100.cycles()); - let _: Result<(), u32> = c.schedule.bar(c.start + 110.cycles(), 0); - let _: Result<(), (u32, u32)> = c.schedule.baz(c.start + 120.cycles(), 0, 1); - } - - #[task(schedule = [foo, bar, baz])] - fn foo(c: foo::Context) { - let _: Result<(), ()> = c.schedule.foo(c.scheduled + 130.cycles()); - let _: Result<(), u32> = c.schedule.bar(c.scheduled + 140.cycles(), 0); - let _: Result<(), (u32, u32)> = c.schedule.baz(c.scheduled + 150.cycles(), 0, 1); - } - - #[task] - fn bar(_: bar::Context, _x: u32) {} - - #[task] - fn baz(_: baz::Context, _x: u32, _y: u32) {} - - extern "C" { - fn UART1(); - } -}; diff --git a/tests/cpass/spawn.rs b/tests/cpass/spawn.rs deleted file mode 100644 index 0a27c4f..0000000 --- a/tests/cpass/spawn.rs +++ /dev/null @@ -1,59 +0,0 @@ -//! Check code generation of `spawn` -#![deny(unsafe_code)] -#![deny(warnings)] -#![no_main] -#![no_std] - -extern crate lm3s6965; -extern crate panic_halt; -extern crate rtfm; - -#[rtfm::app(device = lm3s6965)] -const APP: () = { - #[init(spawn = [foo, bar, baz])] - fn init(c: init::Context) { - let _: Result<(), ()> = c.spawn.foo(); - let _: Result<(), u32> = c.spawn.bar(0); - let _: Result<(), (u32, u32)> = c.spawn.baz(0, 1); - } - - #[idle(spawn = [foo, bar, baz])] - fn idle(c: idle::Context) -> ! { - let _: Result<(), ()> = c.spawn.foo(); - let _: Result<(), u32> = c.spawn.bar(0); - let _: Result<(), (u32, u32)> = c.spawn.baz(0, 1); - - loop {} - } - - #[exception(spawn = [foo, bar, baz])] - fn SVCall(c: SVCall::Context) { - let _: Result<(), ()> = c.spawn.foo(); - let _: Result<(), u32> = c.spawn.bar(0); - let _: Result<(), (u32, u32)> = c.spawn.baz(0, 1); - } - - #[interrupt(spawn = [foo, bar, baz])] - fn UART0(c: UART0::Context) { - let _: Result<(), ()> = c.spawn.foo(); - let _: Result<(), u32> = c.spawn.bar(0); - let _: Result<(), (u32, u32)> = c.spawn.baz(0, 1); - } - - #[task(spawn = [foo, bar, baz])] - fn foo(c: foo::Context) { - let _: Result<(), ()> = c.spawn.foo(); - let _: Result<(), u32> = c.spawn.bar(0); - let _: Result<(), (u32, u32)> = c.spawn.baz(0, 1); - } - - #[task] - fn bar(_: bar::Context, _x: u32) {} - - #[task] - fn baz(_: baz::Context, _x: u32, _y: u32) {} - - extern "C" { - fn UART1(); - } -}; |
