Fork of https://github.com/ARMmbed/sd-driver. Added pin config for MAX32630FTHR

Dependents:   CircularBufferSDCardLib time_between_inerupt

Committer:
DVLevine
Date:
Tue Mar 20 17:35:00 2018 +0000
Revision:
0:69bfc1595ae5
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DVLevine 0:69bfc1595ae5 1 #include "mbed.h"
DVLevine 0:69bfc1595ae5 2 #include "greentea-client/test_env.h"
DVLevine 0:69bfc1595ae5 3 #include "unity.h"
DVLevine 0:69bfc1595ae5 4 #include "utest.h"
DVLevine 0:69bfc1595ae5 5 #include <stdlib.h>
DVLevine 0:69bfc1595ae5 6 #include <errno.h>
DVLevine 0:69bfc1595ae5 7
DVLevine 0:69bfc1595ae5 8 using namespace utest::v1;
DVLevine 0:69bfc1595ae5 9
DVLevine 0:69bfc1595ae5 10 // test configuration
DVLevine 0:69bfc1595ae5 11 #ifndef MBED_TEST_FILESYSTEM
DVLevine 0:69bfc1595ae5 12 #define MBED_TEST_FILESYSTEM FATFileSystem
DVLevine 0:69bfc1595ae5 13 #endif
DVLevine 0:69bfc1595ae5 14
DVLevine 0:69bfc1595ae5 15 #ifndef MBED_TEST_FILESYSTEM_DECL
DVLevine 0:69bfc1595ae5 16 #define MBED_TEST_FILESYSTEM_DECL MBED_TEST_FILESYSTEM fs("fs")
DVLevine 0:69bfc1595ae5 17 #endif
DVLevine 0:69bfc1595ae5 18
DVLevine 0:69bfc1595ae5 19 #ifndef MBED_TEST_BLOCKDEVICE
DVLevine 0:69bfc1595ae5 20 #define MBED_TEST_BLOCKDEVICE SDBlockDevice
DVLevine 0:69bfc1595ae5 21 #define MBED_TEST_BLOCKDEVICE_DECL SDBlockDevice bd(MBED_CONF_SD_SPI_MOSI, MBED_CONF_SD_SPI_MISO, MBED_CONF_SD_SPI_CLK, MBED_CONF_SD_SPI_CS);
DVLevine 0:69bfc1595ae5 22 #endif
DVLevine 0:69bfc1595ae5 23
DVLevine 0:69bfc1595ae5 24 #ifndef MBED_TEST_BLOCKDEVICE_DECL
DVLevine 0:69bfc1595ae5 25 #define MBED_TEST_BLOCKDEVICE_DECL MBED_TEST_BLOCKDEVICE bd
DVLevine 0:69bfc1595ae5 26 #endif
DVLevine 0:69bfc1595ae5 27
DVLevine 0:69bfc1595ae5 28 #ifndef MBED_TEST_FILES
DVLevine 0:69bfc1595ae5 29 #define MBED_TEST_FILES 4
DVLevine 0:69bfc1595ae5 30 #endif
DVLevine 0:69bfc1595ae5 31
DVLevine 0:69bfc1595ae5 32 #ifndef MBED_TEST_DIRS
DVLevine 0:69bfc1595ae5 33 #define MBED_TEST_DIRS 4
DVLevine 0:69bfc1595ae5 34 #endif
DVLevine 0:69bfc1595ae5 35
DVLevine 0:69bfc1595ae5 36 #ifndef MBED_TEST_BUFFER
DVLevine 0:69bfc1595ae5 37 #define MBED_TEST_BUFFER 8192
DVLevine 0:69bfc1595ae5 38 #endif
DVLevine 0:69bfc1595ae5 39
DVLevine 0:69bfc1595ae5 40 #ifndef MBED_TEST_TIMEOUT
DVLevine 0:69bfc1595ae5 41 #define MBED_TEST_TIMEOUT 120
DVLevine 0:69bfc1595ae5 42 #endif
DVLevine 0:69bfc1595ae5 43
DVLevine 0:69bfc1595ae5 44
DVLevine 0:69bfc1595ae5 45 // declarations
DVLevine 0:69bfc1595ae5 46 #define STRINGIZE(x) STRINGIZE2(x)
DVLevine 0:69bfc1595ae5 47 #define STRINGIZE2(x) #x
DVLevine 0:69bfc1595ae5 48 #define INCLUDE(x) STRINGIZE(x.h)
DVLevine 0:69bfc1595ae5 49
DVLevine 0:69bfc1595ae5 50 #include INCLUDE(MBED_TEST_FILESYSTEM)
DVLevine 0:69bfc1595ae5 51 #include INCLUDE(MBED_TEST_BLOCKDEVICE)
DVLevine 0:69bfc1595ae5 52
DVLevine 0:69bfc1595ae5 53 MBED_TEST_FILESYSTEM_DECL;
DVLevine 0:69bfc1595ae5 54 MBED_TEST_BLOCKDEVICE_DECL;
DVLevine 0:69bfc1595ae5 55
DVLevine 0:69bfc1595ae5 56 Dir dir[MBED_TEST_DIRS];
DVLevine 0:69bfc1595ae5 57 File file[MBED_TEST_FILES];
DVLevine 0:69bfc1595ae5 58 DIR *dd[MBED_TEST_DIRS];
DVLevine 0:69bfc1595ae5 59 FILE *fd[MBED_TEST_FILES];
DVLevine 0:69bfc1595ae5 60 struct dirent ent;
DVLevine 0:69bfc1595ae5 61 struct dirent *ed;
DVLevine 0:69bfc1595ae5 62 size_t size;
DVLevine 0:69bfc1595ae5 63 uint8_t buffer[MBED_TEST_BUFFER];
DVLevine 0:69bfc1595ae5 64 uint8_t rbuffer[MBED_TEST_BUFFER];
DVLevine 0:69bfc1595ae5 65 uint8_t wbuffer[MBED_TEST_BUFFER];
DVLevine 0:69bfc1595ae5 66
DVLevine 0:69bfc1595ae5 67 static char file_counter = 0;
DVLevine 0:69bfc1595ae5 68 const char *filenames[] = {"smallavacado", "mediumavacado", "largeavacado",
DVLevine 0:69bfc1595ae5 69 "blockfile", "bigblockfile", "hello", ".", ".."};
DVLevine 0:69bfc1595ae5 70
DVLevine 0:69bfc1595ae5 71 // tests
DVLevine 0:69bfc1595ae5 72
DVLevine 0:69bfc1595ae5 73 void test_file_tests() {
DVLevine 0:69bfc1595ae5 74 int res = bd.init();
DVLevine 0:69bfc1595ae5 75 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 76
DVLevine 0:69bfc1595ae5 77 {
DVLevine 0:69bfc1595ae5 78 res = MBED_TEST_FILESYSTEM::format(&bd);
DVLevine 0:69bfc1595ae5 79 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 80 }
DVLevine 0:69bfc1595ae5 81
DVLevine 0:69bfc1595ae5 82 res = bd.deinit();
DVLevine 0:69bfc1595ae5 83 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 84 }
DVLevine 0:69bfc1595ae5 85
DVLevine 0:69bfc1595ae5 86 void test_simple_file_test() {
DVLevine 0:69bfc1595ae5 87 int res = bd.init();
DVLevine 0:69bfc1595ae5 88 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 89
DVLevine 0:69bfc1595ae5 90 {
DVLevine 0:69bfc1595ae5 91 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 92 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 93 res = file[0].open(&fs, "hello", O_WRONLY | O_CREAT);
DVLevine 0:69bfc1595ae5 94 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 95 size = strlen("Hello World!\n");
DVLevine 0:69bfc1595ae5 96 memcpy(wbuffer, "Hello World!\n", size);
DVLevine 0:69bfc1595ae5 97 res = file[0].write(wbuffer, size);
DVLevine 0:69bfc1595ae5 98 TEST_ASSERT_EQUAL(size, res);
DVLevine 0:69bfc1595ae5 99 res = file[0].close();
DVLevine 0:69bfc1595ae5 100 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 101 res = file[0].open(&fs, "hello", O_RDONLY);
DVLevine 0:69bfc1595ae5 102 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 103 size = strlen("Hello World!\n");
DVLevine 0:69bfc1595ae5 104 res = file[0].read(rbuffer, size);
DVLevine 0:69bfc1595ae5 105 TEST_ASSERT_EQUAL(size, res);
DVLevine 0:69bfc1595ae5 106 res = memcmp(rbuffer, wbuffer, size);
DVLevine 0:69bfc1595ae5 107 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 108 res = file[0].close();
DVLevine 0:69bfc1595ae5 109 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 110 res = fs.unmount();
DVLevine 0:69bfc1595ae5 111 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 112 }
DVLevine 0:69bfc1595ae5 113
DVLevine 0:69bfc1595ae5 114 res = bd.deinit();
DVLevine 0:69bfc1595ae5 115 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 116 }
DVLevine 0:69bfc1595ae5 117
DVLevine 0:69bfc1595ae5 118 template <int file_size, int write_size, int read_size>
DVLevine 0:69bfc1595ae5 119 void test_write_file_test() {
DVLevine 0:69bfc1595ae5 120 int res = bd.init();
DVLevine 0:69bfc1595ae5 121 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 122
DVLevine 0:69bfc1595ae5 123 {
DVLevine 0:69bfc1595ae5 124 size_t size = file_size;
DVLevine 0:69bfc1595ae5 125 size_t chunk = write_size;
DVLevine 0:69bfc1595ae5 126 srand(0);
DVLevine 0:69bfc1595ae5 127 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 128 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 129 res = file[0].open(&fs, filenames[file_counter], O_WRONLY | O_CREAT);
DVLevine 0:69bfc1595ae5 130 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 131 for (size_t i = 0; i < size; i += chunk) {
DVLevine 0:69bfc1595ae5 132 chunk = (chunk < size - i) ? chunk : size - i;
DVLevine 0:69bfc1595ae5 133 for (size_t b = 0; b < chunk; b++) {
DVLevine 0:69bfc1595ae5 134 buffer[b] = rand() & 0xff;
DVLevine 0:69bfc1595ae5 135 }
DVLevine 0:69bfc1595ae5 136 res = file[0].write(buffer, chunk);
DVLevine 0:69bfc1595ae5 137 TEST_ASSERT_EQUAL(chunk, res);
DVLevine 0:69bfc1595ae5 138 }
DVLevine 0:69bfc1595ae5 139 res = file[0].close();
DVLevine 0:69bfc1595ae5 140 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 141 res = fs.unmount();
DVLevine 0:69bfc1595ae5 142 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 143 }
DVLevine 0:69bfc1595ae5 144
DVLevine 0:69bfc1595ae5 145 {
DVLevine 0:69bfc1595ae5 146 size_t size = file_size;
DVLevine 0:69bfc1595ae5 147 size_t chunk = read_size;
DVLevine 0:69bfc1595ae5 148 srand(0);
DVLevine 0:69bfc1595ae5 149 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 150 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 151 res = file[0].open(&fs, filenames[file_counter], O_RDONLY);
DVLevine 0:69bfc1595ae5 152 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 153 for (size_t i = 0; i < size; i += chunk) {
DVLevine 0:69bfc1595ae5 154 chunk = (chunk < size - i) ? chunk : size - i;
DVLevine 0:69bfc1595ae5 155 res = file[0].read(buffer, chunk);
DVLevine 0:69bfc1595ae5 156 TEST_ASSERT_EQUAL(chunk, res);
DVLevine 0:69bfc1595ae5 157 for (size_t b = 0; b < chunk && i+b < size; b++) {
DVLevine 0:69bfc1595ae5 158 res = buffer[b];
DVLevine 0:69bfc1595ae5 159 TEST_ASSERT_EQUAL(rand() & 0xff, res);
DVLevine 0:69bfc1595ae5 160 }
DVLevine 0:69bfc1595ae5 161 }
DVLevine 0:69bfc1595ae5 162 res = file[0].close();
DVLevine 0:69bfc1595ae5 163 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 164 res = fs.unmount();
DVLevine 0:69bfc1595ae5 165 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 166 }
DVLevine 0:69bfc1595ae5 167
DVLevine 0:69bfc1595ae5 168 file_counter++;
DVLevine 0:69bfc1595ae5 169 res = bd.deinit();
DVLevine 0:69bfc1595ae5 170 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 171 }
DVLevine 0:69bfc1595ae5 172
DVLevine 0:69bfc1595ae5 173 void test_non_overlap_check() {
DVLevine 0:69bfc1595ae5 174 int res = bd.init();
DVLevine 0:69bfc1595ae5 175 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 176
DVLevine 0:69bfc1595ae5 177 {
DVLevine 0:69bfc1595ae5 178 size_t size = 32;
DVLevine 0:69bfc1595ae5 179 size_t chunk = 29;
DVLevine 0:69bfc1595ae5 180 srand(0);
DVLevine 0:69bfc1595ae5 181 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 182 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 183 res = file[0].open(&fs, "smallavacado", O_RDONLY);
DVLevine 0:69bfc1595ae5 184 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 185 for (size_t i = 0; i < size; i += chunk) {
DVLevine 0:69bfc1595ae5 186 chunk = (chunk < size - i) ? chunk : size - i;
DVLevine 0:69bfc1595ae5 187 res = file[0].read(buffer, chunk);
DVLevine 0:69bfc1595ae5 188 TEST_ASSERT_EQUAL(chunk, res);
DVLevine 0:69bfc1595ae5 189 for (size_t b = 0; b < chunk && i+b < size; b++) {
DVLevine 0:69bfc1595ae5 190 res = buffer[b];
DVLevine 0:69bfc1595ae5 191 TEST_ASSERT_EQUAL(rand() & 0xff, res);
DVLevine 0:69bfc1595ae5 192 }
DVLevine 0:69bfc1595ae5 193 }
DVLevine 0:69bfc1595ae5 194 res = file[0].close();
DVLevine 0:69bfc1595ae5 195 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 196 res = fs.unmount();
DVLevine 0:69bfc1595ae5 197 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 198 }
DVLevine 0:69bfc1595ae5 199
DVLevine 0:69bfc1595ae5 200 {
DVLevine 0:69bfc1595ae5 201 size_t size = 8192;
DVLevine 0:69bfc1595ae5 202 size_t chunk = 29;
DVLevine 0:69bfc1595ae5 203 srand(0);
DVLevine 0:69bfc1595ae5 204 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 205 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 206 res = file[0].open(&fs, "mediumavacado", O_RDONLY);
DVLevine 0:69bfc1595ae5 207 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 208 for (size_t i = 0; i < size; i += chunk) {
DVLevine 0:69bfc1595ae5 209 chunk = (chunk < size - i) ? chunk : size - i;
DVLevine 0:69bfc1595ae5 210 res = file[0].read(buffer, chunk);
DVLevine 0:69bfc1595ae5 211 TEST_ASSERT_EQUAL(chunk, res);
DVLevine 0:69bfc1595ae5 212 for (size_t b = 0; b < chunk && i+b < size; b++) {
DVLevine 0:69bfc1595ae5 213 res = buffer[b];
DVLevine 0:69bfc1595ae5 214 TEST_ASSERT_EQUAL(rand() & 0xff, res);
DVLevine 0:69bfc1595ae5 215 }
DVLevine 0:69bfc1595ae5 216 }
DVLevine 0:69bfc1595ae5 217 res = file[0].close();
DVLevine 0:69bfc1595ae5 218 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 219 res = fs.unmount();
DVLevine 0:69bfc1595ae5 220 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 221 }
DVLevine 0:69bfc1595ae5 222
DVLevine 0:69bfc1595ae5 223 {
DVLevine 0:69bfc1595ae5 224 size_t size = 262144;
DVLevine 0:69bfc1595ae5 225 size_t chunk = 29;
DVLevine 0:69bfc1595ae5 226 srand(0);
DVLevine 0:69bfc1595ae5 227 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 228 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 229 res = file[0].open(&fs, "largeavacado", O_RDONLY);
DVLevine 0:69bfc1595ae5 230 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 231 for (size_t i = 0; i < size; i += chunk) {
DVLevine 0:69bfc1595ae5 232 chunk = (chunk < size - i) ? chunk : size - i;
DVLevine 0:69bfc1595ae5 233 res = file[0].read(buffer, chunk);
DVLevine 0:69bfc1595ae5 234 TEST_ASSERT_EQUAL(chunk, res);
DVLevine 0:69bfc1595ae5 235 for (size_t b = 0; b < chunk && i+b < size; b++) {
DVLevine 0:69bfc1595ae5 236 res = buffer[b];
DVLevine 0:69bfc1595ae5 237 TEST_ASSERT_EQUAL(rand() & 0xff, res);
DVLevine 0:69bfc1595ae5 238 }
DVLevine 0:69bfc1595ae5 239 }
DVLevine 0:69bfc1595ae5 240 res = file[0].close();
DVLevine 0:69bfc1595ae5 241 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 242 res = fs.unmount();
DVLevine 0:69bfc1595ae5 243 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 244 }
DVLevine 0:69bfc1595ae5 245
DVLevine 0:69bfc1595ae5 246 res = bd.deinit();
DVLevine 0:69bfc1595ae5 247 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 248 }
DVLevine 0:69bfc1595ae5 249
DVLevine 0:69bfc1595ae5 250 void test_dir_check() {
DVLevine 0:69bfc1595ae5 251
DVLevine 0:69bfc1595ae5 252 int res = bd.init();
DVLevine 0:69bfc1595ae5 253 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 254
DVLevine 0:69bfc1595ae5 255 {
DVLevine 0:69bfc1595ae5 256 res = fs.mount(&bd);
DVLevine 0:69bfc1595ae5 257 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 258 res = dir[0].open(&fs, "/");
DVLevine 0:69bfc1595ae5 259 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 260 int numFiles = sizeof(filenames)/sizeof(filenames[0]);
DVLevine 0:69bfc1595ae5 261 // Check the filenames in directory
DVLevine 0:69bfc1595ae5 262 while(1) {
DVLevine 0:69bfc1595ae5 263 res = dir[0].read(&ent);
DVLevine 0:69bfc1595ae5 264 if (0 == res) {
DVLevine 0:69bfc1595ae5 265 break;
DVLevine 0:69bfc1595ae5 266 }
DVLevine 0:69bfc1595ae5 267 for (int i=0; i < numFiles ; i++) {
DVLevine 0:69bfc1595ae5 268 res = strcmp(ent.d_name, filenames[i]);
DVLevine 0:69bfc1595ae5 269 if (0 == res) {
DVLevine 0:69bfc1595ae5 270 res = ent.d_type;
DVLevine 0:69bfc1595ae5 271 if ((DT_REG != res) && (DT_DIR != res)) {
DVLevine 0:69bfc1595ae5 272 TEST_ASSERT(1);
DVLevine 0:69bfc1595ae5 273 }
DVLevine 0:69bfc1595ae5 274 break;
DVLevine 0:69bfc1595ae5 275 }
DVLevine 0:69bfc1595ae5 276 else if( i == numFiles) {
DVLevine 0:69bfc1595ae5 277 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 278 }
DVLevine 0:69bfc1595ae5 279 }
DVLevine 0:69bfc1595ae5 280 }
DVLevine 0:69bfc1595ae5 281 res = dir[0].close();
DVLevine 0:69bfc1595ae5 282 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 283 res = fs.unmount();
DVLevine 0:69bfc1595ae5 284 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 285 }
DVLevine 0:69bfc1595ae5 286
DVLevine 0:69bfc1595ae5 287 res = bd.deinit();
DVLevine 0:69bfc1595ae5 288 TEST_ASSERT_EQUAL(0, res);
DVLevine 0:69bfc1595ae5 289 }
DVLevine 0:69bfc1595ae5 290
DVLevine 0:69bfc1595ae5 291
DVLevine 0:69bfc1595ae5 292 // test setup
DVLevine 0:69bfc1595ae5 293 utest::v1::status_t test_setup(const size_t number_of_cases) {
DVLevine 0:69bfc1595ae5 294 GREENTEA_SETUP(MBED_TEST_TIMEOUT, "default_auto");
DVLevine 0:69bfc1595ae5 295 return verbose_test_setup_handler(number_of_cases);
DVLevine 0:69bfc1595ae5 296 }
DVLevine 0:69bfc1595ae5 297
DVLevine 0:69bfc1595ae5 298 Case cases[] = {
DVLevine 0:69bfc1595ae5 299 Case("File tests", test_file_tests),
DVLevine 0:69bfc1595ae5 300 Case("Simple file test", test_simple_file_test),
DVLevine 0:69bfc1595ae5 301 Case("Small file test", test_write_file_test<32, 31, 29>),
DVLevine 0:69bfc1595ae5 302 Case("Medium file test", test_write_file_test<8192, 31, 29>),
DVLevine 0:69bfc1595ae5 303 Case("Large file test", test_write_file_test<262144, 31, 29>),
DVLevine 0:69bfc1595ae5 304 Case("Block Size file test", test_write_file_test<9000, 512, 512>),
DVLevine 0:69bfc1595ae5 305 Case("Multiple block size file test", test_write_file_test<26215, MBED_TEST_BUFFER, MBED_TEST_BUFFER>),
DVLevine 0:69bfc1595ae5 306 Case("Non-overlap check", test_non_overlap_check),
DVLevine 0:69bfc1595ae5 307 Case("Dir check", test_dir_check),
DVLevine 0:69bfc1595ae5 308 };
DVLevine 0:69bfc1595ae5 309
DVLevine 0:69bfc1595ae5 310 Specification specification(test_setup, cases);
DVLevine 0:69bfc1595ae5 311
DVLevine 0:69bfc1595ae5 312 int main() {
DVLevine 0:69bfc1595ae5 313 return !Harness::run(specification);
DVLevine 0:69bfc1595ae5 314 }