annotate src/parallel_execution/test/stack_test.c @ 208:b6ffdd99e525

fix generate_context
author mir3636
date Tue, 20 Dec 2016 19:39:51 +0900
parents 7470b8382672
children 50d0d1b468aa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
1 #include "../stack.h"
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include "../context.h"
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "../origin_cs.h"
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include <assert.h>
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
5 extern __code initContext(struct Context* context);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
7 __code stack_test1(struct Context* context, struct Task* task, struct Stack* stack) {
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
8 task->code = C_stack_test1;
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
9 stack->next = C_stack_test2;
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
10 stack->data = (union Data*)task;
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
11 goto meta(context, stack->push);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
14 __code stack_test1_stub(struct Context* context) {
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 Task* task = &ALLOCATE(context, Task)->Task;
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
16 struct Stack* stack = &(createSingleLinkedStack(context)->Stack);
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
17 assert(stack->stack->SingleLinkedStack.top == NULL);
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
18 context->data[D_Stack]->Stack.stack = (union Data*)stack;
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
19 goto stack_test1(context,
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 task,
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
21 &context->data[D_Stack]->Stack.stack->Stack);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
24 __code stack_test2(struct Context* context, struct Task* task, struct Stack* stack) {
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
25 task->code = C_stack_test2;
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
26 stack->next = C_stack_test3;
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
27 stack->data = (union Data*)task;
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
28 goto meta(context, stack->push);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
31 __code stack_test2_stub(struct Context* context) {
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
32 assert(context->data[D_Stack]->Stack.stack->Stack.stack->SingleLinkedStack.top->data->Task.code == C_stack_test1);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 Task* task = &ALLOCATE(context, Task)->Task;
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
34 goto stack_test2(context,
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 task,
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
36 &context->data[D_Stack]->Stack.stack->Stack);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
39 __code stack_test3(struct Context* context, struct Stack* stack) {
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
40 stack->next = C_stack_test4;
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
41 goto meta(context, stack->pop);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
44 __code stack_test3_stub(struct Context* context) {
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
45 assert(context->data[D_Stack]->Stack.stack->Stack.stack->SingleLinkedStack.top->data->Task.code == C_stack_test2);
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
46 assert(context->data[D_Stack]->Stack.stack->Stack.stack->SingleLinkedStack.top->data->Task.code == C_stack_test1);
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
47 goto stack_test3(context,
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
48 &context->data[D_Stack]->Stack.stack->Stack);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
51 __code stack_test4(struct Context* context) {
208
b6ffdd99e525 fix generate_context
mir3636
parents: 207
diff changeset
52 goto meta(context, exit_code);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
202
42dbe54332a0 add test
mir3636
parents: 182
diff changeset
55 __code stack_test4_stub(struct Context* context) {
207
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
56 assert(context->data[D_Stack]->Stack.stack->Stack.data->Task.code == C_stack_test1);
7470b8382672 Fix compile error to stack_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 205
diff changeset
57 assert(context->data[D_Stack]->Stack.stack->Stack.stack->SingleLinkedStack.top->data->Task.code == C_stack_test1);
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
58 goto stack_test4(context);
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 }
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 int main(int argc, char const* argv[]) {
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 struct Context* main_context = NEW(struct Context);
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 initContext(main_context);
205
1b15f02ec713 Fix queue test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 202
diff changeset
64 main_context->next = C_stack_test1;
182
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 goto start_code(main_context);
57a11c15ff4c Add queue_test
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 }