| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #include "test_common.h"
- TEST_START
- TEST(sysObj, print) {
- PikaObj* obj = newRootObj("test", New_PikaStdLib_SysObj);
- VMParameters* globals = obj_run(obj, "print('hello world')");
- // char* sysOut = args_getSysOut(globals->list);
- int errCode = args_getErrorCode(globals->list);
- // printf("sysout = %s\r\n", sysOut);
- EXPECT_STREQ(log_buff[0], "hello world\r\n");
- // ASSERT_STREQ("hello world", sysOut);
- ASSERT_EQ(0, errCode);
- // obj_deinit(globals);
- obj_deinit(obj);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(sysObj, noMethod) {
- PikaObj* obj = newRootObj("test", New_PikaStdLib_SysObj);
- __platform_printf("BEGIN\r\n");
- obj_run(obj, "printttt('hello world')");
- // char* sysOut = args_getSysOut(globals->list);
- // int errCode = args_getErrorCode(globals->list);
- // printf("sysout = %s\r\n", sysOut);
- // ASSERT_EQ(1, strEqu("[error] runner: method no found.", sysOut));
- EXPECT_STREQ(log_buff[4], "NameError: name 'printttt' is not defined\r\n");
- // ASSERT_EQ(2, errCode);
- // obj_deinit(globals);
- obj_deinit(obj);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #if !PIKA_NANO_ENABLE
- TEST(sysObj, getattr) {
- char* lines =
- "class Test:\n"
- " def __init__(self):\n"
- " self.a = 1\n"
- "test = Test()\n"
- "aa = getattr(test, 'a')\n";
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- obj_run(pikaMain, lines);
- /* collect */
- int aa = obj_getInt(pikaMain, "aa");
- /* assert */
- EXPECT_EQ(1, aa);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(sysObj, setattr) {
- char* lines =
- "class Test:\n"
- "\n"
- "test = Test()\n"
- "setattr(test, 'a', 2)\n"
- "aa = test.a\n";
- /* init */
- g_PikaMemInfo.heapUsedMax = 0;
- PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
- /* run */
- __platform_printf("BEGIN\r\n");
- obj_run(pikaMain, lines);
- /* collect */
- int aa = obj_getInt(pikaMain, "aa");
- /* assert */
- EXPECT_EQ(2, aa);
- /* deinit */
- obj_deinit(pikaMain);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(sysobj, print_no_end) {
- char* line = "print('test', end='')\n";
- PikaObj* self = newRootObj("root", New_PikaStdLib_SysObj);
- obj_run(self, line);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "test");
- /* deinit */
- obj_deinit(self);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- #if !PIKA_NANO_ENABLE
- TEST(sysobj, print) {
- char* line = "print(0, ['Hi'])\n";
- PikaObj* self = newRootObj("root", New_PikaStdLib_SysObj);
- obj_run(self, line);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "0 ['Hi']\r\n");
- /* deinit */
- obj_deinit(self);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST(sysobj, print2) {
- char* line = "print(0, ['Hi'], b'test')\n";
- PikaObj* self = newRootObj("root", New_PikaStdLib_SysObj);
- obj_run(self, line);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "0 ['Hi'] b'\\x74\\x65\\x73\\x74'\r\n");
- /* deinit */
- obj_deinit(self);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- #endif
- TEST(sysobj, float_str) {
- char* line = "float('1.1')\n";
- PikaObj* self = newRootObj("root", New_PikaStdLib_SysObj);
- obj_run(self, line);
- /* collect */
- /* assert */
- EXPECT_STREQ(log_buff[0], "1.100000\r\n");
- /* deinit */
- obj_deinit(self);
- EXPECT_EQ(pikaMemNow(), 0);
- }
- TEST_END
|