| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- /// AUTOGENERATED TEST ///
- #include "lfs.h"
- #include "emubd/lfs_emubd.h"
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- // test stuff
- static void test_log(const char *s, uintmax_t v) {{
- printf("%s: %jd\n", s, v);
- }}
- static void test_assert(const char *file, unsigned line,
- const char *s, uintmax_t v, uintmax_t e) {{
- static const char *last[6] = {{0, 0}};
- if (v != e || !(last[0] == s || last[1] == s ||
- last[2] == s || last[3] == s ||
- last[4] == s || last[5] == s)) {{
- test_log(s, v);
- last[0] = last[1];
- last[1] = last[2];
- last[2] = last[3];
- last[3] = last[4];
- last[4] = last[5];
- last[5] = s;
- }}
- 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 16
- #endif
- #ifndef LFS_BLOCK_SIZE
- #define LFS_BLOCK_SIZE 512
- #endif
- #ifndef LFS_BLOCK_COUNT
- #define LFS_BLOCK_COUNT 1024
- #endif
- #ifndef LFS_LOOKAHEAD
- #define LFS_LOOKAHEAD 128
- #endif
- const struct lfs_config cfg = {{
- .context = &bd,
- .read = &lfs_emubd_read,
- .prog = &lfs_emubd_prog,
- .erase = &lfs_emubd_erase,
- .sync = &lfs_emubd_sync,
- .name_size = 255,
- .read_size = LFS_READ_SIZE,
- .prog_size = LFS_PROG_SIZE,
- .block_size = LFS_BLOCK_SIZE,
- .block_count = LFS_BLOCK_COUNT,
- .lookahead = LFS_LOOKAHEAD,
- }};
- // Entry point
- int main(void) {{
- lfs_emubd_create(&cfg, "blocks");
- {tests}
- lfs_emubd_destroy(&cfg);
- }}
|