packtool-test.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #include "test_common.h"
  2. TEST_START
  3. #include "PikaCompiler.h"
  4. // TEST(packtool, unpack) {
  5. // PIKA_RES res = pikafs_unpack_files("test/out/packout/a0424.pack",
  6. // "test/out/unpackout/");
  7. // EXPECT_EQ(res, PIKA_RES_OK);
  8. // }
  9. TEST(packtool, packfiles) {
  10. PikaMaker* maker = New_PikaMaker();
  11. PIKA_RES ret = PIKA_RES_OK;
  12. pikaMaker_linkRawWithPath(maker, "test/assets/test.txt", "/txt-file");
  13. pikaMaker_linkRawWithPath(maker, "test/assets/test.jpg", "/bmp-file");
  14. // create "./test/out/packout" path if not exist
  15. ret = pikaMaker_linkCompiledModulesFullPath(
  16. maker, "./test/out/packout/a0424.pack");
  17. pikaMaker_deinit(maker);
  18. EXPECT_EQ(ret, PIKA_RES_OK);
  19. }
  20. TEST(packtool, packread_) {
  21. size_t n = 0;
  22. // Arg* fileArg = NULL;
  23. pikafs_FILE* pack_file =
  24. pikafs_fopen_pack("test/out/packout/a0424.pack", "test.txt");
  25. if (NULL == pack_file) {
  26. pika_platform_printf("open file: %s error\r\n",
  27. "test/out/packout/a0424.pack");
  28. }
  29. FILE* file =
  30. pika_platform_fopen("test/out/unpackout/file3_test.txt", "wb+");
  31. if (NULL == file) {
  32. pika_platform_printf("open file: %s error\r\n",
  33. "test/out/unpackout/file3_test.txt");
  34. }
  35. n = pika_platform_fwrite(pack_file->addr, pack_file->size, 1, file);
  36. arg_deinit(pack_file->farg);
  37. pikaFree(pack_file, sizeof(pikafs_FILE));
  38. pika_platform_fclose(file);
  39. pack_file = NULL;
  40. EXPECT_NE(n, 0);
  41. }
  42. TEST(packtool, packreadErr) {
  43. pikafs_FILE* pack_file =
  44. pikafs_fopen_pack("test/out/packout/0425.pack", "file3.txt");
  45. if (NULL == pack_file) {
  46. pika_platform_printf("open file: %s error\r\n",
  47. "test/out/packout/a0424.pack");
  48. }
  49. EXPECT_TRUE(!pack_file);
  50. }
  51. TEST(packtool, packread) {
  52. size_t n = 0;
  53. // Arg* fileArg = NULL;
  54. pikafs_FILE* pack_file =
  55. pikafs_fopen_pack("test/out/packout/a0424.pack", "test.txt");
  56. if (NULL == pack_file) {
  57. pika_platform_printf("open file: %s error\r\n",
  58. "test/out/packout/a0424.pack");
  59. }
  60. char buffer[1024] = {0};
  61. n = pikafs_fread(buffer, 1, 1024, pack_file);
  62. pikafs_fclose(pack_file);
  63. pack_file = NULL;
  64. EXPECT_NE(n, 0);
  65. EXPECT_EQ(pikaMemNow(), 0);
  66. }
  67. TEST_END