annotate TaskManager/test/MailManagerTest.cc @ 649:55f898a58748

MailManager Fifo fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 22 Nov 2009 18:53:05 +0900
parents f1e10ba45d28
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
648
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include "TaskManager/MailManager.h"
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 static void
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 fail(const char *reason)
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 {
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 printf("MailManagerTest failed %s", reason);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 static void
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 tester(MailManagerPtr m, int size)
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 {
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
649
55f898a58748 MailManager Fifo fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 648
diff changeset
14 for(int i=0;i<size;i++) {
648
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 m->send((memaddr)i);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 }
649
55f898a58748 MailManager Fifo fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 648
diff changeset
17 for(int i=0;i<size;i++) {
648
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 if (m->count()==0) {
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 fail("early read fail\n"); break;
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 if (m->recv()!=(memaddr)i) {
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 fail("read data fail\n"); break;
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 static void
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 test1() {
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 MailManagerPtr m = new MailManager();
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 tester(m,16);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 tester(m,32);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 tester(m,48);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 delete m;
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 MailManagerPtr m1 = new MailManager(40);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 tester(m1,16);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 tester(m1,48);
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 delete m1;
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 int
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 main(int ac, const char *av[])
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 {
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 test1();
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 printf("MailManagerTest succeed\n");
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 }
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46
f1e10ba45d28 Mail modification. Working on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 /* end */