mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-15 08:30:02 +00:00
kernel-test: add testcase for ticktimer/kernel bustage
The ticktimer server breaks spectacularly with this. Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
0e8c231758
commit
2d7dda93a9
2 changed files with 24 additions and 8 deletions
|
|
@ -5,11 +5,15 @@ fn sleep_loop(sleep_ms: usize) {
|
|||
let ticktimer_server_id = xous::SID::from_bytes(b"ticktimer-server").unwrap();
|
||||
let ticktimer_conn = xous::connect(ticktimer_server_id).unwrap();
|
||||
let tid = xous::current_tid().unwrap();
|
||||
let sleep_ms = match tid {
|
||||
4 => 50,
|
||||
2 => 10,
|
||||
3 => 20,
|
||||
_ => panic!("Unknown TID"),
|
||||
let pid = xous::current_pid().unwrap().get();
|
||||
let sleep_ms = match (pid, tid) {
|
||||
(5, 2) => 10,
|
||||
(5, 3) => 20,
|
||||
(5, 4) => 50,
|
||||
(6, 2) => 3000,
|
||||
(6, 3) => 7000,
|
||||
(6, 4) => 12000,
|
||||
_ => panic!("Unknown TID/PID"),
|
||||
};
|
||||
// log::info!("My thread number is {}, sleeping 0x{:08x} ({}) ms", tid, sleep_ms, sleep_ms);
|
||||
|
||||
|
|
@ -25,7 +29,8 @@ fn sleep_loop(sleep_ms: usize) {
|
|||
ticktimer_server::sleep_ms(ticktimer_conn, sleep_ms).unwrap();
|
||||
let end_time = ticktimer_server::elapsed_ms(ticktimer_conn).unwrap();
|
||||
log::info!(
|
||||
"TEST THREAD {}: target {}ms, {} loops: Sleep finished (uptime: {}, took {} ms)",
|
||||
"TEST THREAD {}:{}: target {}ms, {} loops: Sleep finished (uptime: {}, took {} ms)",
|
||||
pid,
|
||||
tid,
|
||||
sleep_ms,
|
||||
loop_count,
|
||||
|
|
@ -41,7 +46,9 @@ fn test_main() -> ! {
|
|||
log_server::init_wait().unwrap();
|
||||
xous::create_thread_simple(sleep_loop, 10).unwrap();
|
||||
xous::create_thread_simple(sleep_loop, 5).unwrap();
|
||||
xous::create_thread_simple(sleep_loop, 2).unwrap();
|
||||
if xous::current_pid().unwrap().get() == 6 {
|
||||
xous::create_thread_simple(sleep_loop, 2).unwrap();
|
||||
}
|
||||
|
||||
// let mut ms_count = 1;
|
||||
loop {
|
||||
|
|
|
|||
|
|
@ -74,7 +74,16 @@ fn try_main() -> Result<(), DynError> {
|
|||
let task = env::args().nth(1);
|
||||
match task.as_deref() {
|
||||
Some("renode-image") => renode_image(false, &hw_pkgs)?,
|
||||
Some("renode-test") => renode_image(false, &["ticktimer-server", "log-server", "xous-names", "kernel-test"])?,
|
||||
Some("renode-test") => renode_image(
|
||||
false,
|
||||
&[
|
||||
"ticktimer-server",
|
||||
"log-server",
|
||||
"xous-names",
|
||||
"kernel-test",
|
||||
"kernel-test",
|
||||
],
|
||||
)?,
|
||||
Some("renode-image-debug") => renode_image(true, &hw_pkgs)?,
|
||||
Some("run") => run(false)?,
|
||||
Some("hw-image") => build_hw_image(false, env::args().nth(2), &hw_pkgs)?,
|
||||
|
|
|
|||
Loading…
Reference in a new issue