sysObj-test.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "gtest/gtest.h"
  2. extern "C" {
  3. #include "BaseObj.h"
  4. #include "PikaStdLib_SysObj.h"
  5. #include "TinyObj.h"
  6. #include "pika_config_gtest.h"
  7. }
  8. /* the log_buff of printf */
  9. extern char log_buff[LOG_BUFF_MAX][LOG_SIZE];
  10. TEST(sysObj, print) {
  11. PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
  12. VMParameters* globals = obj_runDirect(obj, (char*)"print('hello world')");
  13. // char* sysOut = args_getSysOut(globals->list);
  14. int errCode = args_getErrorCode(globals->list);
  15. // printf("sysout = %s\r\n", sysOut);
  16. EXPECT_STREQ(log_buff[0], "hello world\r\n");
  17. // ASSERT_STREQ((char*)"hello world", sysOut);
  18. ASSERT_EQ(0, errCode);
  19. // obj_deinit(globals);
  20. obj_deinit(obj);
  21. EXPECT_EQ(pikaMemNow(), 0);
  22. }
  23. TEST(sysObj, noMethod) {
  24. PikaObj* obj = newRootObj((char*)"test", New_PikaStdLib_SysObj);
  25. __platform_printf((char*)"BEGIN\r\n");
  26. obj_runDirect(obj, (char*)"printttt('hello world')");
  27. // char* sysOut = args_getSysOut(globals->list);
  28. // int errCode = args_getErrorCode(globals->list);
  29. // printf("sysout = %s\r\n", sysOut);
  30. // ASSERT_EQ(1, strEqu((char*)"[error] runner: method no found.", sysOut));
  31. EXPECT_STREQ(log_buff[4],
  32. "[error] name 'printttt' is not defined\r\n");
  33. // ASSERT_EQ(2, errCode);
  34. // obj_deinit(globals);
  35. obj_deinit(obj);
  36. EXPECT_EQ(pikaMemNow(), 0);
  37. }