summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests/smpmrsp01/smpmrsp01.scn
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-11-26 11:51:34 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-11-27 10:33:31 +0100
commit5bd822a77973ab1f9e28e747b760600158966733 (patch)
treecbfaa69e04e7fb6b7783d8ba95debd68905ec8e1 /testsuites/smptests/smpmrsp01/smpmrsp01.scn
parentsmp: Fix scheduler helping protocol assertions (diff)
downloadrtems-5bd822a77973ab1f9e28e747b760600158966733.tar.bz2
smp: Fix scheduler helping protocol
Ensure that scheduler nodes in the SCHEDULER_HELP_ACTIVE_OWNER or SCHEDULER_HELP_ACTIVE_RIVAL helping state are always SCHEDULER_SMP_NODE_READY or SCHEDULER_SMP_NODE_SCHEDULED to ensure the MrsP protocol properties.
Diffstat (limited to '')
-rw-r--r--testsuites/smptests/smpmrsp01/smpmrsp01.scn22
1 files changed, 21 insertions, 1 deletions
diff --git a/testsuites/smptests/smpmrsp01/smpmrsp01.scn b/testsuites/smptests/smpmrsp01/smpmrsp01.scn
index a32d71f402..1fc8b6b577 100644
--- a/testsuites/smptests/smpmrsp01/smpmrsp01.scn
+++ b/testsuites/smptests/smpmrsp01/smpmrsp01.scn
@@ -5,7 +5,27 @@ test MrsP nested obtain error
test MrsP unlock order error
test MrsP deadlock error
test MrsP multiple obtain
-test MrsP unblock ready
+test MrsP various block and unblock
+[1] IDLE -> WORK (prio 4, node WORK)
+[0] MAIN -> IDLE (prio 3, node MAIN)
+[0] IDLE -> MAIN (prio 3, node MAIN)
+[1] WORK -> IDLE (prio 3, node WORK)
+[1] IDLE -> HIG1 (prio 2, node HIG1)
+[1] HIG1 -> IDLE (prio 3, node WORK)
+[1] IDLE -> HIG1 (prio 2, node HIG1)
+[1] HIG1 -> WORK (prio 3, node WORK)
+[1] WORK -> MAIN (prio 3, node WORK)
+[0] MAIN -> HIG0 (prio 2, node HIG0)
+[1] MAIN -> HIG1 (prio 2, node HIG1)
+[1] HIG1 -> WORK (prio 3, node WORK)
+[0] HIG0 -> MAIN (prio 3, node MAIN)
+[1] WORK -> MAIN (prio 3, node WORK)
+[0] MAIN -> HIG0 (prio 2, node HIG0)
+[1] MAIN -> HIG1 (prio 2, node HIG1)
+[1] HIG1 -> MAIN (prio 3, node WORK)
+[0] HIG0 -> IDLE (prio 4, node MAIN)
+[1] MAIN -> WORK (prio 3, node WORK)
+[0] IDLE -> MAIN (prio 4, node MAIN)
test MrsP obtain and sleep and release
[0] MAIN -> RUN (prio 2, node RUN)
[0] RUN -> MAIN (prio 1, node MAIN)