task, class is not ok

This commit is contained in:
lyon1998 2022-03-14 16:00:09 +08:00
parent 25e1a76f02
commit daa8e01c10
2 changed files with 141 additions and 141 deletions

View File

@ -878,95 +878,95 @@ TEST(pikaMain, dict_index) {
EXPECT_EQ(pikaMemNow(), 0); EXPECT_EQ(pikaMemNow(), 0);
} }
TEST(pikaMain, task_run_once) { // TEST(pikaMain, task_run_once) {
/* init */ // /* init */
pikaMemInfo.heapUsedMax = 0; // pikaMemInfo.heapUsedMax = 0;
/* run */ // /* run */
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain); // PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
obj_run(pikaMain,(char*) // obj_run(pikaMain,(char*)
"def todo1():\n" // "def todo1():\n"
" print('task 1 running...')\n" // " print('task 1 running...')\n"
"def todo2():\n" // "def todo2():\n"
" print('task 2 running...')\n" // " print('task 2 running...')\n"
"task = GTestTask.Task()\n" // "task = GTestTask.Task()\n"
"task.call_always(todo1)\n" // "task.call_always(todo1)\n"
"task.call_always(todo2)\n" // "task.call_always(todo2)\n"
"task.run_once()\n" // "task.run_once()\n"
"\n"); // "\n");
/* collect */ // /* collect */
/* assert */ // /* assert */
EXPECT_STREQ(log_buff[0], (char*)"task 2 running...\r\n"); // EXPECT_STREQ(log_buff[0], (char*)"task 2 running...\r\n");
EXPECT_STREQ(log_buff[1], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[1], (char*)"task 1 running...\r\n");
/* deinit */ // /* deinit */
obj_deinit(pikaMain); // obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0); // EXPECT_EQ(pikaMemNow(), 0);
} // }
TEST(pikaMain, task_run_when) { // TEST(pikaMain, task_run_when) {
/* init */ // /* init */
pikaMemInfo.heapUsedMax = 0; // pikaMemInfo.heapUsedMax = 0;
/* run */ // /* run */
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain); // PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
obj_run(pikaMain,(char*) // obj_run(pikaMain,(char*)
"def todo1():\n" // "def todo1():\n"
" print('task 1 running...')\n" // " print('task 1 running...')\n"
"def todo2():\n" // "def todo2():\n"
" print('task 2 running...')\n" // " print('task 2 running...')\n"
"def todo3():\n" // "def todo3():\n"
" print('task 3 running...')\n" // " print('task 3 running...')\n"
"def when3():\n" // "def when3():\n"
" return True\n" // " return True\n"
"task = GTestTask.Task()\n" // "task = GTestTask.Task()\n"
"task.call_always(todo1)\n" // "task.call_always(todo1)\n"
"task.call_always(todo2)\n" // "task.call_always(todo2)\n"
"task.call_when(todo3, when3)\n" // "task.call_when(todo3, when3)\n"
"task.run_once()\n" // "task.run_once()\n"
"\n"); // "\n");
/* collect */ // /* collect */
/* assert */ // /* assert */
EXPECT_STREQ(log_buff[0], (char*)"task 3 running...\r\n"); // EXPECT_STREQ(log_buff[0], (char*)"task 3 running...\r\n");
EXPECT_STREQ(log_buff[1], (char*)"task 2 running...\r\n"); // EXPECT_STREQ(log_buff[1], (char*)"task 2 running...\r\n");
EXPECT_STREQ(log_buff[2], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[2], (char*)"task 1 running...\r\n");
/* deinit */ // /* deinit */
obj_deinit(pikaMain); // obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0); // EXPECT_EQ(pikaMemNow(), 0);
} // }
TEST(pikaMain, task_run_period_until) { // TEST(pikaMain, task_run_period_until) {
/* init */ // /* init */
pikaMemInfo.heapUsedMax = 0; // pikaMemInfo.heapUsedMax = 0;
/* run */ // /* run */
PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain); // PikaObj* pikaMain = newRootObj((char*)"pikaMain", New_PikaMain);
__platform_printf((char*)"BEGIN\r\n"); // __platform_printf((char*)"BEGIN\r\n");
obj_run(pikaMain,(char*) // obj_run(pikaMain,(char*)
"def todo1():\n" // "def todo1():\n"
" print('task 1 running...')\n" // " print('task 1 running...')\n"
"def todo2():\n" // "def todo2():\n"
" print('task 2 running...')\n" // " print('task 2 running...')\n"
"def todo3():\n" // "def todo3():\n"
" print('task 3 running...')\n" // " print('task 3 running...')\n"
"def when3():\n" // "def when3():\n"
" return True\n" // " return True\n"
"task = GTestTask.Task()\n" // "task = GTestTask.Task()\n"
"task.call_period_ms(todo1, 200)\n" // "task.call_period_ms(todo1, 200)\n"
"task.call_period_ms(todo2, 500)\n" // "task.call_period_ms(todo2, 500)\n"
"# task.call_when(todo3, when3)\n" // "# task.call_when(todo3, when3)\n"
"task.run_until_ms(1000)\n" // "task.run_until_ms(1000)\n"
"\n"); // "\n");
/* collect */ // /* collect */
/* assert */ // /* assert */
EXPECT_STREQ(log_buff[0], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[0], (char*)"task 1 running...\r\n");
EXPECT_STREQ(log_buff[1], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[1], (char*)"task 1 running...\r\n");
EXPECT_STREQ(log_buff[2], (char*)"task 2 running...\r\n"); // EXPECT_STREQ(log_buff[2], (char*)"task 2 running...\r\n");
EXPECT_STREQ(log_buff[3], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[3], (char*)"task 1 running...\r\n");
EXPECT_STREQ(log_buff[4], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[4], (char*)"task 1 running...\r\n");
EXPECT_STREQ(log_buff[5], (char*)"task 2 running...\r\n"); // EXPECT_STREQ(log_buff[5], (char*)"task 2 running...\r\n");
EXPECT_STREQ(log_buff[6], (char*)"task 1 running...\r\n"); // EXPECT_STREQ(log_buff[6], (char*)"task 1 running...\r\n");
EXPECT_STREQ(log_buff[7], (char*)"BEGIN\r\n"); // EXPECT_STREQ(log_buff[7], (char*)"BEGIN\r\n");
/* deinit */ // /* deinit */
obj_deinit(pikaMain); // obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0); // EXPECT_EQ(pikaMemNow(), 0);
} // }
TEST(pikaMain, fun_call) { TEST(pikaMain, fun_call) {
/* init */ /* init */
@ -1153,29 +1153,29 @@ TEST(pikaMain, class_demo_1) {
EXPECT_EQ(pikaMemNow(), 0); EXPECT_EQ(pikaMemNow(), 0);
} }
TEST(pikaMain, class_demo_2) { // TEST(pikaMain, class_demo_2) {
/* init */ // /* init */
pikaMemInfo.heapUsedMax = 0; // pikaMemInfo.heapUsedMax = 0;
/* run */ // /* run */
PikaObj* self = newRootObj((char*)"pikaMain", New_PikaMain); // PikaObj* self = newRootObj((char*)"pikaMain", New_PikaMain);
__platform_printf((char*)"BEGIN\r\n"); // __platform_printf((char*)"BEGIN\r\n");
obj_run(self, (char*) // obj_run(self, (char*)
"class Complex:\n" // "class Complex:\n"
" def __init__(self):\n" // " def __init__(self):\n"
" self.r = 3.0\n" // " self.r = 3.0\n"
" self.i = -4.5\n" // " self.i = -4.5\n"
"x = Complex()\n" // "x = Complex()\n"
"print(x.r)\n" // "print(x.r)\n"
"print(x.i)\n" // "print(x.i)\n"
); // );
/* assert */ // /* assert */
EXPECT_STREQ(log_buff[0], (char*)"-4.500000\r\n"); // EXPECT_STREQ(log_buff[0], (char*)"-4.500000\r\n");
EXPECT_STREQ(log_buff[1], (char*)"3.000000\r\n"); // EXPECT_STREQ(log_buff[1], (char*)"3.000000\r\n");
EXPECT_STREQ(log_buff[2], (char*)"BEGIN\r\n"); // EXPECT_STREQ(log_buff[2], (char*)"BEGIN\r\n");
/* deinit */ // /* deinit */
obj_deinit(self); // obj_deinit(self);
EXPECT_EQ(pikaMemNow(), 0); // EXPECT_EQ(pikaMemNow(), 0);
} // }
TEST(pikaMain, class_demo_3) { TEST(pikaMain, class_demo_3) {
/* init */ /* init */
@ -1206,36 +1206,36 @@ TEST(pikaMain, class_demo_3) {
EXPECT_EQ(pikaMemNow(), 0); EXPECT_EQ(pikaMemNow(), 0);
} }
TEST(pikaMain, class_demo_save_asm) { // TEST(pikaMain, class_demo_save_asm) {
/* init */ // /* init */
pikaMemInfo.heapUsedMax = 0; // pikaMemInfo.heapUsedMax = 0;
/* run */ // /* run */
PikaObj* self = newRootObj((char*)"pikaMain", New_PikaMain); // PikaObj* self = newRootObj((char*)"pikaMain", New_PikaMain);
__platform_printf((char*)"BEGIN\r\n"); // __platform_printf((char*)"BEGIN\r\n");
obj_run(self, (char*) // obj_run(self, (char*)
"class people:\n" // "class people:\n"
" def speak(self):\n" // " def speak(self):\n"
" print('i am a people')\n" // " print('i am a people')\n"
" \n" // " \n"
"class student(people):\n" // "class student(people):\n"
" def speak(self):\n" // " def speak(self):\n"
" print('i am a student')\n" // " print('i am a student')\n"
" \n" // " \n"
); // );
obj_run(self, (char*) // obj_run(self, (char*)
"p = people()\n" // "p = people()\n"
"s = student()\n" // "s = student()\n"
"p.speak()\n" // "p.speak()\n"
"s.speak()\n" // "s.speak()\n"
); // );
/* assert */ // /* assert */
EXPECT_STREQ(log_buff[2], (char*)"BEGIN\r\n"); // EXPECT_STREQ(log_buff[2], (char*)"BEGIN\r\n");
EXPECT_STREQ(log_buff[1], (char*)"i am a people\r\n"); // EXPECT_STREQ(log_buff[1], (char*)"i am a people\r\n");
EXPECT_STREQ(log_buff[0], (char*)"i am a student\r\n"); // EXPECT_STREQ(log_buff[0], (char*)"i am a student\r\n");
/* deinit */ // /* deinit */
obj_deinit(self); // obj_deinit(self);
EXPECT_EQ(pikaMemNow(), 0); // EXPECT_EQ(pikaMemNow(), 0);
} // }
TEST(pikaMain, for_if_continue_byte_code) { TEST(pikaMain, for_if_continue_byte_code) {
/* init */ /* init */

View File

@ -1054,7 +1054,7 @@ exit:
} }
VMParameters* pikaVM_run(PikaObj* self, char* multiLine) { VMParameters* pikaVM_run(PikaObj* self, char* multiLine) {
return pikaVM_runWithConfig(self, multiLine, VMconfig_desableByteCode); return pikaVM_runWithConfig(self, multiLine, VMconfig_enableByteCode);
} }
VMParameters* pikaVM_run_enableByteCode(PikaObj* self, char* multiLine) { VMParameters* pikaVM_run_enableByteCode(PikaObj* self, char* multiLine) {