RTC auf true

Committer:
kevman
Date:
Wed Mar 13 11:03:24 2019 +0000
Revision:
2:7aab896b1a3b
2019-03-13

Who changed what in which revision?

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