Welcome to mirror list, hosted at ThFree Co, Russian Federation.

template.fmt « tests - github.com/littlefs-project/littlefs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8f1e8efaf5d0877139e38540b4c640a64d927dbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/// 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);
}}