fix args_setBytes mem error

This commit is contained in:
lyon 2022-04-23 00:03:20 +08:00
parent 5ff34bc7d8
commit 2eaea345cc
3 changed files with 33 additions and 2 deletions

View File

@ -1,4 +1,5 @@
from PikaStdLib import MemChecker as MC
import PikaStdLib
from PikaObj import *
import PikaStdData
import GTestTask
@ -8,5 +9,24 @@ import PikaDebug
import ctypes
import PikaStdData
mem = MC()
mem = PikaStdLib.MemChecker()
def dcrf32_test():
rlen = ctypes.c_uint(0)
rcvbuf = ctypes.c_wchar_p('')
hdl = ctypes.Test()
i = 0
sendbuf = b'\x00\x84\x00\x00\x08'
while i < 50 :
hdl.dc_cpuapdu_hex(5, sendbuf, rlen, rcvbuf)
# hdl.print_rcv(rcvbuf)
# rlen.value
i += 1
mem.max()
dcrf32_test()
print('mem use max:')
mem.max()

View File

@ -251,3 +251,14 @@ TEST(object_test, mem) {
EXPECT_EQ(pikaMemNow(), 0);
EXPECT_EQ(pikaMemNow(), 0);
}
TEST(object_test, bytes) {
PikaObj* root = newRootObj((char*)"root", New_BaseObj);
uint8_t test_arg[] = {0x00, 0x02, 0x03, 0x05, 0x07};
obj_setBytes(root, (char*)"test", test_arg, sizeof(test_arg));
uint16_t mem_now_before = pikaMemNow();
obj_setBytes(root, (char*)"test", test_arg, sizeof(test_arg));
EXPECT_EQ(pikaMemNow(), mem_now_before);
obj_deinit(root);
EXPECT_EQ(pikaMemNow(), 0);
}

View File

@ -82,7 +82,7 @@ int args_pushArg(Args* self, Arg* arg) {
void args_setBytes(Args* self, char* name, uint8_t* src, size_t size) {
Arg* argNew = arg_setBytes(NULL, name, src, size);
args_pushArg(self, argNew);
args_setArg(self, argNew);
}
char* args_getBuff(Args* self, int32_t size) {