test_spiffs.h
Go to the documentation of this file.
1 /*
2  * test_spiffs.h
3  *
4  * Created on: Jun 19, 2013
5  * Author: petera
6  */
7 
8 #ifndef TEST_SPIFFS_H_
9 #define TEST_SPIFFS_H_
10 
11 #include "spiffs.h"
12 
13 #define FS &__fs
14 
15 extern spiffs __fs;
16 
17 
18 #define CHECK(r) if (!(r)) return -1;
19 #define CHECK_RES(r) if (r < 0) return -1;
20 #define FS_PURE_DATA_PAGES(fs) \
21  (SPIFFS_CFG_PHYS_SZ(fs) / SPIFFS_CFG_LOG_PAGE_SZ(fs)- (fs)->block_count * SPIFFS_OBJ_LOOKUP_PAGES(fs))
22 #define FS_PURE_DATA_SIZE(fs) \
23  FS_PURE_DATA_PAGES(fs) * SPIFFS_DATA_PAGE_SIZE(fs)
24 
25 typedef enum {
30 } tfile_size;
31 
32 typedef enum {
37 } tfile_type;
38 
39 typedef enum {
40  SHORT = 3,
41  NORMAL = 15,
42  LONG = 100,
43 } tfile_life;
44 
45 typedef struct {
49 } tfile_conf;
50 
51 typedef struct {
52  int state;
55  char name[32];
56 } tfile;
57 
58 void fs_reset();
59 void fs_reset_specific(u32_t addr_offset, u32_t phys_addr, u32_t phys_size,
60  u32_t phys_sector_size,
61  u32_t log_block_size, u32_t log_page_size);
62 s32_t fs_mount_specific(u32_t phys_addr, u32_t phys_size,
63  u32_t phys_sector_size,
64  u32_t log_block_size, u32_t log_page_size);
65 void fs_mount_dump(char *fname,
66  u32_t addr_offset, u32_t phys_addr, u32_t phys_size,
67  u32_t phys_sector_size,
68  u32_t log_block_size, u32_t log_page_size);
69 
70 void fs_store_dump(char *fname);
71 void fs_load_dump(char *fname);
72 
73 void fs_set_addr_offset(u32_t offset);
74 int read_and_verify(char *name);
75 int read_and_verify_fd(spiffs_file fd, char *name);
76 void dump_page(spiffs *fs, spiffs_page_ix p);
77 void hexdump(u32_t addr, u32_t len);
78 char *make_test_fname(const char *name);
79 void clear_test_path();
80 void area_write(u32_t addr, u8_t *buf, u32_t size);
81 void area_set(u32_t addr, u8_t d, u32_t size);
82 void area_read(u32_t addr, u8_t *buf, u32_t size);
83 void dump_erase_counts(spiffs *fs);
85 void set_flash_ops_log(int enable);
86 void clear_flash_ops_log();
89 void invoke_error_after_read_bytes(u32_t b, char once_only);
90 void invoke_error_after_write_bytes(u32_t b, char once_only);
91 void fs_set_validate_flashing(int i);
92 int get_error_count();
93 int count_taken_fds(spiffs *fs);
94 
95 void memrand(u8_t *b, int len);
96 int test_create_file(char *name);
97 int test_create_and_write_file(char *name, int size, int chunk_size);
99 u32_t get_spiffs_file_crc(char *name);
100 void _setup();
101 void _setup_test_only();
102 void _teardown();
104 int run_file_config(int cfg_count, tfile_conf* cfgs, int max_runs, int max_concurrent_files, int dbg);
105 
106 void test_lock(spiffs *fs);
107 void test_unlock(spiffs *fs);
108 
109 #endif /* TEST_SPIFFS_H_ */
u32_t get_flash_ops_log_write_bytes()
signed int s32_t
Definition: params_test.h:77
void dump_flash_access_stats()
char * make_test_fname(const char *name)
void fs_set_validate_flashing(int i)
tfile_type
Definition: test_spiffs.h:32
void dump_erase_counts(spiffs *fs)
void _setup_test_only()
spiffs __fs
int state
Definition: test_spiffs.h:52
void set_flash_ops_log(int enable)
void memrand(u8_t *b, int len)
int count_taken_fds(spiffs *fs)
Definition: test_spiffs.h:29
void clear_flash_ops_log()
void fs_set_addr_offset(u32_t offset)
void hexdump(u32_t addr, u32_t len)
Definition: test_spiffs.h:51
u32_t get_spiffs_file_crc_by_fd(spiffs_file fd)
void invoke_error_after_write_bytes(u32_t b, char once_only)
void test_lock(spiffs *fs)
Definition: test_spiffs.h:35
Definition: test_spiffs.h:40
Definition: test_spiffs.h:28
tfile_conf cfg
Definition: test_spiffs.h:54
void invoke_error_after_read_bytes(u32_t b, char once_only)
void area_write(u32_t addr, u8_t *buf, u32_t size)
void fs_reset()
Definition: spiffs.h:231
unsigned char u8_t
Definition: params_test.h:82
void area_set(u32_t addr, u8_t d, u32_t size)
tfile_size tsize
Definition: test_spiffs.h:46
u16_t spiffs_page_ix
Definition: spiffs_config.h:363
void _setup()
Definition: test_spiffs.h:26
Definition: test_spiffs.h:27
Definition: test_spiffs.h:36
int test_create_file(char *name)
void test_unlock(spiffs *fs)
tfile_life
Definition: test_spiffs.h:39
void dump_page(spiffs *fs, spiffs_page_ix p)
Definition: test_spiffs.h:45
Definition: test_spiffs.h:34
Definition: test_spiffs.h:41
u32_t get_flash_ops_log_read_bytes()
int run_file_config(int cfg_count, tfile_conf *cfgs, int max_runs, int max_concurrent_files, int dbg)
void clear_test_path()
s32_t fs_mount_specific(u32_t phys_addr, u32_t phys_size, u32_t phys_sector_size, u32_t log_block_size, u32_t log_page_size)
Definition: test_spiffs.h:42
tfile_size
Definition: test_spiffs.h:25
void fs_store_dump(char *fname)
int read_and_verify_fd(spiffs_file fd, char *name)
void fs_mount_dump(char *fname, u32_t addr_offset, u32_t phys_addr, u32_t phys_size, u32_t phys_sector_size, u32_t log_block_size, u32_t log_page_size)
s16_t spiffs_file
Definition: spiffs.h:72
Definition: test_spiffs.h:33
spiffs_file fd
Definition: test_spiffs.h:53
void area_read(u32_t addr, u8_t *buf, u32_t size)
tfile_type ttype
Definition: test_spiffs.h:47
int test_create_and_write_file(char *name, int size, int chunk_size)
int get_error_count()
tfile_life tlife
Definition: test_spiffs.h:48
u32_t tfile_get_size(tfile_size s)
void fs_reset_specific(u32_t addr_offset, u32_t phys_addr, u32_t phys_size, u32_t phys_sector_size, u32_t log_block_size, u32_t log_page_size)
int read_and_verify(char *name)
u32_t get_spiffs_file_crc(char *name)
void _teardown()
void fs_load_dump(char *fname)