mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 16:14:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /// 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);
 | |
| }}
 |