bench_superblock.toml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. [cases.bench_superblocks_found]
  2. # support benchmarking with files
  3. defines.N = [0, 1024]
  4. defines.FILE_SIZE = 8
  5. defines.CHUNK_SIZE = 8
  6. code = '''
  7. lfs_t lfs;
  8. lfs_format(&lfs, cfg) => 0;
  9. // create files?
  10. lfs_mount(&lfs, cfg) => 0;
  11. char name[256];
  12. uint8_t buffer[CHUNK_SIZE];
  13. for (lfs_size_t i = 0; i < N; i++) {
  14. sprintf(name, "file%08x", i);
  15. lfs_file_t file;
  16. lfs_file_open(&lfs, &file, name,
  17. LFS_O_WRONLY | LFS_O_CREAT | LFS_O_EXCL) => 0;
  18. for (lfs_size_t j = 0; j < FILE_SIZE; j += CHUNK_SIZE) {
  19. for (lfs_size_t k = 0; k < CHUNK_SIZE; k++) {
  20. buffer[k] = i+j+k;
  21. }
  22. lfs_file_write(&lfs, &file, buffer, CHUNK_SIZE) => CHUNK_SIZE;
  23. }
  24. lfs_file_close(&lfs, &file) => 0;
  25. }
  26. lfs_unmount(&lfs) => 0;
  27. BENCH_START();
  28. lfs_mount(&lfs, cfg) => 0;
  29. BENCH_STOP();
  30. lfs_unmount(&lfs) => 0;
  31. '''
  32. [cases.bench_superblocks_missing]
  33. code = '''
  34. lfs_t lfs;
  35. BENCH_START();
  36. int err = lfs_mount(&lfs, cfg);
  37. assert(err != 0);
  38. BENCH_STOP();
  39. '''
  40. [cases.bench_superblocks_format]
  41. code = '''
  42. lfs_t lfs;
  43. BENCH_START();
  44. lfs_format(&lfs, cfg) => 0;
  45. BENCH_STOP();
  46. '''