40 RFile f; |
39 RFile f; |
41 TInt maxEntry=56; |
40 TInt maxEntry=56; |
42 test.Next(_L("Create a directory with 55 entries")); |
41 test.Next(_L("Create a directory with 55 entries")); |
43 TFileName sessionPath; |
42 TFileName sessionPath; |
44 TInt r=TheFs.SessionPath(sessionPath); |
43 TInt r=TheFs.SessionPath(sessionPath); |
45 test_KErrNone(r); |
44 test(r==KErrNone); |
46 r=TheFs.MkDir(_L("\\F32-TST\\")); |
45 r=TheFs.MkDir(_L("\\F32-TST\\")); |
47 test_Value(r, (r == KErrNone)||(r==KErrAlreadyExists)); |
46 test((r==KErrNone)||(r==KErrAlreadyExists)); |
48 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\")); |
47 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\")); |
49 test_Value(r, (r == KErrNone)||(r==KErrAlreadyExists)); |
48 test((r==KErrNone)||(r==KErrAlreadyExists)); |
50 |
49 |
51 for (TInt i=0;i<maxEntry;i++) |
50 for (TInt i=0;i<maxEntry;i++) |
52 { |
51 { |
53 TFileName baseName=_L("\\F32-TST\\TDIRS\\FILE"); |
52 TFileName baseName=_L("\\F32-TST\\TDIRS\\FILE"); |
54 baseName.AppendNum(i); |
53 baseName.AppendNum(i); |
55 r=f.Replace(TheFs,baseName,EFileRead); |
54 r=f.Replace(TheFs,baseName,EFileRead); |
56 test_KErrNone(r); |
55 test(r==KErrNone); |
57 r=f.Write(_L8("Hello World")); |
56 r=f.Write(_L8("Hello World")); |
58 test_KErrNone(r); |
57 test(r==KErrNone); |
59 f.Close(); |
58 f.Close(); |
60 } |
59 } |
61 test.Next(_L("Test all entries have been created successfully.")); |
60 test.Next(_L("Test all entries have been created successfully.")); |
62 for (TInt j=0;j<=maxEntry;j++) |
61 for (TInt j=0;j<=maxEntry;j++) |
63 { |
62 { |
64 TFileName baseName=_L("\\F32-TST\\TDIRS\\FILE"); |
63 TFileName baseName=_L("\\F32-TST\\TDIRS\\FILE"); |
65 baseName.AppendNum(j); |
64 baseName.AppendNum(j); |
66 TInt r=f.Open(TheFs,baseName,EFileRead); |
65 TInt r=f.Open(TheFs,baseName,EFileRead); |
67 if (r!=KErrNone) |
66 if (r!=KErrNone) |
68 { |
67 { |
69 test_Value(r, r == KErrNotFound && j==maxEntry); |
68 test(r==KErrNotFound && j==maxEntry); |
70 return; |
69 return; |
71 } |
70 } |
72 TBuf8<16> data; |
71 TBuf8<16> data; |
73 r=f.Read(data); |
72 r=f.Read(data); |
74 test_KErrNone(r); |
73 test(r==KErrNone); |
75 test(data==_L8("Hello World")); |
74 test(data==_L8("Hello World")); |
76 f.Close(); |
75 f.Close(); |
77 } |
76 } |
78 } |
77 } |
79 |
78 |
114 test.Next(_L("Open files and directories on Z:")); |
113 test.Next(_L("Open files and directories on Z:")); |
115 TEntry entry; |
114 TEntry entry; |
116 RDir d; |
115 RDir d; |
117 |
116 |
118 TInt r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\ESHELL.EXE\\*"):_L("\\System\\Bin\\ESHELL.EXE\\*"),KEntryAttMaskSupported); |
117 TInt r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\ESHELL.EXE\\*"):_L("\\System\\Bin\\ESHELL.EXE\\*"),KEntryAttMaskSupported); |
119 test_Value(r, r == KErrPathNotFound); |
118 test(r==KErrPathNotFound); |
120 |
119 |
121 r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\ESHELL.EXE"):_L("\\System\\Bin\\ESHELL.EXE"),KEntryAttMaskSupported); |
120 r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\ESHELL.EXE"):_L("\\System\\Bin\\ESHELL.EXE"),KEntryAttMaskSupported); |
122 test_KErrNone(r); |
121 test(r==KErrNone); |
123 |
122 |
124 r=d.Read(entry); |
123 r=d.Read(entry); |
125 if (r==KErrEof) |
124 if (r==KErrEof) |
126 { |
125 { |
127 test.Printf(_L("Error: EShell.EXE not found\n")); |
126 test.Printf(_L("Error: EShell.EXE not found\n")); |
128 //test.Getch(); |
127 //test.Getch(); |
129 } |
128 } |
130 else |
129 else |
131 { |
130 { |
132 test_KErrNone(r); |
131 test(r==KErrNone); |
133 test(entry.iName.FindF(_L("ESHELL.EXE"))>=0); |
132 test(entry.iName.FindF(_L("ESHELL.EXE"))>=0); |
134 r=d.Read(entry); |
133 r=d.Read(entry); |
135 test_Value(r, r == KErrEof); |
134 test(r==KErrEof); |
136 } |
135 } |
137 d.Close(); |
136 d.Close(); |
138 |
137 |
139 r=d.Open(TheFs,_L("\\*.XQP"),KEntryAttMaskSupported); |
138 r=d.Open(TheFs,_L("\\*.XQP"),KEntryAttMaskSupported); |
140 test_KErrNone(r); |
139 test(r==KErrNone); |
141 r=d.Read(entry); |
140 r=d.Read(entry); |
142 test_Value(r, r == KErrEof); |
141 test(r==KErrEof); |
143 d.Close(); |
142 d.Close(); |
144 |
143 |
145 r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\"):_L("\\System\\Bin\\"),KEntryAttMaskSupported); |
144 r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\"):_L("\\System\\Bin\\"),KEntryAttMaskSupported); |
146 test_KErrNone(r); |
145 test(r==KErrNone); |
147 r=d.Read(entry); |
146 r=d.Read(entry); |
148 |
147 |
149 if (r==KErrEof) |
148 if (r==KErrEof) |
150 { |
149 { |
151 test.Printf(_L("No files found\n")); |
150 test.Printf(_L("No files found\n")); |
152 d.Close(); |
151 d.Close(); |
153 } |
152 } |
154 else |
153 else |
155 { |
154 { |
156 test_KErrNone(r); |
155 test(r==KErrNone); |
157 test.Printf(_L("First Entry = %S\n"),&entry.iName); |
156 test.Printf(_L("First Entry = %S\n"),&entry.iName); |
158 r=d.Read(entry); |
157 r=d.Read(entry); |
159 test_KErrNone(r); |
158 test(r==KErrNone); |
160 test.Printf(_L("Second Entry = %S\n"),&entry.iName); |
159 test.Printf(_L("Second Entry = %S\n"),&entry.iName); |
161 d.Close(); |
160 d.Close(); |
162 } |
161 } |
163 |
162 |
164 r=d.Open(TheFs,_L("\\*"),KEntryAttMaskSupported); |
163 r=d.Open(TheFs,_L("\\*"),KEntryAttMaskSupported); |
165 test_KErrNone(r); |
164 test(r==KErrNone); |
166 d.Close(); |
165 d.Close(); |
167 r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\*"):_L("\\System\\Bin\\*"),KEntryAttMaskSupported); |
166 r=d.Open(TheFs,PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)?_L("\\Sys\\Bin\\*"):_L("\\System\\Bin\\*"),KEntryAttMaskSupported); |
168 test_KErrNone(r); |
167 test(r==KErrNone); |
169 d.Close(); |
168 d.Close(); |
170 } |
169 } |
171 |
170 |
172 static void Test3() |
171 static void Test3() |
173 // |
172 // |
177 |
176 |
178 test.Next(_L("Open files and directories")); |
177 test.Next(_L("Open files and directories")); |
179 TEntry entry; |
178 TEntry entry; |
180 RFile f; |
179 RFile f; |
181 TInt r=f.Replace(TheFs,_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR"),EFileWrite); |
180 TInt r=f.Replace(TheFs,_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR"),EFileWrite); |
182 test_KErrNone(r); |
181 test(r==KErrNone); |
183 r=f.Write(_L8("TESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATA")); |
182 r=f.Write(_L8("TESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATATESTDATA")); |
184 test_KErrNone(r); |
183 test(r==KErrNone); |
185 r=TheFs.Delete(_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR")); |
184 r=TheFs.Delete(_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR")); |
186 test_Value(r, r == KErrInUse); |
185 test(r==KErrInUse); |
187 f.Close(); |
186 f.Close(); |
188 RDir d; |
187 RDir d; |
189 r=d.Open(TheFs,_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR\\*"),KEntryAttMaskSupported); |
188 r=d.Open(TheFs,_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR\\*"),KEntryAttMaskSupported); |
190 test_Value(r, r == KErrPathNotFound); |
189 test(r==KErrPathNotFound); |
191 r=d.Open(TheFs,_L("\\F32-TST\\TDIRS\\*.XQP"),KEntryAttMaskSupported); |
190 r=d.Open(TheFs,_L("\\F32-TST\\TDIRS\\*.XQP"),KEntryAttMaskSupported); |
192 test_KErrNone(r); |
191 test(r==KErrNone); |
193 r=d.Read(entry); |
192 r=d.Read(entry); |
194 test_Value(r, r == KErrEof); |
193 test(r==KErrEof); |
195 d.Close(); |
194 d.Close(); |
196 r=d.Open(TheFs,_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR"),KEntryAttMaskSupported); |
195 r=d.Open(TheFs,_L("\\F32-TST\\TDIRS\\TESTFILEORISITA.DIR"),KEntryAttMaskSupported); |
197 test_KErrNone(r); |
196 test(r==KErrNone); |
198 r=d.Read(entry); |
197 r=d.Read(entry); |
199 test_KErrNone(r); |
198 test(r==KErrNone); |
200 test(entry.iName.FindF(_L("TESTFILEORISITA.DIR"))>=0); |
199 test(entry.iName.FindF(_L("TESTFILEORISITA.DIR"))>=0); |
201 r=d.Read(entry); |
200 r=d.Read(entry); |
202 test_Value(r, r == KErrEof); |
201 test(r==KErrEof); |
203 d.Close(); |
202 d.Close(); |
204 r=d.Open(TheFs,_L("\\"),KEntryAttMaskSupported); |
203 r=d.Open(TheFs,_L("\\"),KEntryAttMaskSupported); |
205 test_KErrNone(r); |
204 test(r==KErrNone); |
206 d.Close(); |
205 d.Close(); |
207 r=d.Open(TheFs,_L("\\F32-TST\\"),KEntryAttMaskSupported); |
206 r=d.Open(TheFs,_L("\\F32-TST\\"),KEntryAttMaskSupported); |
208 test_KErrNone(r); |
207 test(r==KErrNone); |
209 d.Close(); |
208 d.Close(); |
210 r=d.Open(TheFs,_L("\\*"),KEntryAttMaskSupported); |
209 r=d.Open(TheFs,_L("\\*"),KEntryAttMaskSupported); |
211 test_KErrNone(r); |
210 test(r==KErrNone); |
212 d.Close(); |
211 d.Close(); |
213 r=d.Open(TheFs,_L("\\F32-TST\\*"),KEntryAttMaskSupported); |
212 r=d.Open(TheFs,_L("\\F32-TST\\*"),KEntryAttMaskSupported); |
214 test_KErrNone(r); |
213 test(r==KErrNone); |
215 d.Close(); |
214 d.Close(); |
216 |
215 |
217 // create a small file on the root |
216 // create a small file on the root |
218 test(f.Replace(TheFs, _L("\\TEST.FILE"), EFileWrite) == KErrNone); |
217 test(f.Replace(TheFs, _L("\\TEST.FILE"), EFileWrite) == KErrNone); |
219 test(f.Write(_L8("1234567890987654321234567890")) == KErrNone); |
218 test(f.Write(_L8("1234567890987654321234567890")) == KErrNone); |
225 // cleanup |
224 // cleanup |
226 TheFs.Delete(_L("\\TEST.FILE")); |
225 TheFs.Delete(_L("\\TEST.FILE")); |
227 |
226 |
228 |
227 |
229 r=TheFs.MkDir(_L("\\F32-TST\\EMPTY\\")); |
228 r=TheFs.MkDir(_L("\\F32-TST\\EMPTY\\")); |
230 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
229 test(r==KErrNone || r==KErrAlreadyExists); |
231 r=d.Open(TheFs,_L("\\F32-TST\\EMPTY\\*"),KEntryAttMaskSupported); |
230 r=d.Open(TheFs,_L("\\F32-TST\\EMPTY\\*"),KEntryAttMaskSupported); |
232 test_KErrNone(r); |
231 test(r==KErrNone); |
233 // r=TheFs.RmDir(_L("\\F32-TST\\EMPTY\\")); |
232 // r=TheFs.RmDir(_L("\\F32-TST\\EMPTY\\")); |
234 r=d.Read(entry); |
233 r=d.Read(entry); |
235 test_Value(r, r == KErrEof); |
234 test(r==KErrEof); |
236 // r=TheFs.RmDir(_L("\\F32-TST\\EMPTY\\")); |
235 // r=TheFs.RmDir(_L("\\F32-TST\\EMPTY\\")); |
237 // test_Value(r, r == KErrInUse); |
236 // test(r==KErrInUse); |
238 r=d.Read(entry); |
237 r=d.Read(entry); |
239 r=d.Read(entry); |
238 r=d.Read(entry); |
240 r=d.Read(entry); |
239 r=d.Read(entry); |
241 d.Close(); |
240 d.Close(); |
242 r=TheFs.RmDir(_L("\\F32-TST\\EMPTY\\")); |
241 r=TheFs.RmDir(_L("\\F32-TST\\EMPTY\\")); |
243 test_KErrNone(r); |
242 test(r==KErrNone); |
244 } |
243 } |
245 |
244 |
246 |
245 |
247 static void CreateSortNoneTestDirectoryStructure() |
246 static void CreateSortNoneTestDirectoryStructure() |
248 // |
247 // |
255 // the time this function was run... |
254 // the time this function was run... |
256 |
255 |
257 CFileMan* fMan=CFileMan::NewL(TheFs); |
256 CFileMan* fMan=CFileMan::NewL(TheFs); |
258 test(fMan!=NULL); |
257 test(fMan!=NULL); |
259 TInt r=fMan->RmDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\")); |
258 TInt r=fMan->RmDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\")); |
260 test_Value(r, (r == KErrNone)||(r==KErrPathNotFound)); |
259 test((r==KErrNone)||(r==KErrPathNotFound)); |
261 delete fMan; |
260 delete fMan; |
262 |
261 |
263 gTimeNow.HomeTime(); // Set global TTime gTimeNow to time now - for later tests |
262 gTimeNow.HomeTime(); // Set global TTime gTimeNow to time now - for later tests |
264 r=TheFs.MkDirAll(_L("\\F32-TST\\TDIRS\\SORT_NONE\\")); |
263 r=TheFs.MkDirAll(_L("\\F32-TST\\TDIRS\\SORT_NONE\\")); |
265 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
264 test(r==KErrNone || r==KErrAlreadyExists); |
266 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file1.txt")); |
265 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file1.txt")); |
267 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\FILE_DIR1.APP\\")); |
266 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\FILE_DIR1.APP\\")); |
268 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
267 test(r==KErrNone || r==KErrAlreadyExists); |
269 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file1.app")); |
268 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file1.app")); |
270 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\FILE_DIR2.TXT\\")); |
269 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\FILE_DIR2.TXT\\")); |
271 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
270 test(r==KErrNone || r==KErrAlreadyExists); |
272 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file2.txt")); |
271 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file2.txt")); |
273 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\FILE_DIR3.APP\\")); |
272 r=TheFs.MkDir(_L("\\F32-TST\\TDIRS\\SORT_NONE\\FILE_DIR3.APP\\")); |
274 test_Value(r, r == KErrNone || r==KErrAlreadyExists); |
273 test(r==KErrNone || r==KErrAlreadyExists); |
275 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\ZZZZ")); |
274 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\ZZZZ")); |
276 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\AAAA")); |
275 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\AAAA")); |
277 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\WWWW")); |
276 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\WWWW")); |
278 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file2.app")); |
277 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file2.app")); |
279 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file3.txt")); |
278 MakeFile(_L("\\f32-tst\\tdirs\\sort_none\\file3.txt")); |
298 // GetDir OOM failure passes 'callback' test from client side but not server side |
297 // GetDir OOM failure passes 'callback' test from client side but not server side |
299 // |
298 // |
300 TheFs.SetAllocFailure(gAllocFailOff); |
299 TheFs.SetAllocFailure(gAllocFailOff); |
301 |
300 |
302 TInt r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*"),KEntryAttMaskSupported,ESortNone,dir); |
301 TInt r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*"),KEntryAttMaskSupported,ESortNone,dir); |
303 test_KErrNone(r); |
302 test(r==KErrNone); |
304 TInt count=dir->Count(); |
303 TInt count=dir->Count(); |
305 test(count==15); |
304 test(count==15); |
306 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*"),KEntryAttMaskSupported,ESortByName,dirSorted); |
305 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*"),KEntryAttMaskSupported,ESortByName,dirSorted); |
307 test_KErrNone(r); |
306 test(r==KErrNone); |
308 test(dirSorted->Count()==15); |
307 test(dirSorted->Count()==15); |
309 delete dirSorted; |
308 delete dirSorted; |
310 delete dir; |
309 delete dir; |
311 |
310 |
312 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.txt"),KEntryAttNormal,ESortNone,dir); |
311 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.txt"),KEntryAttNormal,ESortNone,dir); |
313 test_KErrNone(r); |
312 test(r==KErrNone); |
314 test(dir->Count()==3); |
313 test(dir->Count()==3); |
315 delete dir; |
314 delete dir; |
316 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal,ESortNone,dir); |
315 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal,ESortNone,dir); |
317 test_KErrNone(r); |
316 test(r==KErrNone); |
318 test(dir->Count()==3); |
317 test(dir->Count()==3); |
319 delete dir; |
318 delete dir; |
320 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal|KEntryAttDir,ESortNone,dir); |
319 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal|KEntryAttDir,ESortNone,dir); |
321 test_KErrNone(r); |
320 test(r==KErrNone); |
322 test(dir->Count()==5); |
321 test(dir->Count()==5); |
323 delete dir; |
322 delete dir; |
324 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal|KEntryAttDir,ESortNone|EDirsFirst,dir); |
323 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal|KEntryAttDir,ESortNone|EDirsFirst,dir); |
325 test_KErrNone(r); |
324 test(r==KErrNone); |
326 test(dir->Count()==5); |
325 test(dir->Count()==5); |
327 delete dir; |
326 delete dir; |
328 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal|KEntryAttDir,ESortNone|EDirsLast,dir); |
327 r=TheFs.GetDir(_L("\\f32-tst\\tdirs\\sort_none\\*.app"),KEntryAttNormal|KEntryAttDir,ESortNone|EDirsLast,dir); |
329 test_KErrNone(r); |
328 test(r==KErrNone); |
330 test(dir->Count()==5); |
329 test(dir->Count()==5); |
331 delete dir; |
330 delete dir; |
332 |
331 |
333 TheFs.SetAllocFailure(gAllocFailOn); |
332 TheFs.SetAllocFailure(gAllocFailOn); |
334 } |
333 } |
393 test(entry.iName.FindF(_L("FILE_DIR3.APP"))>=0); |
392 test(entry.iName.FindF(_L("FILE_DIR3.APP"))>=0); |
394 delete dirList; |
393 delete dirList; |
395 |
394 |
396 RDir dir; |
395 RDir dir; |
397 r=dir.Open(TheFs,_L("\\f32-tst\\tdirs\\sort_none\\*.*"),KEntryAttNormal|KEntryAttDir); |
396 r=dir.Open(TheFs,_L("\\f32-tst\\tdirs\\sort_none\\*.*"),KEntryAttNormal|KEntryAttDir); |
398 test_KErrNone(r); |
397 test(r==KErrNone); |
399 |
398 |
400 TTime time; |
399 TTime time; |
401 TInt64 difference; |
400 TInt64 difference; |
402 TInt64 maxOK=1000000; |
401 TInt64 maxOK=1000000; |
403 maxOK*=60; |
402 maxOK*=60; |
404 maxOK*=3; |
403 maxOK*=3; |
405 |
404 |
406 for (TInt i=0; i<15; i++) |
405 for (TInt i=0; i<15; i++) |
407 { |
406 { |
408 r=dir.Read(entry); |
407 r=dir.Read(entry); |
409 test_KErrNone(r); |
408 test(r==KErrNone); |
410 time=entry.iModified; |
409 time=entry.iModified; |
411 difference=time.Int64()-gTimeNow.Int64(); |
410 difference=time.Int64()-gTimeNow.Int64(); |
412 test(difference<maxOK); |
411 test(difference<maxOK); |
413 } |
412 } |
414 |
413 |
415 r=dir.Read(entry); |
414 r=dir.Read(entry); |
416 test_Value(r, r == KErrEof); |
415 test(r==KErrEof); |
417 dir.Close(); |
416 dir.Close(); |
418 |
417 |
419 TheFs.SetAllocFailure(gAllocFailOn); |
418 TheFs.SetAllocFailure(gAllocFailOn); |
420 } |
419 } |
421 |
420 |
484 // Mem::Fill((TUint8*)longFileName.Ptr(),254,'A'); |
483 // Mem::Fill((TUint8*)longFileName.Ptr(),254,'A'); |
485 Mem::Fill((TUint8*)longFileName.Ptr(),254*sizeof(TText),'A'); |
484 Mem::Fill((TUint8*)longFileName.Ptr(),254*sizeof(TText),'A'); |
486 longFileName[0]='\\'; |
485 longFileName[0]='\\'; |
487 longFileName[253]='\\'; |
486 longFileName[253]='\\'; |
488 r=TheFs.MkDir(longFileName); |
487 r=TheFs.MkDir(longFileName); |
489 test_KErrNone(r); |
488 test(r==KErrNone); |
490 CDir* dirList=NULL; |
489 CDir* dirList=NULL; |
491 r=TheFs.GetDir(longFileName,KEntryAttMaskSupported,ESortByName,dirList); |
490 r=TheFs.GetDir(longFileName,KEntryAttMaskSupported,ESortByName,dirList); |
492 test_KErrNone(r); |
491 test(r==KErrNone); |
493 count=dirList->Count(); |
492 count=dirList->Count(); |
494 test(count==0); |
493 test(count==0); |
495 delete dirList; |
494 delete dirList; |
496 TParse parse; |
495 TParse parse; |
497 r=TheFs.Parse(longFileName,parse); |
496 r=TheFs.Parse(longFileName,parse); |
498 test_KErrNone(r); |
497 test(r==KErrNone); |
499 TEntry entry; |
498 TEntry entry; |
500 r=TheFs.Entry(longFileName,entry); |
499 r=TheFs.Entry(longFileName,entry); |
501 test_KErrNone(r); |
500 test(r==KErrNone); |
502 r=TheFs.SetSessionPath(longFileName); |
501 r=TheFs.SetSessionPath(longFileName); |
503 test_KErrNone(r); |
502 test(r==KErrNone); |
504 r=TheFs.GetDir(longFileName,KEntryAttMaskSupported,ESortByName,dirList); |
503 r=TheFs.GetDir(longFileName,KEntryAttMaskSupported,ESortByName,dirList); |
505 test_KErrNone(r); |
504 test(r==KErrNone); |
506 count=dirList->Count(); |
505 count=dirList->Count(); |
507 test(count==0); |
506 test(count==0); |
508 delete dirList; |
507 delete dirList; |
509 r=TheFs.Parse(longFileName,_L("*"),parse); |
508 r=TheFs.Parse(longFileName,_L("*"),parse); |
510 test_Value(r, r == KErrBadName); |
509 test(r==KErrBadName); |
511 r=f.Open(TheFs,_L("asdf.asdf"),0); |
510 r=f.Open(TheFs,_L("asdf.asdf"),0); |
512 test_Value(r, r == KErrBadName); |
511 test(r==KErrBadName); |
513 r=TheFs.Entry(longFileName,entry); |
512 r=TheFs.Entry(longFileName,entry); |
514 test_KErrNone(r); |
513 test(r==KErrNone); |
515 r=TheFs.RmDir(longFileName); |
514 r=TheFs.RmDir(longFileName); |
516 test_KErrNone(r); |
515 test(r==KErrNone); |
517 } |
516 } |
518 |
517 |
519 static void Test8() |
518 static void Test8() |
520 // |
519 // |
521 // Regression tests |
520 // Regression tests |
524 |
523 |
525 test.Next(_L("Open dir and change drives")); |
524 test.Next(_L("Open dir and change drives")); |
526 MakeDir(_L("C:\\MOON\\")); |
525 MakeDir(_L("C:\\MOON\\")); |
527 RDir dir; |
526 RDir dir; |
528 TInt r=dir.Open(TheFs,_L("C:\\MOON\\"),0); |
527 TInt r=dir.Open(TheFs,_L("C:\\MOON\\"),0); |
529 test_KErrNone(r); |
528 test(r==KErrNone); |
530 TFileName driveName; |
529 TFileName driveName; |
531 r=TheFs.GetDriveName(11,driveName); |
530 r=TheFs.GetDriveName(11,driveName); |
532 test_KErrNone(r); |
531 test(r==KErrNone); |
533 TEntryArray entryArray; |
532 TEntryArray entryArray; |
534 r=dir.Read(entryArray); |
533 r=dir.Read(entryArray); |
535 test_Value(r, r == KErrEof); |
534 test(r==KErrEof); |
536 test(entryArray.Count()==0); |
535 test(entryArray.Count()==0); |
537 dir.Close(); |
536 dir.Close(); |
538 r=TheFs.RmDir(_L("C:\\MOON\\")); |
537 r=TheFs.RmDir(_L("C:\\MOON\\")); |
539 test_KErrNone(r); |
538 test(r==KErrNone); |
540 |
539 |
541 test.Next(_L("MkDir all on nonexistent drive")); |
540 test.Next(_L("MkDir all on nonexistent drive")); |
542 r=TheFs.MkDirAll(_L("L:\\MOON")); |
541 r=TheFs.MkDirAll(_L("L:\\MOON")); |
543 test_Value(r, (r == KErrNotReady)||(r==KErrPathNotFound)); |
542 test((r==KErrNotReady)||(r==KErrPathNotFound)); |
544 } |
543 } |
545 |
544 |
546 static void CleanupL() |
545 static void CleanupL() |
547 // |
546 // |
548 // Clean up tests |
547 // Clean up tests |
565 { |
564 { |
566 |
565 |
567 test.Next(_L("Testing directory names with trailing dots")); |
566 test.Next(_L("Testing directory names with trailing dots")); |
568 TInt r; |
567 TInt r; |
569 r=TheFs.MkDir(_L("\\test9..\\")); |
568 r=TheFs.MkDir(_L("\\test9..\\")); |
570 test_Value(r, r == KErrBadName); |
569 test(r==KErrBadName); |
571 r=TheFs.MkDir(_L("\\test9\\")); |
570 r=TheFs.MkDir(_L("\\test9\\")); |
572 test_Value(r, (r == KErrNone)||(r==KErrAlreadyExists)); |
571 test((r==KErrNone)||(r==KErrAlreadyExists)); |
573 r=TheFs.Rename(_L("\\test9\\"),_L("\\test9..\\")); |
572 r=TheFs.Rename(_L("\\test9\\"),_L("\\test9..\\")); |
574 test_Value(r, r == KErrBadName); |
573 test(r==KErrBadName); |
575 r= TheFs.RmDir(_L("\\test9\\")); |
574 r= TheFs.RmDir(_L("\\test9\\")); |
576 test_KErrNone(r); |
575 test((r==KErrNone)); |
577 r=TheFs.MkDir(_L("\\t.\\")); |
576 r=TheFs.MkDir(_L("\\t.\\")); |
578 test_Value(r, r == KErrBadName); |
577 test(r==KErrBadName); |
579 } |
578 } |
580 |
579 |
581 |
580 |
582 // |
581 // |
583 // Path and File names for sorting by name |
582 // Path and File names for sorting by name |
856 dirTest4 = _L("\\F32-TST\\TDIRS\\test4. . \\"); |
855 dirTest4 = _L("\\F32-TST\\TDIRS\\test4. . \\"); |
857 dirTest5 = _L("\\F32-TST\\TDIRS\\test5.\\"); |
856 dirTest5 = _L("\\F32-TST\\TDIRS\\test5.\\"); |
858 dirTest6 = _L("\\F32-TST\\TDIRS\\test6. .\\"); |
857 dirTest6 = _L("\\F32-TST\\TDIRS\\test6. .\\"); |
859 |
858 |
860 TInt err = TheFs.MkDir(dirTest1); |
859 TInt err = TheFs.MkDir(dirTest1); |
861 test_KErrNone(err); |
860 test(err == KErrNone); |
862 err = TheFs.MkDir(dirTest2); |
861 err = TheFs.MkDir(dirTest2); |
863 test_Value(err, err == KErrBadName); |
862 test(err == KErrBadName); |
864 err = TheFs.MkDir(dirTest3); |
863 err = TheFs.MkDir(dirTest3); |
865 test_Value(err, err == KErrBadName); |
864 test(err == KErrBadName); |
866 err = TheFs.MkDir(dirTest4); |
865 err = TheFs.MkDir(dirTest4); |
867 test_Value(err, err == KErrBadName); |
866 test(err == KErrBadName); |
868 err = TheFs.MkDir(dirTest5); |
867 err = TheFs.MkDir(dirTest5); |
869 test_Value(err, err == KErrBadName); |
868 test(err == KErrBadName); |
870 err = TheFs.MkDir(dirTest6); |
869 err = TheFs.MkDir(dirTest6); |
871 test_Value(err, err == KErrBadName); |
870 test(err == KErrBadName); |
872 |
871 |
873 RDir rdir; |
872 RDir rdir; |
874 err = rdir.Open(TheFs, dirTest1, 0); |
873 err = rdir.Open(TheFs, dirTest1, 0); |
875 rdir.Close(); |
874 rdir.Close(); |
876 test_KErrNone(err); |
875 test(err == KErrNone); |
877 |
876 |
878 err = rdir.Open(TheFs, dirTest2, 0); |
877 err = rdir.Open(TheFs, dirTest2, 0); |
879 rdir.Close(); |
878 rdir.Close(); |
880 test_Value(err, err == KErrBadName); |
879 test(err == KErrBadName); |
881 |
880 |
882 err = rdir.Open(TheFs, dirTest3, 0); |
881 err = rdir.Open(TheFs, dirTest3, 0); |
883 rdir.Close(); |
882 rdir.Close(); |
884 test_Value(err, err == KErrBadName); |
883 test(err == KErrBadName); |
885 |
884 |
886 err = rdir.Open(TheFs, dirTest4, 0); |
885 err = rdir.Open(TheFs, dirTest4, 0); |
887 rdir.Close(); |
886 rdir.Close(); |
888 test_Value(err, err == KErrBadName); |
887 test(err == KErrBadName); |
889 |
888 |
890 err = rdir.Open(TheFs, dirTest5, 0); |
889 err = rdir.Open(TheFs, dirTest5, 0); |
891 rdir.Close(); |
890 rdir.Close(); |
892 test_Value(err, err == KErrBadName); |
891 test(err == KErrBadName); |
893 |
892 |
894 err = rdir.Open(TheFs, dirTest6, 0); |
893 err = rdir.Open(TheFs, dirTest6, 0); |
895 rdir.Close(); |
894 rdir.Close(); |
896 test_Value(err, err == KErrBadName); |
895 test(err == KErrBadName); |
897 |
896 |
898 err = TheFs.RmDir(dirTest1); |
897 err = TheFs.RmDir(dirTest1); |
899 test_KErrNone(err); |
898 test(err == KErrNone); |
900 err = TheFs.RmDir(dirTest2); |
899 err = TheFs.RmDir(dirTest2); |
901 test_Value(err, err == KErrBadName); |
900 test(err == KErrBadName); |
902 err = TheFs.RmDir(dirTest3); |
901 err = TheFs.RmDir(dirTest3); |
903 test_Value(err, err == KErrBadName); |
902 test(err == KErrBadName); |
904 err = TheFs.RmDir(dirTest4); |
903 err = TheFs.RmDir(dirTest4); |
905 test_Value(err, err == KErrBadName); |
904 test(err == KErrBadName); |
906 err = TheFs.RmDir(dirTest5); |
905 err = TheFs.RmDir(dirTest5); |
907 test_Value(err, err == KErrBadName); |
906 test(err == KErrBadName); |
908 err = TheFs.RmDir(dirTest6); |
907 err = TheFs.RmDir(dirTest6); |
909 test_Value(err, err == KErrBadName); |
908 test(err == KErrBadName); |
910 } |
909 } |
911 |
910 |
912 void CallTestsL() |
911 void CallTestsL() |
913 // |
912 // |
914 // Do all tests |
913 // Do all tests |
917 |
916 |
918 //-- set up console output |
917 //-- set up console output |
919 F32_Test_Utils::SetConsole(test.Console()); |
918 F32_Test_Utils::SetConsole(test.Console()); |
920 |
919 |
921 TInt nRes=TheFs.CharToDrive(gDriveToTest, gDriveNum); |
920 TInt nRes=TheFs.CharToDrive(gDriveToTest, gDriveNum); |
922 test_KErrNone(nRes); |
921 test(nRes==KErrNone); |
923 |
922 |
924 PrintDrvInfo(TheFs, gDriveNum); |
923 PrintDrvInfo(TheFs, gDriveNum); |
925 |
924 |
926 TurnAllocFailureOff(); |
925 TurnAllocFailureOff(); |
927 CreateTestDirectory(_L("\\F32-TST\\TDIRS\\")); |
926 CreateTestDirectory(_L("\\F32-TST\\TDIRS\\")); |
928 |
927 |
929 if (!gTestedZ) |
928 if (!gTestedZ) |
930 { |
929 { |
931 TInt r=TheFs.SetSessionPath(_L("Z:\\")); |
930 TInt r=TheFs.SetSessionPath(_L("Z:\\")); |
932 test_KErrNone(r); |
931 test(r==KErrNone); |
933 Test2(); |
932 Test2(); |
934 TestZ(); |
933 TestZ(); |
935 r=TheFs.SetSessionPath(gSessionPath); |
934 r=TheFs.SetSessionPath(gSessionPath); |
936 test_KErrNone(r); |
935 test(r==KErrNone); |
937 test.Next(_L("Run all other tests from \\F32-TST\\TDIRS\\")); |
936 test.Next(_L("Run all other tests from \\F32-TST\\TDIRS\\")); |
938 gTestedZ=ETrue; |
937 gTestedZ=ETrue; |
939 } |
938 } |
940 |
939 |
941 Test8(); |
940 Test8(); |