-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
365 lines (257 loc) · 5.92 KB
/
README
File metadata and controls
365 lines (257 loc) · 5.92 KB
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
//// Each team member's name and contributions ////////////
Eddie Avendaño
• Designed some FileSys.cpp methods
• Debugged/tested server & client
• Reserved study room for team meetings
Marco Rodriguez
• Worked on Shell.cpp and Shell.h
• Created and edited Readme File
• Organized group members over github
Nicholas Doubrovsky
• Headed the work on FileSys.cpp
• Helped get server & client working
• Thourough debugging and testing
//// My own rating on the functionality ///////////////////
Rating: A, B, C, D, or F?
A
Explanation:
The file system works as intended and completes all test examples provided by the assignment pdf
along with all tests provided below. The majority of test cases were performed in many different situations
including edge cases such as files being almost or completely full and the disk being almost or completely full.
A large number of edge case bugs have been found so there should be extremally few if any bugs in the functionality
of the file system.
//// Test cases ///////////////////////////////////////////
All of these commands were done in this exact order
Eddie's tests
Test case #1: mkdir abc
Results:NFS> success
Test case #2: create file1
Results:NFS>success
Test case #3: ls
Results:NFS>abc file1
Test case #4:append abc helloworld!
Results:NFS>501 File is a directory
Test case #5:cd file1
Results:NFS>500 File is not a directory
Test case #6:cd abc
Results:NFS>success
Test case #7: ls
Results:NFS>empty folder
Test case #8: create file1 (now in directory abc)
Results:NFS>success
Test case #9:append file1 helloworld!
Results:NFS>success
Test case #10:cat file1
Results:NFS>helloworld!
Test case #11: state file1
Results:NFS>
Inode block: 5
Bytes in file: 11
number of blocks:2
first block: 7
Test case #12 head file1 5
Results:NFS>hello
Test case #13 create file1
Results:NFS>502 file exists
Test case #14 mkdir dir2
Results:NFS>success
Test case #15: stat dir2
Results:NFS>
Directory name: dir2/
directory block: 6
test case #16 home
NFS>success
test case #17: rmdir abc
Results:NFS>507 Directory is not empty
Test case #18 rm file1
Results:NFS>success
Test case #19 append file1 goodbye!
Results:NFS>503 File does not exist
Test case #20 create this_name_is_too_long_for_a_file
Results:NFS>504 file name is too long
Test case #21 (creating more then 10 files in a directory)
Results:NFS>505 Disk is full
Test case #22 (creating more then 10 files in a directory)
Results:NFS>506 Directory is full
Test case #23 appending
Results:NFS>508 Directory is full
Nick's tests
New FS was started here
-------------
NFS> create toolongname
504 File name is too long
NFS> mkdir toolongname
504 File name is too long
NFS> create f
success
NFS> cat f
NFS> head f 5
NFS> create f
502 File exists
NFS> cd f
500 File is not a directory
NFS> stat f
Inode block: 2
Bytes in file: 0
Number of Blocks: 1
First block: 0
NFS> append f <80 character long string>
success
NFS> cat f
<same 80 character long string>
NFS> head f 81
<same 80 character long string>
NFS> head f 5
10101
NFS> stat f
Inode block: 2
Bytes in file: 80
Number of blocks: 2
First block: 3
This command was repeated 94 times:
NFS> append f <80 character long string>
All 94 results were the same
success
NFS> stat f
Inode block: 2
Bytes in file: 7600
Number of blocks: 61
First block: 3
NFS> append f <78 character long string>
success
NFS> stat f
Inode block: 2
Bytes in file: 7678
Number of blocks: 61
First block: 3
NFS> append f 01
success
These two tests were not performed sequentially rather each one was run with identical
starting conditions in a seperate session from the other, both give the same results after their initial responses
------------------------------
NFS> append f 01
success
NFS> append f hello
508 Append exceeds maximum file size
-------------------------------
NFS> stat f
Inode block: 2
Bytes in file: 7680
Number of blocks: 61
First block: 3
NFS> append f 01
508 Append exceeds maximum file size
NFS> stat f
Inode block: 2
Bytes in file: 7680
Number of blocks: 61
First block: 3
NFS> rm f
success
NFS> ls
empty folder
NFS> mkdir test
success
NFS> stat test
Directory name: test/
Directory block: 2
NFS> cd test
success
NFS> ls
empty folder
NFS> create file
success
NFS> mkdir dir
success
NFS> ls
file dir/
NFS> stat dir
Directory name: dir/
Directory block: 4
NFS> home
success
NFS> rmdir test
507 Directory is not empty
NFS> cd test
success
NFS> rmdir file
500 File is not a directory
NFS> rm dir
501 File is a directory
NFS> rm file
success
NFS> rmdir dir
success
NFS> ls
empty folder
NFS> home
success
NFS> rmdir badname
503 File does not exist
NFS> rm badname
503 File does not exist
NFS> rmdir test
success
NFS> mkdir test
success
NFS> mkdir test
502 File exists
mkdir <dirname> was repeated with different names until the directory contained 10 directories, all responded success
NFS> mkdir test11
506 Directory is full
NFS> create test11
506 Directory is full
NFS> cd test11
503 File does not exist
NFS> cd test
success
NFS> mkdir test
success
these last two test cases were repeated a little over 1000 times
NFS> stat test
Directory name: test/
Directory block: 1021
NFS> create file
success
NFS> stat file
Inode block: 1022
Bytes in file: 0
Number of blocks: 0
First block: 0
NFS> append file <80 character long string>
success
NFS> stat file
Inode block: 1022
Bytes in file: 80
Number of blocks: 2
First block: 1023
NFS> append file <80 character long string>
505 Disk is full
NFS> create file2
505 Disk is full
NFS> mkdir test2
505 Disk is full
NFS> rm file
success
NFS> mkdir test2
success
NFS> mkdir test3
success
NFS> mkdir test4
505 Disk is full
NFS> rmdir test3
success
NFS> cat test
501 File is a directory
NFS> head test 5
501 File is a directory
NFS> append test hello
501 File is a directory
NFS> cat notafile
503 File does not exist
NFS> head notafile 5
503 File does not exist
NFS> append notafile hello
503 File does not exist
NFS> stat notafile
503 File does not exist