fix tim no found

This commit is contained in:
lyon 2023-01-22 23:25:20 +08:00
parent d77e7f3f2d
commit e2a9489a87
5 changed files with 30 additions and 12 deletions

View File

@ -559,7 +559,7 @@ PikaObj* PikaStdLib_SysObj_open(PikaObj* self, char* path, char* mode) {
int32_t __dir_each(Arg* argEach, Args* context) {
PikaObj* list = args_getPtr(context, "list");
if (argType_isCallable(arg_getType(argEach))) {
char name_buff[PIKA_LINE_BUFF_SIZE / 2] = {0};
char name_buff[PIKA_LINE_BUFF_SIZE] = {0};
char* method_name =
methodArg_getName(argEach, name_buff, sizeof(name_buff));
Arg* arg_str = arg_newStr(method_name);
@ -572,7 +572,7 @@ int32_t __dir_each(Arg* argEach, Args* context) {
PikaObj* PikaStdLib_SysObj_dir(PikaObj* self, Arg* arg) {
if (!argType_isObject(arg_getType(arg))) {
obj_setErrorCode(self, 1);
__platform_printf("[Error] dir: arg is not object.\r\n");
__platform_printf("[Error] dir: not support type.\r\n");
return NULL;
}
PikaObj* obj = arg_getPtr(arg);

View File

@ -11,7 +11,7 @@
"program": "${workspaceFolder}/build/test/pikascript_test",
// "program": "${workspaceFolder}/build/boot/demo06-pikamain/pikascript_demo06-pikamain",
"args": [
"--gtest_filter=vm.dir_issue"
// "--gtest_filter=vm.dir_issue1lk"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",

View File

@ -559,7 +559,7 @@ PikaObj* PikaStdLib_SysObj_open(PikaObj* self, char* path, char* mode) {
int32_t __dir_each(Arg* argEach, Args* context) {
PikaObj* list = args_getPtr(context, "list");
if (argType_isCallable(arg_getType(argEach))) {
char name_buff[PIKA_LINE_BUFF_SIZE / 2] = {0};
char name_buff[PIKA_LINE_BUFF_SIZE] = {0};
char* method_name =
methodArg_getName(argEach, name_buff, sizeof(name_buff));
Arg* arg_str = arg_newStr(method_name);
@ -572,7 +572,7 @@ int32_t __dir_each(Arg* argEach, Args* context) {
PikaObj* PikaStdLib_SysObj_dir(PikaObj* self, Arg* arg) {
if (!argType_isObject(arg_getType(arg))) {
obj_setErrorCode(self, 1);
__platform_printf("[Error] dir: arg is not object.\r\n");
__platform_printf("[Error] dir: not support type.\r\n");
return NULL;
}
PikaObj* obj = arg_getPtr(arg);

View File

@ -2497,11 +2497,28 @@ TEST(vm, dir_issue) {
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
/* run */
__platform_printf("BEGIN\r\n");
obj_run(pikaMain,
"class test:\n"
" pass\n"
"dir(test)\n"
);
obj_run(pikaMain,
"class test:\n"
" pass\n"
"dir(test)\n");
/* collect */
/* assert */
/* deinit */
obj_deinit(pikaMain);
EXPECT_EQ(pikaMemNow(), 0);
}
TEST(vm, dir_issue1lk) {
/* init */
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 requests\n"
"dir(requests)\n");
/* collect */
/* assert */
/* deinit */

View File

@ -140,8 +140,9 @@ TEST(unix_time, iteration_form_1970_to_2070) {
TEST(timetest, sleep) {
char* lines =
"time = PikaStdDevice.Time()\n"
"time.sleep(0.1)\n";
"import time\n"
"t = PikaStdDevice.Time()\n"
"t.sleep(0.1)\n";
/* init */
pikaMemInfo.heapUsedMax = 0;
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);