| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639 |
- #include "test_common.h"
- TEST_START
- #if PIKA_SYNTAX_IMPORT_EX_ENABLE
- TEST(module, cmodule_import) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain,
- "from TemplateDevice import qqee\n"
- "mytime = qqee()\n");
- /* collect */
- /* assert */
- /* deinit */
- EXPECT_STREQ("NameError: name 'TemplateDevice.qqee' is not defined\r\n",
- log_buff[2]);
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- TEST(module, while_loop) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain,
- "import test_module1\n"
- "test_module1.while_loop()\n");
- /* collect */
- /* assert */
- EXPECT_STREQ("4\r\n", log_buff[0]);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, for_loop) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain,
- "import test_module1\n"
- "test_module1.for_loop()\n");
- /* collect */
- /* assert */
- EXPECT_STREQ("9\r\n", log_buff[0]);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, script) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain, "import test_module4\n");
- /* collect */
- /* assert */
- EXPECT_STREQ("imported test moulde4\r\n", log_buff[0]);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, __init__) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain, "import GTestTask\n");
- /* collect */
- /* assert */
- EXPECT_EQ(obj_getInt(pikaMain, "GTestTask.testval"), 8848);
- EXPECT_STREQ(log_buff[0], "BEGIN\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #if PIKA_SYNTAX_IMPORT_EX_ENABLE
- TEST(module, __init__2) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain, "import GTestTask as task\n");
- /* collect */
- /* assert */
- EXPECT_EQ(obj_getInt(pikaMain, "task.testval"), 8848);
- EXPECT_STREQ(log_buff[0], "BEGIN\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if PIKA_SYNTAX_IMPORT_EX_ENABLE
- TEST(module, import_as_issue1) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- __platform_printf("BEGIN\r\n");
- /* run */
- obj_run(pikaMain,
- "import import_test as my_import\n"
- "print(my_import.func())\n"
- "print(import_test.func())\n");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "hello\r\n");
- EXPECT_STREQ(log_buff[1], "hello\r\n");
- EXPECT_STREQ(log_buff[2], "BEGIN\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL
- TEST(module, unittest_test1) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/unittest/test1.py");
- /* collect */
- int testsRun = obj_getInt(pikaMain, "res.testsRun");
- int errorsNum = obj_getInt(pikaMain, "res.errorsNum");
- /* assert */
- EXPECT_EQ(testsRun, 3);
- EXPECT_EQ(errorsNum, 0);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL
- TEST(module, unittest_test2) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/unittest/test2.py");
- /* collect */
- int testsRun = obj_getInt(pikaMain, "res.testsRun");
- int errorsNum = obj_getInt(pikaMain, "res.errorsNum");
- /* assert */
- EXPECT_EQ(testsRun, 4);
- EXPECT_EQ(errorsNum, 1);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, unittest_test3) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/unittest/test3.py");
- /* collect */
- int testsRun = obj_getInt(pikaMain, "res.testsRun");
- int errorsNum = obj_getInt(pikaMain, "res.errorsNum");
- /* assert */
- EXPECT_EQ(testsRun, 1);
- EXPECT_EQ(errorsNum, 0);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- TEST(socket, gethostname) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/socket/gethostname.py");
- /* collect */
- /* assert */
- EXPECT_EQ(ARG_TYPE_STRING, args_getType(pikaMain->list, "hostname"));
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #if !PIKA_NANO_ENABLE
- TEST(socket, server_client) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/socket/server_client.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[2], "recv from client: 127.0.0.1\r\n");
- EXPECT_STREQ(log_buff[1], "server recv: send test from client\r\n");
- EXPECT_STREQ(log_buff[0], "client recv: send test from server\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(socket, thread) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/socket/socket_thread.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[4], "socket server accepted at 127.0.0.1\r\n");
- EXPECT_STREQ(log_buff[3], "socket server recv: hello\r\n");
- EXPECT_STREQ(log_buff[2], "client recv: hello\r\n");
- EXPECT_STREQ(log_buff[1], "socket server closing accept\r\n");
- EXPECT_STREQ(log_buff[0], "socket server closing\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #if PIKA_FLOAT_TYPE_DOUBLE
- TEST(socket, json_issue) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/socket/socket_json.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[2],
- "client recv: "
- "{\n\t\"code\":\t0,\n\t\"result\":\t{\n\t\t\"a_a\":\t{"
- "\n\t\t\t\"desc\":\t\"A "
- "\347\233\270\347\224\265\346\265\201\",\n\t\t\t\"value\":\t0."
- "29\n\t\t}\n\t}\n}\r\n");
- EXPECT_STREQ(log_buff[4],
- "client recv: "
- "{\n\t\"code\":\t0,\n\t\"result\":\t{\n\t\t\"a_a\":\t{"
- "\n\t\t\t\"desc\":\t\"A "
- "\347\233\270\347\224\265\346\265\201\",\n\t\t\t\"value\":\t0."
- "29\n\t\t}\n\t}\n}\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- TEST_RUN_SINGLE_FILE_ASSERT(socket,
- socket_GET,
- "test/python/socket/socket_GET.py",
- obj_getBool(pikaMain, "res") == pika_true)
- TEST_RUN_SINGLE_FILE_PASS(socket,
- socket_DNS,
- "test/python/socket/socket_DNS.py")
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(re, match) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/re/match.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[3], "BEGIN\r\n");
- EXPECT_STREQ(log_buff[2],
- "matchObj.group(0) : Cats are smarter than dogs\r\n");
- EXPECT_STREQ(log_buff[1], "matchObj.group(1) : Cats\r\n");
- EXPECT_STREQ(log_buff[0], "matchObj.group(2) : smarter\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(re, search) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/re/search.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[2], "BEGIN\r\n");
- EXPECT_STREQ(log_buff[1], "(0, 3)\r\n");
- EXPECT_STREQ(log_buff[0], "(11, 14)\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(re, sub) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/re/sub.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[2], "BEGIN\r\n");
- EXPECT_STREQ(log_buff[1], "the phone number is: 2004-959-559 \r\n");
- EXPECT_STREQ(log_buff[0], "the phone number is: 2004959559\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(re, findall) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/re/findall.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[2], "BEGIN\r\n");
- EXPECT_STREQ(
- log_buff[1],
- "[('2020', '1', '1'), ('2022', '12', '22'), ('2018', '3', '31')]\r\n");
- EXPECT_STREQ(
- log_buff[0],
- "date: 2020, 2022, 2018. Wrong format: 2031-13-31, 2032-12-33 ...\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(modbus, rtu_master) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/modbus/rtu_master.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[6], "BEGIN\r\n");
- EXPECT_STREQ(log_buff[5],
- "b'\\x01\\x03\\x00\\x00\\x00\\x0a\\xc5\\xcd'\r\n");
- EXPECT_STREQ(log_buff[4], "[0, 0, 1234, 0, 0, 123, 0, 0, 0, 0]\r\n");
- EXPECT_STREQ(log_buff[3],
- "b'\\x01\\x04\\x00\\x00\\x00\\x02\\x71\\xcb'\r\n");
- EXPECT_STREQ(log_buff[2], "[0, 2278]\r\n");
- EXPECT_STREQ(log_buff[1],
- "b'\\x01\\x06\\x00\\x00\\x12\\x34\\x84\\xbd'\r\n");
- EXPECT_STREQ(log_buff[0],
- "b'\\x01\\x0f\\x00\\x00\\x00\\x08\\x01\\x57\\xbf\\x6b'\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(proxy, test1) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/proxy/proxy1.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[1], "BEGIN\r\n");
- EXPECT_STREQ(log_buff[0], "set value = 20\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(issue, global) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/issue/issue_global.py");
- /* collect */
- /* assert */
- EXPECT_EQ(obj_getInt(pikaMain, "testpara.timer2_flag"), 1);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, mod1_mod2_mod1) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- obj_run(pikaMain,
- "import test_module1\n"
- "test_module1.test_module2.test_module1.mytest()");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "test_module_1_hello\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, improt_as_cmodule) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- obj_run(pikaMain, "from PikaStdData import String as string\n");
- /* collect */
- /* assert */
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- extern "C" {
- volatile FILE* f_getchar_fp = NULL;
- char f_getchar(void) {
- char c = 0;
- size_t n = fread(&c, 1, 1, (FILE*)f_getchar_fp);
- if (n > 0) {
- return c;
- }
- pika_platform_printf("f_getchar error\r\n");
- pika_assert(0);
- return -1;
- }
- void pikaScriptShell_withGetchar(PikaObj* self, sh_getchar getchar_fn);
- }
- TEST(module, REPL_runbytecode) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- f_getchar_fp = fopen("package/pikascript/cjson_test.py.o", "rb");
- pikaScriptShell_withGetchar(pikaMain, f_getchar);
- fclose((FILE*)f_getchar_fp);
- obj_run(pikaMain, "test_start()");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "shopping\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, REPL_pya) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- f_getchar_fp =
- fopen("package/pikascript/pikascript-api/pikaModules.py.a", "rb");
- pikaScriptShell_withGetchar(pikaMain, f_getchar);
- fclose((FILE*)f_getchar_fp);
- // obj_run(pikaMain, "test_start()");
- /* collect */
- /* assert */
- // EXPECT_STREQ(log_buff[0], "shopping\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, REPL_script) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- f_getchar_fp = fopen("test/python/UnitTest.py", "rb");
- pikaScriptShell_withGetchar(pikaMain, f_getchar);
- fclose((FILE*)f_getchar_fp);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[4], "mem used max:\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, REPL_script_2) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- f_getchar_fp = fopen("test/python/UnitTest2.py", "rb");
- pikaScriptShell_withGetchar(pikaMain, f_getchar);
- fclose((FILE*)f_getchar_fp);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[1], "mem used max:\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, REPL_big_script) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- f_getchar_fp = fopen("package/pikascript/cjson_test.py", "rb");
- pikaScriptShell_withGetchar(pikaMain, f_getchar);
- fclose((FILE*)f_getchar_fp);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0],
- "\r\nError: line buff overflow, please use bigger "
- "'PIKA_LINE_BUFF_SIZE'\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(module, REPL_stdtask) {
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- extern unsigned char pikaModules_py_a[];
- obj_linkLibrary(pikaMain, pikaModules_py_a);
- /* run */
- __platform_printf("BEGIN\r\n");
- f_getchar_fp = fopen("test/python/std/stdtask.py", "rb");
- pikaScriptShell_withGetchar(pikaMain, f_getchar);
- fclose((FILE*)f_getchar_fp);
- /* collect */
- /* assert */
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST_RUN_SINGLE_FILE(modbus,
- rtu_master_err,
- "test/python/modbus/rtu_master_err.py")
- TEST_RUN_SINGLE_FILE_PASS(proxy, proxy3, "test/python/proxy/proxy3.py")
- #if PIKA_FLOAT_TYPE_DOUBLE
- TEST_RUN_SINGLE_FILE_PASS(struct, pack, "test/python/struct/pack.py")
- TEST_RUN_SINGLE_FILE_PASS(struct, unpack, "test/python/struct/unpack.py")
- #endif
- #endif
- TEST_END
|