Dependencies:   MMA7660 LM75B

Committer:
MACRUM
Date:
Sat Jun 30 01:40:30 2018 +0000
Revision:
0:119624335925
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:119624335925 1 #include "mbed.h"
MACRUM 0:119624335925 2 #include "greentea-client/test_env.h"
MACRUM 0:119624335925 3 #include "unity.h"
MACRUM 0:119624335925 4 #include "utest.h"
MACRUM 0:119624335925 5 #include <stdlib.h>
MACRUM 0:119624335925 6 #include <errno.h>
MACRUM 0:119624335925 7
MACRUM 0:119624335925 8 using namespace utest::v1;
MACRUM 0:119624335925 9
MACRUM 0:119624335925 10 // test configuration
MACRUM 0:119624335925 11 #ifndef MBED_TEST_FILESYSTEM
MACRUM 0:119624335925 12 #define MBED_TEST_FILESYSTEM FATFileSystem
MACRUM 0:119624335925 13 #endif
MACRUM 0:119624335925 14
MACRUM 0:119624335925 15 #ifndef MBED_TEST_FILESYSTEM_DECL
MACRUM 0:119624335925 16 #define MBED_TEST_FILESYSTEM_DECL MBED_TEST_FILESYSTEM fs("fs")
MACRUM 0:119624335925 17 #endif
MACRUM 0:119624335925 18
MACRUM 0:119624335925 19 #ifndef MBED_TEST_BLOCKDEVICE
MACRUM 0:119624335925 20 #define MBED_TEST_BLOCKDEVICE SDBlockDevice
MACRUM 0:119624335925 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);
MACRUM 0:119624335925 22 #endif
MACRUM 0:119624335925 23
MACRUM 0:119624335925 24 #ifndef MBED_TEST_BLOCKDEVICE_DECL
MACRUM 0:119624335925 25 #define MBED_TEST_BLOCKDEVICE_DECL MBED_TEST_BLOCKDEVICE bd
MACRUM 0:119624335925 26 #endif
MACRUM 0:119624335925 27
MACRUM 0:119624335925 28 #ifndef MBED_TEST_FILES
MACRUM 0:119624335925 29 #define MBED_TEST_FILES 4
MACRUM 0:119624335925 30 #endif
MACRUM 0:119624335925 31
MACRUM 0:119624335925 32 #ifndef MBED_TEST_DIRS
MACRUM 0:119624335925 33 #define MBED_TEST_DIRS 4
MACRUM 0:119624335925 34 #endif
MACRUM 0:119624335925 35
MACRUM 0:119624335925 36 #ifndef MBED_TEST_BUFFER
MACRUM 0:119624335925 37 #define MBED_TEST_BUFFER 8192
MACRUM 0:119624335925 38 #endif
MACRUM 0:119624335925 39
MACRUM 0:119624335925 40 #ifndef MBED_TEST_TIMEOUT
MACRUM 0:119624335925 41 #define MBED_TEST_TIMEOUT 120
MACRUM 0:119624335925 42 #endif
MACRUM 0:119624335925 43
MACRUM 0:119624335925 44
MACRUM 0:119624335925 45 // declarations
MACRUM 0:119624335925 46 #define STRINGIZE(x) STRINGIZE2(x)
MACRUM 0:119624335925 47 #define STRINGIZE2(x) #x
MACRUM 0:119624335925 48 #define INCLUDE(x) STRINGIZE(x.h)
MACRUM 0:119624335925 49
MACRUM 0:119624335925 50 #include INCLUDE(MBED_TEST_FILESYSTEM)
MACRUM 0:119624335925 51 #include INCLUDE(MBED_TEST_BLOCKDEVICE)
MACRUM 0:119624335925 52
MACRUM 0:119624335925 53 MBED_TEST_FILESYSTEM_DECL;
MACRUM 0:119624335925 54 MBED_TEST_BLOCKDEVICE_DECL;
MACRUM 0:119624335925 55
MACRUM 0:119624335925 56 Dir dir[MBED_TEST_DIRS];
MACRUM 0:119624335925 57 File file[MBED_TEST_FILES];
MACRUM 0:119624335925 58 DIR *dd[MBED_TEST_DIRS];
MACRUM 0:119624335925 59 FILE *fd[MBED_TEST_FILES];
MACRUM 0:119624335925 60 struct dirent ent;
MACRUM 0:119624335925 61 struct dirent *ed;
MACRUM 0:119624335925 62 size_t size;
MACRUM 0:119624335925 63 uint8_t buffer[MBED_TEST_BUFFER];
MACRUM 0:119624335925 64 uint8_t rbuffer[MBED_TEST_BUFFER];
MACRUM 0:119624335925 65 uint8_t wbuffer[MBED_TEST_BUFFER];
MACRUM 0:119624335925 66
MACRUM 0:119624335925 67
MACRUM 0:119624335925 68 // tests
MACRUM 0:119624335925 69
MACRUM 0:119624335925 70 void test_directory_tests() {
MACRUM 0:119624335925 71 int res = bd.init();
MACRUM 0:119624335925 72 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 73
MACRUM 0:119624335925 74 {
MACRUM 0:119624335925 75 res = MBED_TEST_FILESYSTEM::format(&bd);
MACRUM 0:119624335925 76 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 77 }
MACRUM 0:119624335925 78
MACRUM 0:119624335925 79 res = bd.deinit();
MACRUM 0:119624335925 80 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 81 }
MACRUM 0:119624335925 82
MACRUM 0:119624335925 83 void test_root_directory() {
MACRUM 0:119624335925 84 int res = bd.init();
MACRUM 0:119624335925 85 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 86
MACRUM 0:119624335925 87 {
MACRUM 0:119624335925 88 res = fs.mount(&bd);
MACRUM 0:119624335925 89 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 90 res = dir[0].open(&fs, "/");
MACRUM 0:119624335925 91 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 92 res = dir[0].close();
MACRUM 0:119624335925 93 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 94 res = fs.unmount();
MACRUM 0:119624335925 95 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 96 }
MACRUM 0:119624335925 97
MACRUM 0:119624335925 98 res = bd.deinit();
MACRUM 0:119624335925 99 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 100 }
MACRUM 0:119624335925 101
MACRUM 0:119624335925 102 void test_directory_creation() {
MACRUM 0:119624335925 103 int res = bd.init();
MACRUM 0:119624335925 104 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 105
MACRUM 0:119624335925 106 {
MACRUM 0:119624335925 107 res = fs.mount(&bd);
MACRUM 0:119624335925 108 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 109 res = fs.mkdir("potato", 0777);
MACRUM 0:119624335925 110 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 111 res = fs.unmount();
MACRUM 0:119624335925 112 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 113 }
MACRUM 0:119624335925 114
MACRUM 0:119624335925 115 res = bd.deinit();
MACRUM 0:119624335925 116 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 117 }
MACRUM 0:119624335925 118
MACRUM 0:119624335925 119 void test_file_creation() {
MACRUM 0:119624335925 120 int res = bd.init();
MACRUM 0:119624335925 121 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 122
MACRUM 0:119624335925 123 {
MACRUM 0:119624335925 124 res = fs.mount(&bd);
MACRUM 0:119624335925 125 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 126 res = file[0].open(&fs, "burito", O_CREAT | O_WRONLY);
MACRUM 0:119624335925 127 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 128 res = file[0].close();
MACRUM 0:119624335925 129 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 130 res = fs.unmount();
MACRUM 0:119624335925 131 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 132 }
MACRUM 0:119624335925 133
MACRUM 0:119624335925 134 res = bd.deinit();
MACRUM 0:119624335925 135 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 136 }
MACRUM 0:119624335925 137
MACRUM 0:119624335925 138 void dir_file_check(char *list[], uint32_t elements) {
MACRUM 0:119624335925 139 int res;
MACRUM 0:119624335925 140 while(1) {
MACRUM 0:119624335925 141 res = dir[0].read(&ent);
MACRUM 0:119624335925 142 if (0 == res) {
MACRUM 0:119624335925 143 break;
MACRUM 0:119624335925 144 }
MACRUM 0:119624335925 145 for (int i = 0; i < elements ; i++) {
MACRUM 0:119624335925 146 res = strcmp(ent.d_name, list[i]);
MACRUM 0:119624335925 147 if (0 == res) {
MACRUM 0:119624335925 148 res = ent.d_type;
MACRUM 0:119624335925 149 if ((DT_DIR != res) && (DT_REG != res)) {
MACRUM 0:119624335925 150 TEST_ASSERT(1);
MACRUM 0:119624335925 151 }
MACRUM 0:119624335925 152 break;
MACRUM 0:119624335925 153 }
MACRUM 0:119624335925 154 else if( i == elements) {
MACRUM 0:119624335925 155 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 156 }
MACRUM 0:119624335925 157 }
MACRUM 0:119624335925 158 }
MACRUM 0:119624335925 159 }
MACRUM 0:119624335925 160
MACRUM 0:119624335925 161 void test_directory_iteration() {
MACRUM 0:119624335925 162 int res = bd.init();
MACRUM 0:119624335925 163 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 164
MACRUM 0:119624335925 165 res = fs.mount(&bd);
MACRUM 0:119624335925 166 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 167 res = dir[0].open(&fs, "/");
MACRUM 0:119624335925 168 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 169 char *dir_list[] = {"potato", "burito", ".", ".."};
MACRUM 0:119624335925 170
MACRUM 0:119624335925 171 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 172
MACRUM 0:119624335925 173 res = dir[0].close();
MACRUM 0:119624335925 174 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 175 res = fs.unmount();
MACRUM 0:119624335925 176 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 177 res = bd.deinit();
MACRUM 0:119624335925 178 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 179 }
MACRUM 0:119624335925 180
MACRUM 0:119624335925 181 void test_directory_failures() {
MACRUM 0:119624335925 182 int res = bd.init();
MACRUM 0:119624335925 183 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 184
MACRUM 0:119624335925 185 {
MACRUM 0:119624335925 186 res = fs.mount(&bd);
MACRUM 0:119624335925 187 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 188 res = fs.mkdir("potato", 0777);
MACRUM 0:119624335925 189 TEST_ASSERT_EQUAL(-EEXIST, res);
MACRUM 0:119624335925 190 res = dir[0].open(&fs, "tomato");
MACRUM 0:119624335925 191 TEST_ASSERT_EQUAL(-ENOENT, res);
MACRUM 0:119624335925 192 res = dir[0].open(&fs, "burito");
MACRUM 0:119624335925 193 TEST_ASSERT_NOT_EQUAL(0, res);
MACRUM 0:119624335925 194 res = file[0].open(&fs, "tomato", O_RDONLY);
MACRUM 0:119624335925 195 TEST_ASSERT_EQUAL(-ENOENT, res);
MACRUM 0:119624335925 196 res = file[0].open(&fs, "potato", O_RDONLY);
MACRUM 0:119624335925 197 TEST_ASSERT_NOT_EQUAL(0, res);
MACRUM 0:119624335925 198 res = fs.unmount();
MACRUM 0:119624335925 199 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 200 }
MACRUM 0:119624335925 201
MACRUM 0:119624335925 202 res = bd.deinit();
MACRUM 0:119624335925 203 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 204 }
MACRUM 0:119624335925 205
MACRUM 0:119624335925 206 void test_nested_directories() {
MACRUM 0:119624335925 207 int res = bd.init();
MACRUM 0:119624335925 208 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 209
MACRUM 0:119624335925 210 {
MACRUM 0:119624335925 211 res = fs.mount(&bd);
MACRUM 0:119624335925 212 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 213 res = fs.mkdir("potato/baked", 0777);
MACRUM 0:119624335925 214 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 215 res = fs.mkdir("potato/sweet", 0777);
MACRUM 0:119624335925 216 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 217 res = fs.mkdir("potato/fried", 0777);
MACRUM 0:119624335925 218 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 219 res = fs.unmount();
MACRUM 0:119624335925 220 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 221 }
MACRUM 0:119624335925 222
MACRUM 0:119624335925 223 {
MACRUM 0:119624335925 224 res = fs.mount(&bd);
MACRUM 0:119624335925 225 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 226 res = dir[0].open(&fs, "/");
MACRUM 0:119624335925 227 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 228 char *dir_list[] = {"potato", "baked", "sweet", "fried", ".", ".."};
MACRUM 0:119624335925 229 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 230 res = dir[0].close();
MACRUM 0:119624335925 231 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 232 res = fs.unmount();
MACRUM 0:119624335925 233 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 234 }
MACRUM 0:119624335925 235
MACRUM 0:119624335925 236 res = bd.deinit();
MACRUM 0:119624335925 237 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 238 }
MACRUM 0:119624335925 239
MACRUM 0:119624335925 240 void test_multi_block_directory() {
MACRUM 0:119624335925 241 int res = bd.init();
MACRUM 0:119624335925 242 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 243
MACRUM 0:119624335925 244 {
MACRUM 0:119624335925 245 res = fs.mount(&bd);
MACRUM 0:119624335925 246 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 247 res = fs.mkdir("cactus", 0777);
MACRUM 0:119624335925 248 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 249 for (int i = 0; i < 128; i++) {
MACRUM 0:119624335925 250 sprintf((char*)buffer, "cactus/test%d", i);
MACRUM 0:119624335925 251 res = fs.mkdir((char*)buffer, 0777);
MACRUM 0:119624335925 252 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 253 }
MACRUM 0:119624335925 254 res = fs.unmount();
MACRUM 0:119624335925 255 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 256 }
MACRUM 0:119624335925 257
MACRUM 0:119624335925 258 {
MACRUM 0:119624335925 259 res = fs.mount(&bd);
MACRUM 0:119624335925 260 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 261 res = dir[0].open(&fs, "cactus");
MACRUM 0:119624335925 262 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 263
MACRUM 0:119624335925 264 #if (MBED_TEST_FILESYSTEM != FATFileSystem)
MACRUM 0:119624335925 265 char *dir_list[] = {".", ".."};
MACRUM 0:119624335925 266 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 267 #endif
MACRUM 0:119624335925 268
MACRUM 0:119624335925 269 for (int i = 0; i < 128; i++) {
MACRUM 0:119624335925 270 sprintf((char*)buffer, "test%d", i);
MACRUM 0:119624335925 271 res = dir[0].read(&ent);
MACRUM 0:119624335925 272 TEST_ASSERT_EQUAL(1, res);
MACRUM 0:119624335925 273 res = strcmp(ent.d_name, (char*)buffer);
MACRUM 0:119624335925 274 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 275 }
MACRUM 0:119624335925 276 res = dir[0].read(&ent);
MACRUM 0:119624335925 277 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 278 res = dir[0].close();
MACRUM 0:119624335925 279 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 280 res = fs.unmount();
MACRUM 0:119624335925 281 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 282 }
MACRUM 0:119624335925 283
MACRUM 0:119624335925 284 res = bd.deinit();
MACRUM 0:119624335925 285 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 286 }
MACRUM 0:119624335925 287
MACRUM 0:119624335925 288 void test_directory_remove() {
MACRUM 0:119624335925 289 int res = bd.init();
MACRUM 0:119624335925 290 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 291
MACRUM 0:119624335925 292 {
MACRUM 0:119624335925 293 res = fs.mount(&bd);
MACRUM 0:119624335925 294 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 295 res = fs.remove("potato");
MACRUM 0:119624335925 296 TEST_ASSERT_NOT_EQUAL(0, res);
MACRUM 0:119624335925 297 res = fs.remove("potato/sweet");
MACRUM 0:119624335925 298 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 299 res = fs.remove("potato/baked");
MACRUM 0:119624335925 300 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 301 res = fs.remove("potato/fried");
MACRUM 0:119624335925 302 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 303 res = dir[0].open(&fs, "potato");
MACRUM 0:119624335925 304 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 305
MACRUM 0:119624335925 306 #if (MBED_TEST_FILESYSTEM != FATFileSystem)
MACRUM 0:119624335925 307 char *dir_list[] = {".", ".."};
MACRUM 0:119624335925 308 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 309 #endif
MACRUM 0:119624335925 310
MACRUM 0:119624335925 311 res = dir[0].read(&ent);
MACRUM 0:119624335925 312 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 313 res = dir[0].close();
MACRUM 0:119624335925 314 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 315 res = fs.remove("potato");
MACRUM 0:119624335925 316 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 317 res = fs.unmount();
MACRUM 0:119624335925 318 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 319 }
MACRUM 0:119624335925 320
MACRUM 0:119624335925 321 {
MACRUM 0:119624335925 322 res = fs.mount(&bd);
MACRUM 0:119624335925 323 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 324 res = dir[0].open(&fs, "/");
MACRUM 0:119624335925 325 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 326 char *dir_list[] = {"burito", "cactus", ".", ".."};
MACRUM 0:119624335925 327 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 328 res = dir[0].close();
MACRUM 0:119624335925 329 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 330 res = fs.unmount();
MACRUM 0:119624335925 331 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 332 }
MACRUM 0:119624335925 333
MACRUM 0:119624335925 334 res = bd.deinit();
MACRUM 0:119624335925 335 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 336 }
MACRUM 0:119624335925 337
MACRUM 0:119624335925 338 void test_directory_rename() {
MACRUM 0:119624335925 339 int res = bd.init();
MACRUM 0:119624335925 340 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 341
MACRUM 0:119624335925 342 {
MACRUM 0:119624335925 343 res = fs.mount(&bd);
MACRUM 0:119624335925 344 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 345 res = fs.mkdir("coldpotato", 0777);
MACRUM 0:119624335925 346 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 347 res = fs.mkdir("coldpotato/baked", 0777);
MACRUM 0:119624335925 348 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 349 res = fs.mkdir("coldpotato/sweet", 0777);
MACRUM 0:119624335925 350 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 351 res = fs.mkdir("coldpotato/fried", 0777);
MACRUM 0:119624335925 352 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 353 res = fs.unmount();
MACRUM 0:119624335925 354 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 355 }
MACRUM 0:119624335925 356
MACRUM 0:119624335925 357 {
MACRUM 0:119624335925 358 res = fs.mount(&bd);
MACRUM 0:119624335925 359 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 360 res = fs.rename("coldpotato", "hotpotato");
MACRUM 0:119624335925 361 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 362 res = fs.unmount();
MACRUM 0:119624335925 363 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 364 }
MACRUM 0:119624335925 365
MACRUM 0:119624335925 366 {
MACRUM 0:119624335925 367 res = fs.mount(&bd);
MACRUM 0:119624335925 368 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 369 res = dir[0].open(&fs, "hotpotato");
MACRUM 0:119624335925 370 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 371 char *dir_list[] = {"baked", "sweet", "fried", ".", ".."};
MACRUM 0:119624335925 372 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 373 res = dir[0].close();
MACRUM 0:119624335925 374 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 375 res = fs.unmount();
MACRUM 0:119624335925 376 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 377 }
MACRUM 0:119624335925 378
MACRUM 0:119624335925 379 {
MACRUM 0:119624335925 380 res = fs.mount(&bd);
MACRUM 0:119624335925 381 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 382 res = fs.mkdir("warmpotato", 0777);
MACRUM 0:119624335925 383 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 384 res = fs.mkdir("warmpotato/mushy", 0777);
MACRUM 0:119624335925 385 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 386 res = fs.rename("hotpotato", "warmpotato");
MACRUM 0:119624335925 387 TEST_ASSERT_NOT_EQUAL(0, res);
MACRUM 0:119624335925 388 res = fs.remove("warmpotato/mushy");
MACRUM 0:119624335925 389 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 390 res = fs.remove("warmpotato");
MACRUM 0:119624335925 391 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 392 res = fs.rename("hotpotato", "warmpotato");
MACRUM 0:119624335925 393 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 394 res = fs.unmount();
MACRUM 0:119624335925 395 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 396 }
MACRUM 0:119624335925 397
MACRUM 0:119624335925 398 {
MACRUM 0:119624335925 399 res = fs.mount(&bd);
MACRUM 0:119624335925 400 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 401 res = dir[0].open(&fs, "warmpotato");
MACRUM 0:119624335925 402 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 403 char *dir_list[] = {"baked", "sweet", "fried", ".", ".."};
MACRUM 0:119624335925 404 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 405 res = dir[0].close();
MACRUM 0:119624335925 406 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 407 res = fs.unmount();
MACRUM 0:119624335925 408 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 409 }
MACRUM 0:119624335925 410
MACRUM 0:119624335925 411 {
MACRUM 0:119624335925 412 res = fs.mount(&bd);
MACRUM 0:119624335925 413 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 414 res = fs.mkdir("coldpotato", 0777);
MACRUM 0:119624335925 415 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 416 res = fs.rename("warmpotato/baked", "coldpotato/baked");
MACRUM 0:119624335925 417 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 418 res = fs.rename("warmpotato/sweet", "coldpotato/sweet");
MACRUM 0:119624335925 419 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 420 res = fs.rename("warmpotato/fried", "coldpotato/fried");
MACRUM 0:119624335925 421 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 422 res = fs.remove("coldpotato");
MACRUM 0:119624335925 423 TEST_ASSERT_NOT_EQUAL(0, res);
MACRUM 0:119624335925 424 res = fs.remove("warmpotato");
MACRUM 0:119624335925 425 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 426 res = fs.unmount();
MACRUM 0:119624335925 427 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 428 }
MACRUM 0:119624335925 429
MACRUM 0:119624335925 430 {
MACRUM 0:119624335925 431 res = fs.mount(&bd);
MACRUM 0:119624335925 432 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 433 res = dir[0].open(&fs, "coldpotato");
MACRUM 0:119624335925 434 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 435 char *dir_list[] = {"baked", "sweet", "fried", ".", ".."};
MACRUM 0:119624335925 436 dir_file_check(dir_list, (sizeof(dir_list)/sizeof(dir_list[0])));
MACRUM 0:119624335925 437 res = dir[0].close();
MACRUM 0:119624335925 438 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 439 res = fs.unmount();
MACRUM 0:119624335925 440 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 441 }
MACRUM 0:119624335925 442
MACRUM 0:119624335925 443 res = bd.deinit();
MACRUM 0:119624335925 444 TEST_ASSERT_EQUAL(0, res);
MACRUM 0:119624335925 445 }
MACRUM 0:119624335925 446
MACRUM 0:119624335925 447
MACRUM 0:119624335925 448
MACRUM 0:119624335925 449 // test setup
MACRUM 0:119624335925 450 utest::v1::status_t test_setup(const size_t number_of_cases) {
MACRUM 0:119624335925 451 GREENTEA_SETUP(MBED_TEST_TIMEOUT, "default_auto");
MACRUM 0:119624335925 452 return verbose_test_setup_handler(number_of_cases);
MACRUM 0:119624335925 453 }
MACRUM 0:119624335925 454
MACRUM 0:119624335925 455 Case cases[] = {
MACRUM 0:119624335925 456 Case("Directory tests", test_directory_tests),
MACRUM 0:119624335925 457 Case("Root directory", test_root_directory),
MACRUM 0:119624335925 458 Case("Directory creation", test_directory_creation),
MACRUM 0:119624335925 459 Case("File creation", test_file_creation),
MACRUM 0:119624335925 460 Case("Directory iteration", test_directory_iteration),
MACRUM 0:119624335925 461 Case("Directory failures", test_directory_failures),
MACRUM 0:119624335925 462 Case("Nested directories", test_nested_directories),
MACRUM 0:119624335925 463 Case("Multi-block directory", test_multi_block_directory),
MACRUM 0:119624335925 464 Case("Directory remove", test_directory_remove),
MACRUM 0:119624335925 465 Case("Directory rename", test_directory_rename),
MACRUM 0:119624335925 466 };
MACRUM 0:119624335925 467
MACRUM 0:119624335925 468 Specification specification(test_setup, cases);
MACRUM 0:119624335925 469
MACRUM 0:119624335925 470 int main() {
MACRUM 0:119624335925 471 return !Harness::run(specification);
MACRUM 0:119624335925 472 }