Changeset 1909

Show
Ignore:
Timestamp:
11/07/08 15:16:24 (2 months ago)
Author:
batt
Message:

Add exhaustive fileopen test.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/bertos/fs/battfs_test.c

    r1897 r1909  
    10521052 
    10531053 
     1054static void openAllFiles(BattFsSuper *disk) 
     1055{ 
     1056        TRACEMSG("22: try to open a lot of files\n"); 
     1057 
     1058        FILE *fpt = fopen(test_filename, "w+"); 
     1059 
     1060        for (int i = 0; i < FILE_SIZE; i++) 
     1061                fputc(0xff, fpt); 
     1062        fclose(fpt); 
     1063 
     1064        BattFs fd[BATTFS_MAX_FILES]; 
     1065        unsigned int MODE = BATTFS_CREATE; 
     1066 
     1067        ASSERT(disk_open(disk)); 
     1068        ASSERT(battfs_mount(disk)); 
     1069        ASSERT(battfs_fsck(disk)); 
     1070        for (unsigned i = 0; i < countof(fd); i++) 
     1071        { 
     1072                kprintf("apertura %d\n", i); 
     1073                ASSERT(battfs_fileopen(disk, &fd[i], i, MODE)); 
     1074        } 
     1075 
     1076        ASSERT(battfs_fsck(disk)); 
     1077 
     1078        for (unsigned i = 0; i < countof(fd); i++) 
     1079        { 
     1080                ASSERT(kfile_close(&fd[i].fd) == 0); 
     1081                ASSERT(kfile_error(&fd[i].fd) == 0); 
     1082        } 
     1083 
     1084        ASSERT(battfs_fsck(disk)); 
     1085        ASSERT(battfs_umount(disk)); 
     1086 
     1087        ASSERT(disk_open(disk)); 
     1088        ASSERT(battfs_mount(disk)); 
     1089        ASSERT(battfs_fsck(disk)); 
     1090 
     1091 
     1092        for (unsigned i = 0; i < countof(fd); i++) 
     1093                ASSERT(battfs_fileopen(disk, &fd[i], i, MODE)); 
     1094 
     1095        ASSERT(battfs_fsck(disk)); 
     1096 
     1097        for (unsigned i = 0; i < countof(fd); i++) 
     1098        { 
     1099                ASSERT(kfile_close(&fd[i].fd) == 0); 
     1100                ASSERT(kfile_error(&fd[i].fd) == 0); 
     1101        } 
     1102 
     1103        ASSERT(battfs_fsck(disk)); 
     1104        ASSERT(battfs_umount(disk)); 
     1105        TRACEMSG("22: passed\n"); 
     1106} 
     1107 
     1108 
    10541109int battfs_testRun(void) 
    10551110{ 
     
    10751130        endOfSpace(&disk); 
    10761131        multipleFilesRW(&disk); 
     1132        openAllFiles(&disk); 
    10771133 
    10781134        kprintf("All tests passed!\n");