From 86468257446cf8639bc1e0d3b4cbe382321582a5 Mon Sep 17 00:00:00 2001 From: Bjoern Brandenburg Date: Mon, 27 Jul 2015 15:05:06 +0200 Subject: Testcases: create PCP and DFLP locks with invalid CPU parameters --- tests/locks.c | 17 +++++++++++++++++ tests/pcp.c | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) (limited to 'tests') diff --git a/tests/locks.c b/tests/locks.c index 6156532..be72b7c 100644 --- a/tests/locks.c +++ b/tests/locks.c @@ -141,6 +141,23 @@ TESTCASE(lock_dflp, P_FP, SYSCALL( remove(".dflp_locks") ); } +TESTCASE(dflp_bad_cpu, P_FP, + "DFLP reject bad CPU parameter") +{ + int fd, cpu = 0xbadca5e; + + SYSCALL( fd = open(".dflp_locks", O_RDONLY | O_CREAT, S_IRUSR) ); + + SYSCALL( sporadic_partitioned(ms2ns(10), ms2ns(100), 0) ); + SYSCALL( task_mode(LITMUS_RT_TASK) ); + + SYSCALL_FAILS(EINVAL, open_dflp_sem(fd, 0, cpu) ); + + SYSCALL( close(fd) ); + + SYSCALL( remove(".dflp_locks") ); +} + TESTCASE(srp_lock_mode_change, P_FP | PSN_EDF, "SRP task becomes non-RT task while holding lock") { diff --git a/tests/pcp.c b/tests/pcp.c index 9cafd27..9c9b6f2 100644 --- a/tests/pcp.c +++ b/tests/pcp.c @@ -40,6 +40,23 @@ TESTCASE(lock_pcp, P_FP, SYSCALL( remove(".pcp_locks") ); } +TESTCASE(pcp_bad_cpu, P_FP, + "PCP reject bad CPU parameter") +{ + int fd, cpu = 0xbadca5e; + + SYSCALL( fd = open(".pcp_locks", O_RDONLY | O_CREAT, S_IRUSR) ); + + SYSCALL( sporadic_partitioned(ms2ns(10), ms2ns(100), 0) ); + SYSCALL( task_mode(LITMUS_RT_TASK) ); + + SYSCALL_FAILS(EINVAL, open_pcp_sem(fd, 0, cpu) ); + + SYSCALL( close(fd) ); + + SYSCALL( remove(".pcp_locks") ); +} + TESTCASE(pcp_inheritance, P_FP, "PCP priority inheritance") { -- cgit v1.2.2