aboutsummaryrefslogtreecommitdiffstats
path: root/test/testmsg.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-02-23 18:59:39 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-02-23 18:59:39 +0000
commit6f6e1a6401eda000dce198150937c7919b4c9855 (patch)
treeb85e95a84dc9618c4abdf9150fdb9ea6070afe4f /test/testmsg.c
parentb3b1028036a2f18327fb97f2126192a2ace62bb2 (diff)
downloadChibiOS-6f6e1a6401eda000dce198150937c7919b4c9855.tar.gz
ChibiOS-6f6e1a6401eda000dce198150937c7919b4c9855.tar.bz2
ChibiOS-6f6e1a6401eda000dce198150937c7919b4c9855.zip
Improved messages subsystem.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2759 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'test/testmsg.c')
-rw-r--r--test/testmsg.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/test/testmsg.c b/test/testmsg.c
index 881db167f..14b6d8186 100644
--- a/test/testmsg.c
+++ b/test/testmsg.c
@@ -64,11 +64,11 @@ static msg_t thread(void *p) {
chMsgSend(p, 'A');
chMsgSend(p, 'B');
chMsgSend(p, 'C');
- chMsgSend(p, 'D');
return 0;
}
static void msg1_execute(void) {
+ Thread *tp;
msg_t msg;
/*
@@ -76,29 +76,19 @@ static void msg1_execute(void) {
*/
threads[0] = chThdCreateStatic(wa[0], WA_SIZE, chThdGetPriority() + 1,
thread, chThdSelf());
- chMsgRelease(msg = chMsgWait());
+ tp = chMsgWait();
+ msg = chMsgGet(tp);
+ chMsgRelease(tp, msg);
test_emit_token(msg);
- chMsgRelease(msg = chMsgWait());
+ tp = chMsgWait();
+ msg = chMsgGet(tp);
+ chMsgRelease(tp, msg);
test_emit_token(msg);
- chMsgRelease(msg = chMsgWait());
+ tp = chMsgWait();
+ msg = chMsgGet(tp);
+ chMsgRelease(tp, msg);
test_emit_token(msg);
test_assert_sequence(1, "ABC");
-
- /*
- * Testing message fetch using chMsgGet().
- * Note, the following is valid because the sender has higher priority than
- * the receiver.
- */
- msg = chMsgGet();
- test_assert(1, msg != 0, "no message");
- chMsgRelease(0);
- test_assert(2, msg == 'D', "wrong message");
-
- /*
- * Must not have pending messages.
- */
- msg = chMsgGet();
- test_assert(3, msg == 0, "unknown message");
}
ROMCONST struct testcase testmsg1 = {