mirror of
https://github.com/eledio-devices/thirdparty-littlefs.git
synced 2025-11-01 16:14:13 +01:00
Some of the tests were creating a variable `res`, however the test system itself relies on it's own `res` variable. This worked out by luck, but could lead to problems if the res variables were different types. Changed the generated variable in the test system to the less common name `test`, which also works out to share the same prefix as other test functions.
106 lines
2.0 KiB
Plaintext
106 lines
2.0 KiB
Plaintext
/// AUTOGENERATED TEST ///
|
|
#include "lfs.h"
|
|
#include "emubd/lfs_emubd.h"
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
|
|
// test stuff
|
|
void test_log(const char *s, uintmax_t v) {{
|
|
printf("%s: %jd\n", s, v);
|
|
}}
|
|
|
|
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
|
|
int test_count(void *p, lfs_block_t 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,
|
|
|
|
.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() {{
|
|
lfs_emubd_create(&cfg, "blocks");
|
|
|
|
{tests}
|
|
|
|
lfs_emubd_destroy(&cfg);
|
|
}}
|