176 |
176 |
177 test.Next(_L("RFile::TransferToClient()")); |
177 test.Next(_L("RFile::TransferToClient()")); |
178 |
178 |
179 // transfer the file to the client |
179 // transfer the file to the client |
180 r = file1.TransferToClient(aMsg, 0); |
180 r = file1.TransferToClient(aMsg, 0); |
181 test_KErrNone(r); |
181 test(r==KErrNone); |
182 |
182 |
183 // test we can still use the file |
183 // test we can still use the file |
184 TInt64 pos = 0; |
184 TInt64 pos = 0; |
185 r = file1.Seek(ESeekStart, pos); |
185 r = file1.Seek(ESeekStart, pos); |
186 test_KErrNone(r); |
186 test(r == KErrNone); |
187 TBuf8<9> rbuf; |
187 TBuf8<9> rbuf; |
188 r=file1.Read(K4GB-10,rbuf); |
188 r=file1.Read(K4GB-10,rbuf); |
189 test_KErrNone(r); |
189 test(r == KErrNone); |
190 r=rbuf.CompareF(KTestData4()); |
190 r=rbuf.CompareF(KTestData4()); |
191 test_KErrNone(r); |
191 test(r == KErrNone); |
192 |
192 |
193 file1.Close(); |
193 file1.Close(); |
194 fs.Close(); |
194 fs.Close(); |
195 RDebug::Print(_L("completed")); |
195 RDebug::Print(_L("completed")); |
196 } |
196 } |
207 RFile64 file; |
207 RFile64 file; |
208 |
208 |
209 // Message slot 0 is a RFs handle |
209 // Message slot 0 is a RFs handle |
210 // Message slot 1 is a RFile Subsession handle (RFile::SubSessionHandle()) |
210 // Message slot 1 is a RFile Subsession handle (RFile::SubSessionHandle()) |
211 TInt r = file.AdoptFromClient(aMsg, 0, 1); |
211 TInt r = file.AdoptFromClient(aMsg, 0, 1); |
212 test_KErrNone(r); |
212 test(r==KErrNone); |
213 |
213 |
214 TBuf8<9> rbuf; |
214 TBuf8<9> rbuf; |
215 r=file.Read(K4GB-10,rbuf); |
215 r=file.Read(K4GB-10,rbuf); |
216 test_KErrNone(r); |
216 test(r==KErrNone); |
217 r=rbuf.CompareF(KTestData3()); |
217 r=rbuf.CompareF(KTestData3()); |
218 test_KErrNone(r); |
218 test(r==KErrNone); |
219 r=file.Write(KTestData1()); |
219 r=file.Write(KTestData1()); |
220 test_Value(r, r==KErrAccessDenied); |
220 test(r==KErrAccessDenied); |
221 r=file.ChangeMode(EFileWrite); |
221 r=file.ChangeMode(EFileWrite); |
222 test_Value(r, r==KErrArgument); |
222 test(r==KErrArgument); |
223 r=file.Rename(_L("\\newname.txt")); |
223 r=file.Rename(_L("\\newname.txt")); |
224 test_Value(r, r==KErrPermissionDenied || r==KErrAccessDenied); |
224 test(r==KErrPermissionDenied || r==KErrAccessDenied); |
225 file.Close(); |
225 file.Close(); |
226 |
226 |
227 aMsg.Complete(KErrNone); |
227 aMsg.Complete(KErrNone); |
228 } |
228 } |
229 |
229 |
235 { |
235 { |
236 test.Next(_L("RFile64::AdoptFromCreator()")); |
236 test.Next(_L("RFile64::AdoptFromCreator()")); |
237 |
237 |
238 RFile64 file; |
238 RFile64 file; |
239 TInt r = file.AdoptFromCreator(1, 2); |
239 TInt r = file.AdoptFromCreator(1, 2); |
240 test_KErrNone(r); |
240 test(r == KErrNone); |
241 |
241 |
242 TBuf8<3> rbuf; |
242 TBuf8<3> rbuf; |
243 r=file.Read(K4GB-10,rbuf,3); |
243 r=file.Read(K4GB-10,rbuf,3); |
244 test_KErrNone(r); |
244 test(r==KErrNone); |
245 r=rbuf.CompareF(KTestData2()); |
245 r=rbuf.CompareF(KTestData2()); |
246 test_KErrNone(r); |
246 test(r==KErrNone); |
247 |
247 |
248 test.Next(_L("RFile::Rename()")); |
248 test.Next(_L("RFile::Rename()")); |
249 |
249 |
250 // define a filename in our private path |
250 // define a filename in our private path |
251 RFs fs; |
251 RFs fs; |
252 r=fs.Connect(); |
252 r=fs.Connect(); |
253 test_KErrNone(r); |
253 test(r==KErrNone); |
254 |
254 |
255 TFileName sessionp; |
255 TFileName sessionp; |
256 fs.SessionPath(sessionp); |
256 fs.SessionPath(sessionp); |
257 r = fs.MkDirAll(sessionp); |
257 r = fs.MkDirAll(sessionp); |
258 test_Value(r, r==KErrNone || r==KErrAlreadyExists); |
258 test(r==KErrNone || r==KErrAlreadyExists); |
259 |
259 |
260 r=fs.ShareProtected(); |
260 r=fs.ShareProtected(); |
261 test_KErrNone(r); |
261 test(r==KErrNone); |
262 |
262 |
263 r=fs.CreatePrivatePath(gTestDrive); |
263 r=fs.CreatePrivatePath(gTestDrive); |
264 test_KErrNone(r); |
264 test(r==KErrNone); |
265 r=fs.SetSessionToPrivate(gTestDrive); |
265 r=fs.SetSessionToPrivate(gTestDrive); |
266 test_KErrNone(r); |
266 test(r==KErrNone); |
267 |
267 |
268 TPath newPath; |
268 TPath newPath; |
269 fs.PrivatePath(newPath); |
269 fs.PrivatePath(newPath); |
270 TFileName newFileName; |
270 TFileName newFileName; |
271 newFileName = newPath; |
271 newFileName = newPath; |
272 newFileName.Append(_L("newname.txt")); |
272 newFileName.Append(_L("newname.txt")); |
273 |
273 |
274 // delete the file before we try to rename anything to it |
274 // delete the file before we try to rename anything to it |
275 r = fs.Delete(newFileName); |
275 r = fs.Delete(newFileName); |
276 test_Value(r, r == KErrNone || r == KErrNotFound); |
276 test(r == KErrNone || r == KErrNotFound); |
277 |
277 |
278 TFileName fileName; |
278 TFileName fileName; |
279 r = file.FullName(fileName); |
279 r = file.FullName(fileName); |
280 test_KErrNone(r); |
280 test (r == KErrNone); |
281 |
281 |
282 r=file.Rename(newFileName); |
282 r=file.Rename(newFileName); |
283 test_KErrNone(r); |
283 test(r==KErrNone); |
284 |
284 |
285 file.Close(); |
285 file.Close(); |
286 |
286 |
287 // Next verify that we can delete the file (which should now |
287 // Next verify that we can delete the file (which should now |
288 // have been moved to our private directory) |
288 // have been moved to our private directory) |
289 test.Next(_L("RFs::Delete()")); |
289 test.Next(_L("RFs::Delete()")); |
290 r = fs.Delete(newFileName); |
290 r = fs.Delete(newFileName); |
291 test_KErrNone(r); |
291 test(r == KErrNone); |
292 |
292 |
293 fs.Close(); |
293 fs.Close(); |
294 |
294 |
295 |
295 |
296 aMsg.Complete(KErrNone); |
296 aMsg.Complete(KErrNone); |
391 delete cleanup; |
391 delete cleanup; |
392 |
392 |
393 // Sanity check for open handles and pending requests |
393 // Sanity check for open handles and pending requests |
394 TInt end_thc, end_phc; |
394 TInt end_thc, end_phc; |
395 RThread().HandleCount(end_phc, end_thc); |
395 RThread().HandleCount(end_phc, end_thc); |
396 test_Value(start_thc, start_thc == end_thc); |
396 test(start_thc == end_thc); |
397 test_Value(start_phc, start_phc == end_phc); |
397 test(start_phc == end_phc); |
398 test_Value(RThread().RequestCount(), RThread().RequestCount() == 0); |
398 test(RThread().RequestCount() == 0); |
399 |
399 |
400 return 0; |
400 return 0; |
401 } |
401 } |