| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- #include "test_common.h"
- TEST_START
- #if PIKA_SYNTAX_SLICE_ENABLE
- TEST(builtin, bytes) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/bytes.py");
- /* collect */
- uint8_t* res = obj_getBytes(pikaMain, "res");
- /* assert */
- EXPECT_EQ(res[1], 1);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if PIKA_BUILTIN_STRUCT_ENABLE
- TEST(builtin, type1) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/type.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[1], "BEGIN\r\n");
- EXPECT_STREQ(log_buff[0], "OK\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL
- TEST(builtin, seek) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/seek.py");
- /* collect */
- int len = obj_getInt(pikaMain, "len");
- /* assert */
- EXPECT_EQ(len, 3576);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if (PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL)
- TEST(builtin, file2) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/file2.py");
- /* collect */
- char* s = obj_getStr(pikaMain, "s");
- /* assert */
- EXPECT_STREQ(s, "import PikaStdLib\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL
- TEST(builtin, file3) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/file3.py");
- /* collect */
- /* assert */
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if (PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL) && !PIKA_POOL_ENABLE
- TEST(builtin, bigfile) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/bigfile.py");
- /* collect */
- // uint8_t* b = obj_getBytes(pikaMain, "b");
- /* assert */
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- TEST(builtin, nofound) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/file_nofound.py");
- /* collect */
- /* assert */
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #if PIKA_SYNTAX_LEVEL == PIKA_SYNTAX_LEVEL_MAXIMAL
- TEST(builtin, callback_1) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "test/python/callback/test1.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "b\r\n");
- EXPECT_STREQ(log_buff[1], "a\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(builtin, utf8) {
- /* init */
- pikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- pikaVM_runSingleFile(pikaMain, "../../examples/BuiltIn/utf8.py");
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[2], "你好,Hello, Bonjour.\r\n");
- EXPECT_STREQ(log_buff[1], "你好,Hello, Bonjour.\r\n");
- EXPECT_STREQ(log_buff[0], "Hi, Hello, Bonjour.\r\n");
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- TEST_END
|