mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
test for sysout is ok
This commit is contained in:
parent
97299f77c1
commit
0e79ffe99a
@ -203,12 +203,12 @@ TEST(object_test, newObjectAndSetStr) {
|
|||||||
EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TEST(object_test, noMethod) {
|
TEST(object_test, noMethod) {
|
||||||
// PikaObj* root = newRootObj((char*)"root", New_MYROOT1);
|
PikaObj* root = newRootObj((char*)"root", New_MYROOT1);
|
||||||
// obj_runNoRes(root, (char*)"noDefindMethod()");
|
obj_runNoRes(root, (char*)"noDefindMethod()");
|
||||||
// obj_deinit(root);
|
obj_deinit(root);
|
||||||
// EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
// }
|
}
|
||||||
|
|
||||||
TEST(object_test, a_b) {
|
TEST(object_test, a_b) {
|
||||||
PikaObj* root = newRootObj((char*)"root", New_MYROOT1);
|
PikaObj* root = newRootObj((char*)"root", New_MYROOT1);
|
||||||
@ -225,15 +225,15 @@ TEST(object_test, voidRun) {
|
|||||||
EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TEST(object_test, printa) {
|
TEST(object_test, printa) {
|
||||||
// PikaObj* root = newRootObj((char*)"root", New_BaseObj);
|
PikaObj* root = newRootObj((char*)"root", New_BaseObj);
|
||||||
// obj_run(root, (char*)"a = 2");
|
obj_run(root, (char*)"a = 2");
|
||||||
// obj_run(root, (char*)"print(a)");
|
obj_run(root, (char*)"print(a)");
|
||||||
// char* sysOut = obj_getSysOut(root);
|
char* sysOut = obj_getSysOut(root);
|
||||||
// ASSERT_STREQ(sysOut, "2");
|
ASSERT_STREQ(sysOut, "2");
|
||||||
// obj_deinit(root);
|
obj_deinit(root);
|
||||||
// EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
// }
|
}
|
||||||
|
|
||||||
TEST(object_test, copyArg) {
|
TEST(object_test, copyArg) {
|
||||||
PikaObj* root = newRootObj((char*)"root", New_BaseObj);
|
PikaObj* root = newRootObj((char*)"root", New_BaseObj);
|
||||||
|
@ -5,18 +5,18 @@ extern "C" {
|
|||||||
#include "TinyObj.h"
|
#include "TinyObj.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
// TEST(sysObj, print) {
|
TEST(sysObj, print) {
|
||||||
// PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
|
PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
|
||||||
// Args* res = obj_runDirect(obj, (char*)"print('hello world')");
|
Args* res = obj_runDirect(obj, (char*)"print('hello world')");
|
||||||
// char* sysOut = args_getSysOut(res);
|
char* sysOut = args_getSysOut(res);
|
||||||
// int errCode = args_getErrorCode(res);
|
int errCode = args_getErrorCode(res);
|
||||||
// printf("sysout = %s\r\n", sysOut);
|
printf("sysout = %s\r\n", sysOut);
|
||||||
// ASSERT_STREQ((char*)"hello world", sysOut);
|
ASSERT_STREQ((char*)"hello world", sysOut);
|
||||||
// ASSERT_EQ(0, errCode);
|
ASSERT_EQ(0, errCode);
|
||||||
// args_deinit(res);
|
args_deinit(res);
|
||||||
// obj_deinit(obj);
|
obj_deinit(obj);
|
||||||
// EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
// }
|
}
|
||||||
|
|
||||||
TEST(sysObj, set) {
|
TEST(sysObj, set) {
|
||||||
PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
|
PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
|
||||||
@ -33,15 +33,15 @@ TEST(sysObj, set) {
|
|||||||
EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TEST(sysObj, noMethod) {
|
TEST(sysObj, noMethod) {
|
||||||
// PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
|
PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
|
||||||
// Args* res = obj_runDirect(obj, (char*)"printttt('hello world')");
|
Args* res = obj_runDirect(obj, (char*)"printttt('hello world')");
|
||||||
// char* sysOut = args_getSysOut(res);
|
char* sysOut = args_getSysOut(res);
|
||||||
// int errCode = args_getErrorCode(res);
|
int errCode = args_getErrorCode(res);
|
||||||
// printf("sysout = %s\r\n", sysOut);
|
printf("sysout = %s\r\n", sysOut);
|
||||||
// ASSERT_EQ(1, strEqu((char*)"[error] runner: method no found.", sysOut));
|
ASSERT_EQ(1, strEqu((char*)"[error] runner: method no found.", sysOut));
|
||||||
// ASSERT_EQ(2, errCode);
|
ASSERT_EQ(2, errCode);
|
||||||
// args_deinit(res);
|
args_deinit(res);
|
||||||
// obj_deinit(obj);
|
obj_deinit(obj);
|
||||||
// EXPECT_EQ(pikaMemNow(), 0);
|
EXPECT_EQ(pikaMemNow(), 0);
|
||||||
// }
|
}
|
||||||
|
11
src/PikaVM.c
11
src/PikaVM.c
@ -92,6 +92,7 @@ Arg* pikaVM_runAsmInstruct(PikaObj* self,
|
|||||||
if (instruct == RUN) {
|
if (instruct == RUN) {
|
||||||
Args* buffs = New_strBuff();
|
Args* buffs = New_strBuff();
|
||||||
Arg* returnArg = NULL;
|
Arg* returnArg = NULL;
|
||||||
|
Args* methodArgs = NULL;
|
||||||
char* methodPath = data;
|
char* methodPath = data;
|
||||||
PikaObj* methodHostObj = obj_getObj(self, methodPath, 1);
|
PikaObj* methodHostObj = obj_getObj(self, methodPath, 1);
|
||||||
if (NULL == methodHostObj) {
|
if (NULL == methodHostObj) {
|
||||||
@ -134,7 +135,7 @@ Arg* pikaVM_runAsmInstruct(PikaObj* self,
|
|||||||
goto RUN_exit;
|
goto RUN_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
Args* methodArgs = New_args(NULL);
|
methodArgs = New_args(NULL);
|
||||||
while (1) {
|
while (1) {
|
||||||
Arg* methodArg = arg_copy(queue_popArg(q1));
|
Arg* methodArg = arg_copy(queue_popArg(q1));
|
||||||
if (NULL == methodArg) {
|
if (NULL == methodArg) {
|
||||||
@ -166,7 +167,12 @@ Arg* pikaVM_runAsmInstruct(PikaObj* self,
|
|||||||
returnArg = arg_copy(args_getArg(methodArgs, (char*)"return"));
|
returnArg = arg_copy(args_getArg(methodArgs, (char*)"return"));
|
||||||
goto RUN_exit;
|
goto RUN_exit;
|
||||||
RUN_exit:
|
RUN_exit:
|
||||||
args_deinit(methodArgs);
|
if (NULL != methodArgs) {
|
||||||
|
args_deinit(methodArgs);
|
||||||
|
}
|
||||||
|
if (NULL != methodHostClass) {
|
||||||
|
obj_deinit(methodHostClass);
|
||||||
|
}
|
||||||
args_deinit(buffs);
|
args_deinit(buffs);
|
||||||
return returnArg;
|
return returnArg;
|
||||||
}
|
}
|
||||||
@ -222,6 +228,7 @@ Args* pikaVM_runAsm(PikaObj* self, char* pikaAsm) {
|
|||||||
int size = strGetSize(pikaAsm);
|
int size = strGetSize(pikaAsm);
|
||||||
Args* sysRes = New_args(NULL);
|
Args* sysRes = New_args(NULL);
|
||||||
args_setErrorCode(sysRes, 0);
|
args_setErrorCode(sysRes, 0);
|
||||||
|
args_setSysOut(sysRes, (char*)"");
|
||||||
while (lineAddr < size) {
|
while (lineAddr < size) {
|
||||||
lineAddr = pikaVM_runAsmLine(self, pikaAsm, lineAddr, sysRes);
|
lineAddr = pikaVM_runAsmLine(self, pikaAsm, lineAddr, sysRes);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user