luat_lib_utest.c 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "luat_base.h"
  2. #include "luat_log.h"
  3. #include "luat_sys.h"
  4. #include "luat_msgbus.h"
  5. #include "rtthread.h"
  6. #define DBG_TAG "luat.utest"
  7. #define DBG_LVL DBG_LOG
  8. #include <rtdbg.h>
  9. static int l_utest_600_mem_check(lua_State *L) {
  10. // #ifdef BSP_USING_WM_LIBRARIES
  11. // void* ptr = 0x20028000 + 64*1024; // 当前设置的内存大小是64k, 所以从64k的位置开始测试
  12. // void* blank = rt_malloc(1024);
  13. // char* t;
  14. // rt_memset(blank, 0, 1024);
  15. // for (size_t i = 0; i < 64; i++)
  16. // {
  17. // for (size_t j = 0; j < 1024; j++)
  18. // {
  19. // t = (char*)(ptr+1024*i+j);
  20. // if (*t != 0) {
  21. // rt_kprintf("Found Not Zero at 0x%08X\n", t);
  22. // LOG_HEX("128K", 16, t, 1024);
  23. // //i = 1024;
  24. // break;
  25. // }
  26. // }
  27. // }
  28. // #endif
  29. return 0;
  30. }
  31. static int l_utest_memdump(lua_State *L) {
  32. void* ptr = (void*)luaL_checkinteger(L, 1);
  33. size_t len = luaL_optinteger(L, 2, 256);
  34. #if defined(RT_USING_ULOG)
  35. LOG_HEX("memdump", 16, ptr, len);
  36. #endif
  37. return 0;
  38. }
  39. #ifdef RT_USING_MEMTRACE
  40. int memcheck(void);
  41. static int l_utest_memcheck(lua_State *L) {
  42. memcheck();
  43. return 0;
  44. }
  45. #endif
  46. //extern int mem_profiler_enable;
  47. //static int l_utest_profiler(lua_State *L) {
  48. // mem_profiler_enable = luaL_optinteger(L, 1, 0);
  49. // return 0;
  50. //}
  51. #include "rotable.h"
  52. static const rotable_Reg reg_utest[] =
  53. {
  54. { "w600_mem_check" , l_utest_600_mem_check, 0},
  55. { "memdump", l_utest_memdump, 0},
  56. #ifdef RT_USING_MEMTRACE
  57. { "memcheck", l_utest_memcheck, 0},
  58. // { "profiler", l_utest_profiler},
  59. #endif
  60. { NULL, NULL }
  61. };
  62. LUAMOD_API int luaopen_utest( lua_State *L ) {
  63. luat_newlib(L, reg_utest);
  64. return 1;
  65. }