119ea8026Sopenharmony_ci[cases.bench_superblocks_found] 219ea8026Sopenharmony_ci# support benchmarking with files 319ea8026Sopenharmony_cidefines.N = [0, 1024] 419ea8026Sopenharmony_cidefines.FILE_SIZE = 8 519ea8026Sopenharmony_cidefines.CHUNK_SIZE = 8 619ea8026Sopenharmony_cicode = ''' 719ea8026Sopenharmony_ci lfs_t lfs; 819ea8026Sopenharmony_ci lfs_format(&lfs, cfg) => 0; 919ea8026Sopenharmony_ci 1019ea8026Sopenharmony_ci // create files? 1119ea8026Sopenharmony_ci lfs_mount(&lfs, cfg) => 0; 1219ea8026Sopenharmony_ci char name[256]; 1319ea8026Sopenharmony_ci uint8_t buffer[CHUNK_SIZE]; 1419ea8026Sopenharmony_ci for (lfs_size_t i = 0; i < N; i++) { 1519ea8026Sopenharmony_ci sprintf(name, "file%08x", i); 1619ea8026Sopenharmony_ci lfs_file_t file; 1719ea8026Sopenharmony_ci lfs_file_open(&lfs, &file, name, 1819ea8026Sopenharmony_ci LFS_O_WRONLY | LFS_O_CREAT | LFS_O_EXCL) => 0; 1919ea8026Sopenharmony_ci 2019ea8026Sopenharmony_ci for (lfs_size_t j = 0; j < FILE_SIZE; j += CHUNK_SIZE) { 2119ea8026Sopenharmony_ci for (lfs_size_t k = 0; k < CHUNK_SIZE; k++) { 2219ea8026Sopenharmony_ci buffer[k] = i+j+k; 2319ea8026Sopenharmony_ci } 2419ea8026Sopenharmony_ci lfs_file_write(&lfs, &file, buffer, CHUNK_SIZE) => CHUNK_SIZE; 2519ea8026Sopenharmony_ci } 2619ea8026Sopenharmony_ci 2719ea8026Sopenharmony_ci lfs_file_close(&lfs, &file) => 0; 2819ea8026Sopenharmony_ci } 2919ea8026Sopenharmony_ci lfs_unmount(&lfs) => 0; 3019ea8026Sopenharmony_ci 3119ea8026Sopenharmony_ci BENCH_START(); 3219ea8026Sopenharmony_ci lfs_mount(&lfs, cfg) => 0; 3319ea8026Sopenharmony_ci BENCH_STOP(); 3419ea8026Sopenharmony_ci 3519ea8026Sopenharmony_ci lfs_unmount(&lfs) => 0; 3619ea8026Sopenharmony_ci''' 3719ea8026Sopenharmony_ci 3819ea8026Sopenharmony_ci[cases.bench_superblocks_missing] 3919ea8026Sopenharmony_cicode = ''' 4019ea8026Sopenharmony_ci lfs_t lfs; 4119ea8026Sopenharmony_ci 4219ea8026Sopenharmony_ci BENCH_START(); 4319ea8026Sopenharmony_ci int err = lfs_mount(&lfs, cfg); 4419ea8026Sopenharmony_ci assert(err != 0); 4519ea8026Sopenharmony_ci BENCH_STOP(); 4619ea8026Sopenharmony_ci''' 4719ea8026Sopenharmony_ci 4819ea8026Sopenharmony_ci[cases.bench_superblocks_format] 4919ea8026Sopenharmony_cicode = ''' 5019ea8026Sopenharmony_ci lfs_t lfs; 5119ea8026Sopenharmony_ci 5219ea8026Sopenharmony_ci BENCH_START(); 5319ea8026Sopenharmony_ci lfs_format(&lfs, cfg) => 0; 5419ea8026Sopenharmony_ci BENCH_STOP(); 5519ea8026Sopenharmony_ci''' 5619ea8026Sopenharmony_ci 57