| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /// AUTOGENERATED TEST ///
- #include "lfs.h"
- #include "emubd/lfs_emubd.h"
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- // test stuff
- static void test_assert(const char *file, unsigned line,
- const char *s, uintmax_t v, uintmax_t e) {{
- if (v != e) {{
- fprintf(stderr, "\033[31m%s:%u: assert %s failed with %jd, "
- "expected %jd\033[0m\n", file, line, s, v, e);
- exit(-2);
- }}
- }}
- #define test_assert(s, v, e) test_assert(__FILE__, __LINE__, s, v, e)
- // utility functions for traversals
- static int __attribute__((used)) test_count(void *p, lfs_block_t b) {{
- (void)b;
- unsigned *u = (unsigned*)p;
- *u += 1;
- return 0;
- }}
- // lfs declarations
- lfs_t lfs;
- lfs_emubd_t bd;
- lfs_file_t file[4];
- lfs_dir_t dir[4];
- struct lfs_info info;
- uint8_t buffer[1024];
- uint8_t wbuffer[1024];
- uint8_t rbuffer[1024];
- lfs_size_t size;
- lfs_size_t wsize;
- lfs_size_t rsize;
- uintmax_t test;
- #ifndef LFS_READ_SIZE
- #define LFS_READ_SIZE 16
- #endif
- #ifndef LFS_PROG_SIZE
- #define LFS_PROG_SIZE LFS_READ_SIZE
- #endif
- #ifndef LFS_BLOCK_SIZE
- #define LFS_BLOCK_SIZE 512
- #endif
- #ifndef LFS_BLOCK_COUNT
- #define LFS_BLOCK_COUNT 1024
- #endif
- #ifndef LFS_BLOCK_CYCLES
- #define LFS_BLOCK_CYCLES 1024
- #endif
- #ifndef LFS_CACHE_SIZE
- #define LFS_CACHE_SIZE 64
- #endif
- #ifndef LFS_LOOKAHEAD_SIZE
- #define LFS_LOOKAHEAD_SIZE 16
- #endif
- const struct lfs_config cfg = {{
- .context = &bd,
- .read = &lfs_emubd_read,
- .prog = &lfs_emubd_prog,
- .erase = &lfs_emubd_erase,
- .sync = &lfs_emubd_sync,
- .read_size = LFS_READ_SIZE,
- .prog_size = LFS_PROG_SIZE,
- .block_size = LFS_BLOCK_SIZE,
- .block_count = LFS_BLOCK_COUNT,
- .block_cycles = LFS_BLOCK_CYCLES,
- .cache_size = LFS_CACHE_SIZE,
- .lookahead_size = LFS_LOOKAHEAD_SIZE,
- }};
- // Entry point
- int main(void) {{
- lfs_emubd_create(&cfg, "blocks");
- {tests}
- lfs_emubd_destroy(&cfg);
- }}
|