18 #include <e32math.h> |
18 #include <e32math.h> |
19 #include <e32hal.h> |
19 #include <e32hal.h> |
20 #include "t_server.h" |
20 #include "t_server.h" |
21 #include "t_chlffs.h" |
21 #include "t_chlffs.h" |
22 |
22 |
23 #ifdef __VC32__ |
23 #include "f32_test_utils.h" |
24 // Solve compilation problem caused by non-English locale |
24 using namespace F32_Test_Utils; |
25 #pragma setlocale("english") |
25 |
26 #endif |
26 RTest test(_L("B_GEN")); |
27 |
|
28 GLDEF_D RTest test(_L("B_GEN")); |
|
29 // |
27 // |
30 // File test - general test of local filing system routines |
28 // File test - general test of local filing system routines |
31 // (finishes with formating current device). |
29 // (finishes with formating current device). |
32 // Modified from BB's epoc test code |
30 // Modified from BB's epoc test code |
33 |
31 |
34 #define MINIMUM_DATE (315532800L) |
32 #define MINIMUM_DATE (315532800L) |
35 #define DateTests 10 |
33 #define DateTests 10 |
36 |
34 |
37 // GLREF_D P_DEVICE p_file; |
35 |
38 // GLREF_D P_DEVICE p_wind,p_screen,p_cons; |
36 TBuf<0x100> gNameBuf; |
39 |
37 TBuf<0x100> gNameOut; |
40 GLDEF_D TBuf<0x100> gNameBuf; |
38 RFile gFile; |
41 GLDEF_D TBuf<0x100> gNameOut; |
39 RFile gFileErr; |
42 GLDEF_D RFile gFile; |
40 RFile gFile2; |
43 GLDEF_D RFile gFileErr; |
41 RDir gDir; |
44 GLDEF_D RFile gFile2; |
42 RFormat gFormat; |
45 GLDEF_D RDir gDir; |
43 TFileName fBuf; |
46 GLDEF_D RFormat gFormat; |
44 TInt gDriveNum = -1; |
47 //GLDEF_D void *chan1,*chan2; |
45 |
48 GLDEF_D TFileName fBuf; |
46 |
49 //GLDEF_D TUint8 fBuf[P_FNAMESIZE]; |
47 static TBuf8<0x4000> gDataBuf; |
50 |
48 static TEntry gFileEntry; |
51 |
49 static TVolumeInfo volInfo; |
52 LOCAL_D TBuf8<0x4000> gDataBuf; |
50 static TFileName pathBuf; |
53 LOCAL_D TEntry gFileEntry; |
51 |
54 // LOCAL_D P_DINFO volInfo; |
52 |
55 LOCAL_D TVolumeInfo volInfo; |
53 |
56 // LOCAL_D P_NINFO nInfo; |
54 |
57 LOCAL_D TFileName pathBuf; |
55 |
58 |
56 static void doError(const TDesC &aMess, TInt anErr, TInt line) |
59 |
|
60 LOCAL_D TInt NameErr=KErrBadName; |
|
61 LOCAL_D TInt DirErr=KErrPathNotFound; |
|
62 LOCAL_D TInt AccessErr=KErrAccessDenied; |
|
63 LOCAL_D TInt LockedErr=KErrInUse; |
|
64 LOCAL_D TInt ExistsErr=KErrAlreadyExists; |
|
65 LOCAL_D TInt NotExistsErr=KErrNotFound; |
|
66 LOCAL_D TInt EofErr=KErrEof; |
|
67 LOCAL_D TInt DeviceErr=KErrNotReady; |
|
68 //LOCAL_D TInt NoFileSystemErr=KErrNotReady; |
|
69 //LOCAL_D TInt NotSupportedErr=KErrNotSupported; |
|
70 LOCAL_D TInt ReadOnlyErr=KErrAccessDenied; |
|
71 |
|
72 LOCAL_D TInt P_FASTREAM=EFileStream; |
|
73 LOCAL_D TInt P_FAEXEC=0; |
|
74 LOCAL_D TInt P_FAMOD=KEntryAttArchive; |
|
75 LOCAL_D TInt P_FAREAD=KEntryAttReadOnly; |
|
76 //LOCAL_D TInt P_FAHIDDEN=KEntryAttHidden; |
|
77 //LOCAL_D TInt P_FASYSTEM=KEntryAttSystem; |
|
78 //LOCAL_C TInt P_FAVOLUME=KEntryAttVolume; |
|
79 LOCAL_C TInt P_FADIR=KEntryAttDir; |
|
80 LOCAL_C TInt P_FRANDOM=0; |
|
81 LOCAL_C TInt P_FABS=ESeekStart; |
|
82 |
|
83 LOCAL_C TInt P_FUPDATE=EFileWrite; |
|
84 |
|
85 |
|
86 LOCAL_C void doError(const TDesC &aMess, TInt anErr, TInt line) |
|
87 { |
57 { |
88 test.Printf(_L("%S failed at line %d. Error %d\n"),&aMess, line, anErr); |
58 test.Printf(_L("%S failed at line %d. Error %d\n"),&aMess, line, anErr); |
89 test(0); |
59 test(0); |
90 } |
60 } |
91 #define Error(aMess, anErr) doError(aMess, anErr, __LINE__) |
61 #define Error(aMess, anErr) doError(aMess, anErr, __LINE__) |
92 |
62 |
93 LOCAL_C void doError2(const TDesC &aMess, TInt anErr, TInt line, TInt callLine) |
63 static void doError2(const TDesC &aMess, TInt anErr, TInt line, TInt callLine) |
94 { |
64 { |
95 test.Printf(_L("%S failed at line %d. Error %d. Called from line %d\n"),&aMess, line, anErr, callLine); \ |
65 test.Printf(_L("%S failed at line %d. Error %d. Called from line %d\n"),&aMess, line, anErr, callLine); \ |
96 test(0); |
66 test(0); |
97 } |
67 } |
98 #define Error2(aMess, anErr, line) doError2(aMess, anErr, __LINE__, line) |
68 #define Error2(aMess, anErr, line) doError2(aMess, anErr, __LINE__, line) |
99 |
69 |
100 LOCAL_C void testWrite(const TDesC& aName,TInt aLen,TInt32 aSize,TBool aShouldChange) |
70 static void testWrite(const TDesC& aName,TInt aLen,TInt32 aSize,TBool aShouldChange) |
101 // |
71 // |
102 // Write to a file |
72 // Write to a file |
103 // |
73 // |
104 { |
74 { |
105 |
75 |
367 verifyTestPat1(); |
337 verifyTestPat1(); |
368 if ((c=TheFs.Delete(_L("\\TESTPAT1.DAT")))!=KErrNone) |
338 if ((c=TheFs.Delete(_L("\\TESTPAT1.DAT")))!=KErrNone) |
369 Error(_L("Delete 80"),c); |
339 Error(_L("Delete 80"),c); |
370 |
340 |
371 test.Printf(_L("Test rename with wild cards\n")); |
341 test.Printf(_L("Test rename with wild cards\n")); |
372 if ((c=TheFs.Rename(_L("*.*"),_L("FRED")))!=NameErr) |
342 if ((c=TheFs.Rename(_L("*.*"),_L("FRED")))!=KErrBadName) |
373 Error(_L("Rename 100"),c); |
343 Error(_L("Rename 100"),c); |
374 if ((c=TheFs.Rename(_L("?"),_L("FRED")))!=NameErr) |
344 if ((c=TheFs.Rename(_L("?"),_L("FRED")))!=KErrBadName) |
375 Error(_L("Rename 101"),c); |
345 Error(_L("Rename 101"),c); |
376 if ((c=TheFs.Rename(_L(""),_L("FRED")))!=KErrBadName) // NameErr) |
346 if ((c=TheFs.Rename(_L(""),_L("FRED")))!=KErrBadName) // KErrBadName) |
377 Error(_L("Rename 101.11"),c); |
347 Error(_L("Rename 101.11"),c); |
378 if ((c=TheFs.Rename(_L("."),_L("FRED")))!=NameErr) |
348 if ((c=TheFs.Rename(_L("."),_L("FRED")))!=KErrBadName) |
379 Error(_L("Rename 101.12"),c); |
349 Error(_L("Rename 101.12"),c); |
380 if ((c=TheFs.Rename(_L("NOEXIST"),_L("*")))!=NameErr) |
350 if ((c=TheFs.Rename(_L("NOEXIST"),_L("*")))!=KErrBadName) |
381 Error(_L("Rename 101.1"),c); |
351 Error(_L("Rename 101.1"),c); |
382 if ((c=gFile.Create(TheFs,_L("FILE1"),EFileStream))!=KErrNone) |
352 if ((c=gFile.Create(TheFs,_L("FILE1"),EFileStream))!=KErrNone) |
383 Error(_L("Create 101.2"),c); |
353 Error(_L("Create 101.2"),c); |
384 gFile.Close(); |
354 gFile.Close(); |
385 if ((c=TheFs.Rename(_L("FILE1"),_L("AAA?")))!=NameErr) |
355 if ((c=TheFs.Rename(_L("FILE1"),_L("AAA?")))!=KErrBadName) |
386 Error(_L("Rename 101.3"),c); |
356 Error(_L("Rename 101.3"),c); |
387 if ((c=TheFs.Rename(_L("FILE1"),_L("")))!=KErrBadName) // NameErr) |
357 if ((c=TheFs.Rename(_L("FILE1"),_L("")))!=KErrBadName) // KErrBadName) |
388 Error(_L("Rename 101.41"),c); |
358 Error(_L("Rename 101.41"),c); |
389 if ((c=TheFs.Rename(_L(""),_L("")))!=KErrBadName) // NameErr) |
359 if ((c=TheFs.Rename(_L(""),_L("")))!=KErrBadName) // KErrBadName) |
390 Error(_L("Rename 101.42"),c); |
360 Error(_L("Rename 101.42"),c); |
391 if ((c=TheFs.Delete(_L("FILE1")))!=KErrNone) |
361 if ((c=TheFs.Delete(_L("FILE1")))!=KErrNone) |
392 Error(_L("Delete 101.5"),c); |
362 Error(_L("Delete 101.5"),c); |
393 if ((c=TheFs.Rename(_L("\\"),_L("FRED")))!=NameErr) |
363 if ((c=TheFs.Rename(_L("\\"),_L("FRED")))!=KErrBadName) |
394 Error(_L("Rename 101.6"),c); |
364 Error(_L("Rename 101.6"),c); |
395 |
365 |
396 test.Printf(_L("Test rename of directories\n")); |
366 test.Printf(_L("Test rename of directories\n")); |
397 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
367 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
398 Error(_L("Make dir 102"),c); |
368 Error(_L("Make dir 102"),c); |
399 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\A2345678.123")))!=KErrNone) |
369 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\A2345678.123")))!=KErrNone) |
400 Error(_L("Rename 103.1"),c); |
370 Error(_L("Rename 103.1"),c); |
401 if ((c=TheFs.Rename(_L("\\A2345678.123"),_L("\\DIR2")))!=KErrNone) |
371 if ((c=TheFs.Rename(_L("\\A2345678.123"),_L("\\DIR2")))!=KErrNone) |
402 Error(_L("Rename 103.2"),c); |
372 Error(_L("Rename 103.2"),c); |
403 if ((c=TheFs.Rename(_L("\\DIR2"),_L("\\A234567.1234")))!=KErrNone) // ****** NameErr) Long filenames are supported |
373 if ((c=TheFs.Rename(_L("\\DIR2"),_L("\\A234567.1234")))!=KErrNone) // ****** KErrBadName) Long filenames are supported |
404 Error(_L("Rename 103.3"),c); |
374 Error(_L("Rename 103.3"),c); |
405 if ((c=TheFs.Rename(_L("\\A234567.1234"),_L("\\DIR2")))!=KErrNone) |
375 if ((c=TheFs.Rename(_L("\\A234567.1234"),_L("\\DIR2")))!=KErrNone) |
406 Error(_L("Rename 103.3"),c); |
376 Error(_L("Rename 103.3"),c); |
407 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
377 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
408 Error(_L("Make dir 104"),c); |
378 Error(_L("Make dir 104"),c); |
409 |
379 |
410 test.Printf(_L("Test rename of open files\n")); |
380 test.Printf(_L("Test rename of open files\n")); |
411 if ((c=gFile.Create(TheFs,_L("\\DIR1\\FILE1"),EFileStreamText))!=KErrNone) |
381 if ((c=gFile.Create(TheFs,_L("\\DIR1\\FILE1"),EFileStreamText))!=KErrNone) |
412 Error(_L("Create 105"),c); |
382 Error(_L("Create 105"),c); |
413 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=LockedErr) |
383 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrInUse) |
414 Error(_L("Rename 106"),c); |
384 Error(_L("Rename 106"),c); |
415 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR2\\FILE1")))!=LockedErr) |
385 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR2\\FILE1")))!=KErrInUse) |
416 Error(_L("Rename 106.1"),c); |
386 Error(_L("Rename 106.1"),c); |
417 if ((c=gFile2.Open(TheFs,_L("\\DIR2\\FILE1"),EFileStream))!=NotExistsErr) |
387 if ((c=gFile2.Open(TheFs,_L("\\DIR2\\FILE1"),EFileStream))!=KErrNotFound) |
418 Error(_L("Create 105"),c); |
388 Error(_L("Create 105"),c); |
419 gFile.Close(); |
389 gFile.Close(); |
420 |
390 |
421 test.Printf(_L("Test rename to same name\n")); |
391 test.Printf(_L("Test rename to same name\n")); |
422 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=ExistsErr) |
392 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=KErrAlreadyExists) |
423 Error(_L("Rename 105.1"),c); |
393 Error(_L("Rename 105.1"),c); |
424 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\DIR1")))!=KErrNone) // !=ExistsErr) |
394 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\DIR1")))!=KErrNone) // !=KErrAlreadyExists) |
425 Error(_L("Rename 105.2"),c); |
395 Error(_L("Rename 105.2"),c); |
426 |
396 |
427 test.Printf(_L("Test rename of read-only files\n")); // IS ALLOWED // |
397 test.Printf(_L("Test rename of read-only files\n")); // IS ALLOWED // |
428 if ((c=TheFs.SetAtt(_L("\\DIR1\\FILE1"),KEntryAttReadOnly,0))!=KErrNone) |
398 if ((c=TheFs.SetAtt(_L("\\DIR1\\FILE1"),KEntryAttReadOnly,0))!=KErrNone) |
429 Error(_L("Att 106"),c); |
399 Error(_L("Att 106"),c); |
430 if ((c=TheFs.Entry(_L("\\DIR1\\FILE1"),gFileEntry))!=KErrNone) |
400 if ((c=TheFs.Entry(_L("\\DIR1\\FILE1"),gFileEntry))!=KErrNone) |
431 Error(_L("File info 106.1"),c); |
401 Error(_L("File info 106.1"),c); |
432 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
402 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
433 if (gFileEntry.iAtt!=(TUint32)(P_FAREAD|P_FASTREAM|P_FAMOD)) |
403 if (gFileEntry.iAtt!=(TUint32)(KEntryAttReadOnly|EFileStream|KEntryAttArchive)) |
434 Error(_L("Status check 106.2"),0); |
404 Error(_L("Status check 106.2"),0); |
435 if ((c=TheFs.Entry(_L("\\DIR1"),gFileEntry))!=KErrNone) |
405 if ((c=TheFs.Entry(_L("\\DIR1"),gFileEntry))!=KErrNone) |
436 Error(_L("File info 106.3"),c); |
406 Error(_L("File info 106.3"),c); |
437 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
407 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
438 if (gFileEntry.iAtt!=(TUint32)(P_FASTREAM|P_FADIR)) |
408 if (gFileEntry.iAtt!=(TUint32)(EFileStream|KEntryAttDir)) |
439 Error(_L("Status check 106.4"),0); |
409 Error(_L("Status check 106.4"),0); |
440 |
410 |
441 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=ExistsErr) |
411 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=KErrAlreadyExists) |
442 Error(_L("Rename 107"),c); |
412 Error(_L("Rename 107"),c); |
443 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE2")))!=KErrNone) |
413 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE2")))!=KErrNone) |
444 Error(_L("Rename 108"),c); |
414 Error(_L("Rename 108"),c); |
445 if ((c=TheFs.Rename(_L("\\DIR1\\FILE2"),_L("\\DIR2\\FILE2")))!=KErrNone) |
415 if ((c=TheFs.Rename(_L("\\DIR1\\FILE2"),_L("\\DIR2\\FILE2")))!=KErrNone) |
446 Error(_L("Rename 109"),c); |
416 Error(_L("Rename 109"),c); |
817 testUnique(EFileStream); |
799 testUnique(EFileStream); |
818 testUnique(EFileStreamText); |
800 testUnique(EFileStreamText); |
819 testDelete(); |
801 testDelete(); |
820 testRename(); |
802 testRename(); |
821 test.Printf(_L("Test get file info\n")); |
803 test.Printf(_L("Test get file info\n")); |
822 // testFileInfo(_L("*.*"),NameErr); ********** Allowed (?) |
804 // testFileInfo(_L("*.*"),KErrBadName); ********** Allowed (?) |
823 testFileInfo(_L(""),KErrNone); // NameErr); |
805 testFileInfo(_L(""),KErrNone); // KErrBadName); |
824 testFileInfo(_L("\\"),NameErr); |
806 testFileInfo(_L("\\"),KErrBadName); |
825 testFileInfo(_L("."),NameErr); |
807 testFileInfo(_L("."),KErrBadName); |
826 testFileInfo(_L(".."),NameErr); |
808 testFileInfo(_L(".."),KErrBadName); |
827 testFileInfo(_L("a.1234"),KErrNotFound); // ********* NameErr); |
809 testFileInfo(_L("a.1234"),KErrNotFound); // ********* KErrBadName); |
828 testFileInfo(_L("a23456789"),KErrNotFound); // ********* NameErr); |
810 testFileInfo(_L("a23456789"),KErrNotFound); // ********* KErrBadName); |
829 testFileInfo(_L(".a"),KErrNotFound); // ********** NameErr); |
811 testFileInfo(_L(".a"),KErrNotFound); // ********** KErrBadName); |
830 testFileInfo(_L("?"),NameErr); |
812 testFileInfo(_L("?"),KErrBadName); |
831 testFileInfo(_L("NOEXIST"),NotExistsErr); |
813 testFileInfo(_L("NOEXIST"),KErrNotFound); |
832 testFileInfo(_L("\\NODIR\\NAME"),DirErr); |
814 testFileInfo(_L("\\NODIR\\NAME"),KErrPathNotFound); |
833 testFileInfo(_L("L:\\NAME"),DeviceErr); |
815 testFileInfo(_L("L:\\NAME"),KErrNotReady); |
834 gNameBuf.SetLength(0); |
816 gNameBuf.SetLength(0); |
835 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
817 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
836 Error(_L("Open 1.1"),c); |
818 Error(_L("Open 1.1"),c); |
837 testFileInfo(gNameOut,FALSE); // Not locked // |
819 testFileInfo(gNameOut,FALSE); // Not locked // |
838 gFile.Close(); |
820 gFile.Close(); |
863 // testNodeInfo(_L("XXX::"),0,E_GEN_FSYS); |
845 // testNodeInfo(_L("XXX::"),0,E_GEN_FSYS); |
864 // testNodeInfo(_L("REM::"),0,E_GEN_FSYS); |
846 // testNodeInfo(_L("REM::"),0,E_GEN_FSYS); |
865 // testNodeInfo(_L("...::"),0,E_GEN_FSYS); |
847 // testNodeInfo(_L("...::"),0,E_GEN_FSYS); |
866 |
848 |
867 // testFileInfo(_L("Z:SYS$WSRV.IMG"),FALSE); |
849 // testFileInfo(_L("Z:SYS$WSRV.IMG"),FALSE); |
868 // testFileInfo(_L("Z:\\SYS$WSRV.IMG"),NameErr); // \ not allowed - no path // |
850 // testFileInfo(_L("Z:\\SYS$WSRV.IMG"),KErrBadName); // \ not allowed - no path // |
869 // testFileInfo(_L("Z:*"),FALSE); // Z: allows *'s ! // |
851 // testFileInfo(_L("Z:*"),FALSE); // Z: allows *'s ! // |
870 // testFileInfo(_L("Z:SYS$WSRV."),NotExistsErr); |
852 // testFileInfo(_L("Z:SYS$WSRV."),KErrNotFound); |
871 // testFileInfo(_L("XXX::"),NoFileSystemErr); |
853 // testFileInfo(_L("XXX::"),NoFileSystemErr); |
872 if(PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)) |
854 if(PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)) |
873 testFileInfo(_L("Z:\\Sys\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
855 testFileInfo(_L("Z:\\Sys\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
874 else |
856 else |
875 testFileInfo(_L("Z:\\System\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
857 testFileInfo(_L("Z:\\System\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
876 // testFileInfo(_L("Z:*"),KErrPathNotFound); // session path gets inserted ,FALSE); |
858 // testFileInfo(_L("Z:*"),KErrPathNotFound); // session path gets inserted ,FALSE); |
877 // testFileInfo(_L("Z:SYS$WSRV."),NotExistsErr); |
859 // testFileInfo(_L("Z:SYS$WSRV."),KErrNotFound); |
878 // testFileInfo(_L("H:"),KErrBadName); // ************** NoFileSystemErr); |
860 // testFileInfo(_L("H:"),KErrBadName); // ************** NoFileSystemErr); |
879 |
861 |
880 test.Printf(_L("Test weird filenames\n")); |
862 test.Printf(_L("Test weird filenames\n")); |
881 // Test SPACES // |
863 // Test SPACES // |
882 |
864 |
883 testFileName(_L("A B"),KErrNone); // ******* NameErr); |
865 testFileName(_L("A B"),KErrNone); // ******* KErrBadName); |
884 testFileName(_L(" AB"),KErrNone); // ******* NameErr); |
866 testFileName(_L(" AB"),KErrNone); // ******* KErrBadName); |
885 testFileName(_L(" AB "),KErrNone); // ******* NameErr); |
867 testFileName(_L(" AB "),KErrNone); // ******* KErrBadName); |
886 testFileName(_L(" AB"),KErrNone); |
868 testFileName(_L(" AB"),KErrNone); |
887 testFileName(_L(" AB . cdef"),KErrNone); |
869 testFileName(_L(" AB . cdef"),KErrNone); |
888 testFileName(_L(" AB . cdef "),KErrNone); |
870 testFileName(_L(" AB . cdef "),KErrNone); |
889 testFileName(_L("A2345678 "),KErrNone); // ******* NameErr); |
871 testFileName(_L("A2345678 "),KErrNone); // ******* KErrBadName); |
890 testFileName(_L("A2345678.XY "),KErrNone); // ******* NameErr); |
872 testFileName(_L("A2345678.XY "),KErrNone); // ******* KErrBadName); |
891 testFileName(_L("A2345678.XYZ "),KErrNone); // ******* NameErr); |
873 testFileName(_L("A2345678.XYZ "),KErrNone); // ******* KErrBadName); |
892 testFileName(_L("A2345678 XYZ"),KErrNone); // ******* NameErr); |
874 testFileName(_L("A2345678 XYZ"),KErrNone); // ******* KErrBadName); |
893 testFileName(_L(" "),NameErr); |
875 testFileName(_L(" "),KErrBadName); |
894 testFileName(_L("\\A B\\NAME"),KErrPathNotFound); // ******* NameErr); |
876 testFileName(_L("\\A B\\NAME"),KErrPathNotFound); // ******* KErrBadName); |
895 testFileName(_L("\\ \\NAME"),NameErr); |
877 testFileName(_L("\\ \\NAME"),KErrBadName); |
896 testFileName(_L("\\asdf\\qer\\ \\asdf\\NAME"),NameErr); |
878 testFileName(_L("\\asdf\\qer\\ \\asdf\\NAME"),KErrBadName); |
897 testFileName(_L(" "),NameErr); |
879 testFileName(_L(" "),KErrBadName); |
898 testFileName(_L("C:\\asdf\\ "),NameErr); |
880 testFileName(_L("C:\\asdf\\ "),KErrBadName); |
899 // Test short names // |
881 // Test short names // |
900 testFileName(_L(""),NameErr); |
882 testFileName(_L(""),KErrBadName); |
901 testFileName(_L("\\"),NameErr); |
883 testFileName(_L("\\"),KErrBadName); |
902 testFileName(_L("1"),FALSE); |
884 testFileName(_L("1"),FALSE); |
903 testFileName(_L(".1"),KErrNone); // ******* NameErr); |
885 testFileName(_L(".1"),KErrNone); // ******* KErrBadName); |
904 testFileName(_L(".1"),KErrNone); // ******* NameErr); |
886 testFileName(_L(".1"),KErrNone); // ******* KErrBadName); |
905 testFileName(_L("\\.1"),KErrNone); // ******* NameErr); |
887 testFileName(_L("\\.1"),KErrNone); // ******* KErrBadName); |
906 testFileName(_L("1.1"),FALSE); |
888 testFileName(_L("1.1"),FALSE); |
907 // Test long names // |
889 // Test long names // |
908 testFileName(_L("12345678.123"),FALSE); |
890 testFileName(_L("12345678.123"),FALSE); |
909 testFileName(_L("123456789.123"),KErrNone); // ******* NameErr); |
891 testFileName(_L("123456789.123"),KErrNone); // ******* KErrBadName); |
910 testFileName(_L("12345678.1234"),KErrNone); // ******* NameErr); |
892 testFileName(_L("12345678.1234"),KErrNone); // ******* KErrBadName); |
911 testFileName(_L("1.1234"),KErrNone); // ******* NameErr); |
893 testFileName(_L("1.1234"),KErrNone); // ******* KErrBadName); |
912 testFileName(_L("123456789"),KErrNone); // ******* NameErr); |
894 testFileName(_L("123456789"),KErrNone); // ******* KErrBadName); |
913 gDataBuf.SetLength(256); |
895 gDataBuf.SetLength(256); |
914 gDataBuf.Fill('A',255); |
896 gDataBuf.Fill('A',255); |
915 testFileName(gDataBuf,NameErr); |
897 testFileName(gDataBuf,KErrBadName); |
916 gDataBuf.SetLength(257); |
898 gDataBuf.SetLength(257); |
917 gDataBuf.Fill('B',256); |
899 gDataBuf.Fill('B',256); |
918 testFileName(gDataBuf,NameErr); |
900 testFileName(gDataBuf,KErrBadName); |
919 gDataBuf.SetLength(258); |
901 gDataBuf.SetLength(258); |
920 gDataBuf.Fill('C',257); |
902 gDataBuf.Fill('C',257); |
921 testFileName(gDataBuf,NameErr); |
903 testFileName(gDataBuf,KErrBadName); |
922 gDataBuf.SetLength(4096); |
904 gDataBuf.SetLength(4096); |
923 gDataBuf.Fill('D',4095); |
905 gDataBuf.Fill('D',4095); |
924 testFileName(gDataBuf,NameErr); |
906 testFileName(gDataBuf,KErrBadName); |
925 // Test DOTS // |
907 // Test DOTS // |
926 testFileName(_L("A.X"),FALSE); |
908 testFileName(_L("A.X"),FALSE); |
927 testFileName(_L("A..X"),KErrNone); // ******* NameErr); |
909 testFileName(_L("A..X"),KErrNone); // ******* KErrBadName); |
928 testFileName(_L("A.........X"),KErrNone); // ******* NameErr); |
910 testFileName(_L("A.........X"),KErrNone); // ******* KErrBadName); |
929 testFileName(_L("A."),FALSE); |
911 testFileName(_L("A."),FALSE); |
930 testFileName(_L(".X"),KErrNone); // ******* NameErr); |
912 testFileName(_L(".X"),KErrNone); // ******* KErrBadName); |
931 testFileName(_L("."),NameErr); |
913 testFileName(_L("."),KErrBadName); |
932 testFileName(_L(".."),NameErr); |
914 testFileName(_L(".."),KErrBadName); |
933 // testFileName(_L("..."),KErrNone); // NameErr); // !!! ********* NT error KErrAccessDenied (?) |
915 // testFileName(_L("..."),KErrNone); // KErrBadName); // !!! ********* NT error KErrAccessDenied (?) |
934 testFileName(_L("\\a.x\\NAME"),DirErr); // DirErr == KErrPathNotFound |
916 testFileName(_L("\\a.x\\NAME"),KErrPathNotFound); // KErrPathNotFound == KErrPathNotFound |
935 testFileName(_L("\\a..x\\NAME"),DirErr); // ******** NameErr); |
917 testFileName(_L("\\a..x\\NAME"),KErrPathNotFound); // ******** KErrBadName); |
936 testFileName(_L("\\.\\NAME"),NameErr); |
918 testFileName(_L("\\.\\NAME"),KErrBadName); |
937 testFileName(_L("\\..\\NAME"),NameErr); |
919 testFileName(_L("\\..\\NAME"),KErrBadName); |
938 // testFileName(_L("\\...\\NAME"),KErrPathNotFound); // ******** NameErr); // !! NT treats ... as .. ?? |
920 // testFileName(_L("\\...\\NAME"),KErrPathNotFound); // ******** KErrBadName); // !! NT treats ... as .. ?? |
939 // Test WILD CARDS // |
921 // Test WILD CARDS // |
940 testFileName(_L("*.*"),NameErr); |
922 testFileName(_L("*.*"),KErrBadName); |
941 testFileName(_L("*"),NameErr); |
923 testFileName(_L("*"),KErrBadName); |
942 testFileName(_L("\\*"),NameErr); |
924 testFileName(_L("\\*"),KErrBadName); |
943 testFileName(_L("?"),NameErr); |
925 testFileName(_L("?"),KErrBadName); |
944 testFileName(_L("\\?"),NameErr); |
926 testFileName(_L("\\?"),KErrBadName); |
945 testFileName(_L("\\A?B\\NAME"),NameErr); |
927 testFileName(_L("\\A?B\\NAME"),KErrBadName); |
946 testFileName(_L("\\A*B\\NAME"),NameErr); |
928 testFileName(_L("\\A*B\\NAME"),KErrBadName); |
947 testFileName(_L("\\*\\NAME"),NameErr); |
929 testFileName(_L("\\*\\NAME"),KErrBadName); |
948 testFileName(_L("\\********.***\\NAME"),NameErr); |
930 testFileName(_L("\\********.***\\NAME"),KErrBadName); |
949 testFileName(_L("A?X"),NameErr); |
931 testFileName(_L("A?X"),KErrBadName); |
950 |
932 |
951 test.Printf(_L("Test set volume name\n")); |
933 test.Printf(_L("Test set volume name\n")); |
952 // New behaviour: SetVolumeName accepts any string < 12 chars |
934 // New behaviour: SetVolumeName accepts any string < 12 chars |
953 // No modifications are made on the string. |
935 // No modifications are made on the string. |
954 #if defined(__WINS__) |
936 #if defined(__WINS__) |
1009 |
991 |
1010 test.Printf(_L("Test make directory\n")); |
992 test.Printf(_L("Test make directory\n")); |
1011 |
993 |
1012 // Test path |
994 // Test path |
1013 testMakeDir(_L("\\A2345678.A23\\NAME"),FALSE); |
995 testMakeDir(_L("\\A2345678.A23\\NAME"),FALSE); |
1014 testMakeDir(_L("\\A23456789.A23\\NAME"),KErrNone); // ******** NameErr); |
996 testMakeDir(_L("\\A23456789.A23\\NAME"),KErrNone); // ******** KErrBadName); |
1015 testMakeDir(_L("\\A2345678.A234\\NAME"),KErrNone); // ******** NameErr); |
997 testMakeDir(_L("\\A2345678.A234\\NAME"),KErrNone); // ******** KErrBadName); |
1016 testMakeDir(_L("\\A.1234\\NAME"),KErrNone); // ********* NameErr); |
998 testMakeDir(_L("\\A.1234\\NAME"),KErrNone); // ********* KErrBadName); |
1017 testMakeDir(_L("\\A2345678\\NAME"),FALSE); |
999 testMakeDir(_L("\\A2345678\\NAME"),FALSE); |
1018 testMakeDir(_L("\\A23456789\\NAME"),KErrNone); // ******** NameErr); |
1000 testMakeDir(_L("\\A23456789\\NAME"),KErrNone); // ******** KErrBadName); |
1019 testMakeDir(_L("\\A.X\\NAME"),FALSE); |
1001 testMakeDir(_L("\\A.X\\NAME"),FALSE); |
1020 testMakeDir(_L("\\A..X\\NAME"),KErrNone); // ******** NameErr); |
1002 testMakeDir(_L("\\A..X\\NAME"),KErrNone); // ******** KErrBadName); |
1021 testMakeDir(_L("\\A.\\NAME"),NameErr); |
1003 testMakeDir(_L("\\A.\\NAME"),KErrBadName); |
1022 testMakeDir(_L("\\.X\\NAME"),KErrNone); // ******** NameErr); |
1004 testMakeDir(_L("\\.X\\NAME"),KErrNone); // ******** KErrBadName); |
1023 testMakeDir(_L("\\.\\NAME"),NameErr); |
1005 testMakeDir(_L("\\.\\NAME"),KErrBadName); |
1024 testMakeDir(_L("\\..\\NAME"),NameErr); |
1006 testMakeDir(_L("\\..\\NAME"),KErrBadName); |
1025 testMakeDir(_L("\\\\NAME"),NameErr); |
1007 testMakeDir(_L("\\\\NAME"),KErrBadName); |
1026 testMakeDir(_L("\\\\"),NameErr); |
1008 testMakeDir(_L("\\\\"),KErrBadName); |
1027 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.123"),NameErr); |
1009 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.123"),KErrBadName); |
1028 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678..123"),NameErr); // ******* NameErr); |
1010 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678..123"),KErrBadName); // ******* KErrBadName); |
1029 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.1234"),NameErr); // ******* NameErr); |
1011 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.1234"),KErrBadName); // ******* KErrBadName); |
1030 gDataBuf.SetLength(256); |
1012 gDataBuf.SetLength(256); |
1031 gDataBuf.Fill('V',255); |
1013 gDataBuf.Fill('V',255); |
1032 testMakeDir(gDataBuf,NameErr); |
1014 testMakeDir(gDataBuf,KErrBadName); |
1033 gDataBuf.SetLength(257); |
1015 gDataBuf.SetLength(257); |
1034 gDataBuf.Fill('W',256); |
1016 gDataBuf.Fill('W',256); |
1035 testMakeDir(gDataBuf,NameErr); |
1017 testMakeDir(gDataBuf,KErrBadName); |
1036 gDataBuf.SetLength(258); |
1018 gDataBuf.SetLength(258); |
1037 gDataBuf.Fill('X',257); |
1019 gDataBuf.Fill('X',257); |
1038 testMakeDir(gDataBuf,NameErr); |
1020 testMakeDir(gDataBuf,KErrBadName); |
1039 gDataBuf.SetLength(259); |
1021 gDataBuf.SetLength(259); |
1040 gDataBuf.Fill('Y',258); |
1022 gDataBuf.Fill('Y',258); |
1041 testMakeDir(gDataBuf,NameErr); |
1023 testMakeDir(gDataBuf,KErrBadName); |
1042 gDataBuf.SetLength(4096); |
1024 gDataBuf.SetLength(4096); |
1043 gDataBuf.Fill('Z',4095); |
1025 gDataBuf.Fill('Z',4095); |
1044 testMakeDir(gDataBuf,NameErr); |
1026 testMakeDir(gDataBuf,KErrBadName); |
1045 |
1027 |
1046 // Test names |
1028 // Test names |
1047 testMakeDir(_L("A..X"),KErrAlreadyExists); // ******* NameErr); |
1029 testMakeDir(_L("A..X"),KErrAlreadyExists); // ******* KErrBadName); |
1048 testMakeDir(_L("\\A\\"),FALSE); |
1030 testMakeDir(_L("\\A\\"),FALSE); |
1049 testMakeDir(_L("\\12345678.123\\"),FALSE); |
1031 testMakeDir(_L("\\12345678.123\\"),FALSE); |
1050 testMakeDir(_L("\\.\\"),NameErr); |
1032 testMakeDir(_L("\\.\\"),KErrBadName); |
1051 testMakeDir(_L("\\..\\"),NameErr); |
1033 testMakeDir(_L("\\..\\"),KErrBadName); |
1052 testMakeDir(_L("\\X\\"),FALSE); |
1034 testMakeDir(_L("\\X\\"),FALSE); |
1053 testMakeDir(_L("\\12345678.1234\\"),KErrNone); // ******* NameErr); |
1035 testMakeDir(_L("\\12345678.1234\\"),KErrNone); // ******* KErrBadName); |
1054 testMakeDir(_L("\\123456789\\"),KErrNone); // ******** NameErr); |
1036 testMakeDir(_L("\\123456789\\"),KErrNone); // ******** KErrBadName); |
1055 // Test max levels |
1037 // Test max levels |
1056 testMakeDir(_L("\\A\\B\\C\\D\\E\\F\\G\\H\\I\\J\\K\\L\\M\\N\\O\\P\\Q\\R\\S\\T\\U\\V\\W\\X\\Y\\Z"),FALSE); |
1038 testMakeDir(_L("\\A\\B\\C\\D\\E\\F\\G\\H\\I\\J\\K\\L\\M\\N\\O\\P\\Q\\R\\S\\T\\U\\V\\W\\X\\Y\\Z"),FALSE); |
1057 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3"),FALSE); |
1039 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3"),FALSE); |
1058 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34"),FALSE); |
1040 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34"),FALSE); |
1059 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345"),FALSE); |
1041 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345"),FALSE); |
1060 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3\\xxxxxxxx.xxx"),FALSE); |
1042 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3\\xxxxxxxx.xxx"),FALSE); |
1061 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34\\xxxxxxxx.xxx"),KErrNone); // ******* NameErr); |
1043 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34\\xxxxxxxx.xxx"),KErrNone); // ******* KErrBadName); |
1062 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345\\xxxxxxxx.xxx"),KErrNone); // ******* NameErr); |
1044 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345\\xxxxxxxx.xxx"),KErrNone); // ******* KErrBadName); |
1063 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23"),FALSE); |
1045 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23"),FALSE); |
1064 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23456789.123"),FALSE); |
1046 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23456789.123"),FALSE); |
1065 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23\\5"),FALSE); |
1047 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23\\5"),FALSE); |
1066 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23\\56789012.456"),FALSE); |
1048 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\23\\56789012.456"),FALSE); |
1067 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\234\\6"),KErrNone); // ******** NameErr); |
1049 testMakeDir(_L("\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\2\\4\\6\\8\\0\\234\\6"),KErrNone); // ******** KErrBadName); |
1068 testMakeDir(_L("Z:\\ROMDIR\\"),KErrAccessDenied); // *********** NotSupportedErr); |
1050 testMakeDir(_L("Z:\\ROMDIR\\"),KErrAccessDenied); // |
1069 test.Printf(_L("Test setEof to same length\n")); |
1051 test.Printf(_L("Test setEof to same length\n")); |
1070 gNameBuf.SetLength(0); |
1052 gNameBuf.SetLength(0); |
1071 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FUPDATE))!=KErrNone) |
1053 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1072 Error(_L("Open 50"),c); |
1054 Error(_L("Open 50"),c); |
1073 gFile.Close(); |
1055 gFile.Close(); |
1074 testSetEof(gNameOut,0L,FALSE); // should be no change // |
1056 testSetEof(gNameOut,0L,FALSE); // should be no change // |
1075 testSetEof(gNameOut,1L,TRUE); // should be change // |
1057 testSetEof(gNameOut,1L,TRUE); // should be change // |
1076 testSetEof(gNameOut,1L,FALSE); // should be no change // |
1058 testSetEof(gNameOut,1L,FALSE); // should be no change // |
1090 Error(_L("Delete"),c); |
1072 Error(_L("Delete"),c); |
1091 |
1073 |
1092 test.Printf(_L("Test read of zero bytes\n")); |
1074 test.Printf(_L("Test read of zero bytes\n")); |
1093 gNameBuf.SetLength(0); |
1075 gNameBuf.SetLength(0); |
1094 |
1076 |
1095 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FUPDATE))!=KErrNone) |
1077 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1096 Error(_L("Open 60"),c); |
1078 Error(_L("Open 60"),c); |
1097 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1079 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1098 Error(_L("Read 61"),c); |
1080 Error(_L("Read 61"),c); |
1099 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1081 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1100 Error(_L("Read 62"),c); |
1082 Error(_L("Read 62"),c); |
1101 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1083 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1102 Error(_L("Write 63"),c); |
1084 Error(_L("Write 63"),c); |
1103 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1085 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1104 Error(_L("Read 64"),c); |
1086 Error(_L("Read 64"),c); |
1105 gFile.Close(); |
1087 gFile.Close(); |
1106 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1088 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1107 Error(_L("Open 70"),c); |
1089 Error(_L("Open 70"),c); |
1108 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1090 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1109 Error(_L("Read 71"),c); |
1091 Error(_L("Read 71"),c); |
1110 gDataBuf.SetLength(1); |
1092 gDataBuf.SetLength(1); |
1111 gDataBuf[0]=0xf0; |
1093 gDataBuf[0]=0xf0; |
1112 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1094 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1113 Error(_L("Write 72"),c); |
1095 Error(_L("Write 72"),c); |
1114 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ********* EofErr) |
1096 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ********* KErrEof) |
1115 Error(_L("Read 73"),c); |
1097 Error(_L("Read 73"),c); |
1116 pos=0L; |
1098 pos=0L; |
1117 if ((c=gFile.Seek((TSeek)P_FABS,pos))!=KErrNone) |
1099 if ((c=gFile.Seek((TSeek)ESeekStart,pos))!=KErrNone) |
1118 Error(_L("Seek 74"),c); |
1100 Error(_L("Seek 74"),c); |
1119 gDataBuf.SetLength(1); |
1101 gDataBuf.SetLength(1); |
1120 gDataBuf[0]=0x83; |
1102 gDataBuf[0]=0x83; |
1121 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) |
1103 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) |
1122 Error(_L("Read 75"),c); |
1104 Error(_L("Read 75"),c); |
1157 if ((c=TheFs.Delete(gNameOut))!=KErrNone) |
1139 if ((c=TheFs.Delete(gNameOut))!=KErrNone) |
1158 Error(_L("Delete"),c); |
1140 Error(_L("Delete"),c); |
1159 |
1141 |
1160 test.Printf(_L("Test ReadOnly files\n")); |
1142 test.Printf(_L("Test ReadOnly files\n")); |
1161 gNameBuf.SetLength(0); |
1143 gNameBuf.SetLength(0); |
1162 if ((c=gFile.Create(TheFs,_L("TEST1.TMP"),EFileStream|P_FUPDATE))!=KErrNone) |
1144 if ((c=gFile.Create(TheFs,_L("TEST1.TMP"),EFileStream|EFileWrite))!=KErrNone) |
1163 Error(_L("Create 40"),c); |
1145 Error(_L("Create 40"),c); |
1164 gFile.Close(); |
1146 gFile.Close(); |
1165 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FUPDATE))!=KErrNone) |
1147 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1166 Error(_L("Open 40"),c); |
1148 Error(_L("Open 40"),c); |
1167 mask=0; |
1149 mask=0; |
1168 attrib=KEntryAttReadOnly; // Remove writable // |
1150 attrib=KEntryAttReadOnly; // Remove writable // |
1169 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=LockedErr) |
1151 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrInUse) |
1170 Error(_L("TheFs.SetAtt not locked"),c); |
1152 Error(_L("TheFs.SetAtt not locked"),c); |
1171 gFile.Close(); |
1153 gFile.Close(); |
1172 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1154 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1173 Error(_L("Att 41"),c); |
1155 Error(_L("Att 41"),c); |
1174 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE))!=AccessErr) |
1156 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrAccessDenied) |
1175 Error(_L("Open 41"),c); |
1157 Error(_L("Open 41"),c); |
1176 if ((c=gFile.Open(TheFs,gNameOut,EFileStream))!=KErrNone) |
1158 if ((c=gFile.Open(TheFs,gNameOut,EFileStream))!=KErrNone) |
1177 Error(_L("Open 42"),c); |
1159 Error(_L("Open 42"),c); |
1178 if ((c=gFileErr.Open(TheFs,gNameOut,EFileStream))!=LockedErr) |
1160 if ((c=gFileErr.Open(TheFs,gNameOut,EFileStream))!=KErrInUse) |
1179 Error(_L("Open 43"),c); |
1161 Error(_L("Open 43"),c); |
1180 if ((c=TheFs.Rename(_L("TEST1.TMP"),gNameOut))!=ExistsErr) |
1162 if ((c=TheFs.Rename(_L("TEST1.TMP"),gNameOut))!=KErrAlreadyExists) |
1181 Error(_L("Rename 43.1"),c); |
1163 Error(_L("Rename 43.1"),c); |
1182 if ((c=gFileErr.Create(TheFs,gNameOut,EFileStream))!=ExistsErr) // LockedErr) |
1164 if ((c=gFileErr.Create(TheFs,gNameOut,EFileStream))!=KErrAlreadyExists) // KErrInUse) |
1183 Error(_L("Open 44"),c); |
1165 Error(_L("Open 44"),c); |
1184 if ((c=gFileErr.Replace(TheFs,gNameOut,EFileStream))!=LockedErr) |
1166 if ((c=gFileErr.Replace(TheFs,gNameOut,EFileStream))!=KErrInUse) |
1185 Error(_L("Open 45"),c); |
1167 Error(_L("Open 45"),c); |
1186 gFile.Close(); |
1168 gFile.Close(); |
1187 if ((c=gFile.Create(TheFs,gNameOut,EFileStream))!=ExistsErr) |
1169 if ((c=gFile.Create(TheFs,gNameOut,EFileStream))!=KErrAlreadyExists) |
1188 Error(_L("Create 46"),c); |
1170 Error(_L("Create 46"),c); |
1189 if ((c=gFile.Replace(TheFs,gNameOut,EFileStream))!=AccessErr) |
1171 if ((c=gFile.Replace(TheFs,gNameOut,EFileStream))!=KErrAccessDenied) |
1190 Error(_L("Replace 47"),c); |
1172 Error(_L("Replace 47"),c); |
1191 if ((c=gFile.Create(TheFs,_L("FILE1.TMP"),EFileStream))!=KErrNone) |
1173 if ((c=gFile.Create(TheFs,_L("FILE1.TMP"),EFileStream))!=KErrNone) |
1192 Error(_L("Create 48"),c); |
1174 Error(_L("Create 48"),c); |
1193 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=LockedErr) |
1175 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=KErrInUse) |
1194 Error(_L("Rename 49"),c); |
1176 Error(_L("Rename 49"),c); |
1195 gFile.Close(); |
1177 gFile.Close(); |
1196 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=KErrNone) |
1178 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=KErrNone) |
1197 Error(_L("Rename 50"),c); |
1179 Error(_L("Rename 50"),c); |
1198 if ((c=TheFs.Rename(_L("FILE2.TMP"),gNameOut))!=ExistsErr) |
1180 if ((c=TheFs.Rename(_L("FILE2.TMP"),gNameOut))!=KErrAlreadyExists) |
1199 Error(_L("Rename 51"),c); |
1181 Error(_L("Rename 51"),c); |
1200 if ((c=TheFs.Delete(gNameOut))!=AccessErr) |
1182 if ((c=TheFs.Delete(gNameOut))!=KErrAccessDenied) |
1201 Error(_L("Delete"),c); |
1183 Error(_L("Delete"),c); |
1202 mask=KEntryAttReadOnly; |
1184 mask=KEntryAttReadOnly; |
1203 attrib=0; |
1185 attrib=0; |
1204 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1186 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1205 Error(_L("Att 42"),c); |
1187 Error(_L("Att 42"),c); |
1238 Error(_L("Delete"),c); |
1220 Error(_L("Delete"),c); |
1239 |
1221 |
1240 |
1222 |
1241 test.Printf(_L("Test dir entries are written out\n")); |
1223 test.Printf(_L("Test dir entries are written out\n")); |
1242 gNameBuf.SetLength(0); |
1224 gNameBuf.SetLength(0); |
1243 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FRANDOM))!=KErrNone) |
1225 |
|
1226 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
1244 Error(_L("Open 20"),c); |
1227 Error(_L("Open 20"),c); |
|
1228 |
1245 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1229 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1246 Error(_L("File info 0"),c); |
1230 Error(_L("File info 0"),c); |
1247 if ((gFileEntry.iAtt & P_FAMOD)==0) |
1231 |
|
1232 if ((gFileEntry.iAtt & KEntryAttArchive)==0) |
1248 Error(_L("Status 20"),0); |
1233 Error(_L("Status 20"),0); |
|
1234 |
1249 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1235 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
|
1236 |
1250 if (gFileEntry.iSize!=0L) |
1237 if (gFileEntry.iSize!=0L) |
1251 Error(_L("Size check 0"),0); |
1238 Error(_L("Size check 0"),0); |
|
1239 |
1252 saveTime=gFileEntry.iModified; |
1240 saveTime=gFileEntry.iModified; |
1253 test.Printf(_L("Wait 3 seconds...\n")); |
1241 test.Printf(_L("Wait 3 seconds...\n")); |
1254 User::After(3000000L); |
1242 User::After(3000000L); |
1255 gDataBuf.SetLength(1); |
1243 gDataBuf.SetLength(1); |
|
1244 |
1256 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1245 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1257 Error(_L("Write 1"),c); |
1246 Error(_L("Write 1"),c); |
|
1247 |
|
1248 /* === pay attention to the code below if the "not updating file timestamp on Flush" mode is enabled (at least on FAT) |
|
1249 //-- the timestamp in the "real" entry on the media (RFs::Entry()) and what we get by RFile::Modified() |
|
1250 //-- can differ even after flushing file. The timestamp will be updated only on _closing_ the file. |
|
1251 //-- This behaviour can be an optimisation to reduce number of media writes due to updating file timestamps. |
|
1252 gFile.Close(); |
|
1253 nRes = gFile.Open(TheFs, gNameOut, EFileWrite); |
|
1254 test(nRes == KErrNone); |
|
1255 //-- restore the expected position in the file |
|
1256 TInt pos1 = 0; |
|
1257 nRes = gFile.Seek(ESeekEnd, pos1); |
|
1258 test(nRes == KErrNone); |
|
1259 //------------------------------------ |
|
1260 */ |
|
1261 |
|
1262 |
1258 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1263 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1259 Error(_L("File info 1"),c); |
1264 Error(_L("File info 1"),c); |
|
1265 |
1260 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1266 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1261 if (gFileEntry.iSize!=1L) |
1267 if (gFileEntry.iSize!=1L) |
1262 Error(_L("Size check 1"),0); |
1268 Error(_L("Size check 1"),0); |
|
1269 |
1263 if (gFileEntry.iModified==saveTime) |
1270 if (gFileEntry.iModified==saveTime) |
1264 Error(_L("Time update"),0); |
1271 Error(_L("Time update"),0); |
|
1272 |
|
1273 |
1265 gDataBuf.SetLength(16384); |
1274 gDataBuf.SetLength(16384); |
1266 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1275 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1267 Error(_L("Write 2"),c); |
1276 Error(_L("Write 2"),c); |
1268 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1277 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1269 Error(_L("File info 2"),c); |
1278 Error(_L("File info 2"),c); |
1270 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1279 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1271 if (gFileEntry.iSize!=16385L) |
1280 if (gFileEntry.iSize!=16385L) |
1272 Error(_L("Size check 2"),0); |
1281 Error(_L("Size check 2"),0); |
1273 pos=0L; |
1282 pos=0L; |
1274 if ((c=gFile.Seek((TSeek)P_FABS,pos))!=KErrNone) |
1283 if ((c=gFile.Seek((TSeek)ESeekStart,pos))!=KErrNone) |
1275 Error(_L("Seek 0"),c); |
1284 Error(_L("Seek 0"),c); |
1276 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1285 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1277 Error(_L("Write 3"),c); |
1286 Error(_L("Write 3"),c); |
1278 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1287 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1279 Error(_L("File info 3"),c); |
1288 Error(_L("File info 3"),c); |
1280 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1289 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1281 if (gFileEntry.iSize!=16385L) |
1290 if (gFileEntry.iSize!=16385L) |
1282 Error(_L("Size check 3"),0); |
1291 Error(_L("Size check 3"),0); |
1283 pos=0L; |
1292 pos=0L; |
1284 if ((c=gFile.Seek((TSeek)P_FABS,pos))!=KErrNone) |
1293 if ((c=gFile.Seek((TSeek)ESeekStart,pos))!=KErrNone) |
1285 Error(_L("Seek 1"),c); |
1294 Error(_L("Seek 1"),c); |
1286 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1295 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1287 Error(_L("Write 4"),c); |
1296 Error(_L("Write 4"),c); |
1288 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1297 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1289 Error(_L("Write 5"),c); |
1298 Error(_L("Write 5"),c); |
1321 gFile.Close(); |
1330 gFile.Close(); |
1322 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1331 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1323 Error(_L("File info 8"),c); |
1332 Error(_L("File info 8"),c); |
1324 if (gFileEntry.iSize!=0L) |
1333 if (gFileEntry.iSize!=0L) |
1325 Error(_L("Size check 7"),0); |
1334 Error(_L("Size check 7"),0); |
1326 mask=P_FAMOD; |
1335 mask=KEntryAttArchive; |
1327 attrib=0; |
1336 attrib=0; |
1328 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1337 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1329 Error(_L("Att 20"),c); |
1338 Error(_L("Att 20"),c); |
1330 |
1339 |
1331 // |
1340 // |
1332 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1341 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1333 Error(_L("Open 21"),c); |
1342 Error(_L("Open 21"),c); |
1334 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1343 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1335 Error(_L("File info 9"),c); |
1344 Error(_L("File info 9"),c); |
1336 if (gFileEntry.iAtt & P_FAMOD) |
1345 if (gFileEntry.iAtt & KEntryAttArchive) |
1337 Error(_L("Status 21"),0); |
1346 Error(_L("Status 21"),0); |
1338 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1347 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1339 Error(_L("Write 21"),c); |
1348 Error(_L("Write 21"),c); |
1340 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1349 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1341 Error(_L("File info 9"),c); |
1350 Error(_L("File info 9"),c); |
1342 if ((gFileEntry.iAtt & P_FAMOD)) // write 0 should not modify // |
1351 if ((gFileEntry.iAtt & KEntryAttArchive)) // write 0 should not modify // |
1343 Error(_L("Status 22"),0); |
1352 Error(_L("Status 22"),0); |
1344 gFile.Close(); |
1353 gFile.Close(); |
1345 mask=P_FAMOD; |
1354 mask=KEntryAttArchive; |
1346 attrib=0; |
1355 attrib=0; |
1347 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1356 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1348 Error(_L("Att 20"),c); |
1357 Error(_L("Att 20"),c); |
1349 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1358 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1350 Error(_L("Open 22"),c); |
1359 Error(_L("Open 22"),c); |
1351 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1360 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1352 Error(_L("File info 9"),c); |
1361 Error(_L("File info 9"),c); |
1353 if (gFileEntry.iAtt & P_FAMOD) |
1362 if (gFileEntry.iAtt & KEntryAttArchive) |
1354 Error(_L("Status 23"),0); |
1363 Error(_L("Status 23"),0); |
1355 pos=0L; |
1364 pos=0L; |
1356 if ((c=gFile.SetSize(pos))!=KErrNone) // no change // |
1365 if ((c=gFile.SetSize(pos))!=KErrNone) // no change // |
1357 Error(_L("Set EOF 21"),c); |
1366 Error(_L("Set EOF 21"),c); |
1358 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1367 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1359 Error(_L("File info 9"),c); |
1368 Error(_L("File info 9"),c); |
1360 if ((gFileEntry.iAtt & P_FAMOD)) |
1369 if ((gFileEntry.iAtt & KEntryAttArchive)) |
1361 Error(_L("Status 24"),0); |
1370 Error(_L("Status 24"),0); |
1362 gFile.Close(); |
1371 gFile.Close(); |
1363 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1372 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1364 Error(_L("File info 0"),c); |
1373 Error(_L("File info 0"),c); |
1365 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1374 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1366 Error(_L("Open 23"),c); |
1375 Error(_L("Open 23"),c); |
1367 saveTime=gFileEntry.iModified; |
1376 saveTime=gFileEntry.iModified; |
1368 test.Printf(_L("Wait 3 seconds...\n")); |
1377 test.Printf(_L("Wait 3 seconds...\n")); |
1369 User::After(3000000L); |
1378 User::After(3000000L); |
1370 if ((c=gFile.Flush())!=KErrNone) // Should not alter time // |
1379 if ((c=gFile.Flush())!=KErrNone) // Should not alter time // |
1439 Error(_L("Delete 1"),c); |
1448 Error(_L("Delete 1"),c); |
1440 test.Printf(_L("Test format\n")); |
1449 test.Printf(_L("Test format\n")); |
1441 gNameOut.SetLength(0); |
1450 gNameOut.SetLength(0); |
1442 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
1451 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
1443 Error(_L("Open 1"),c); |
1452 Error(_L("Open 1"),c); |
1444 if ((c=gFormat.Open(TheFs,fBuf,EFullFormat,count))!=LockedErr) |
1453 if ((c=gFormat.Open(TheFs,fBuf,EFullFormat,count))!=KErrInUse) |
1445 Error(_L("Format lock check 1"),c); |
1454 Error(_L("Format lock check 1"),c); |
1446 if ((c=gFormat.Open(TheFs,fBuf,EQuickFormat,count))!=LockedErr) |
1455 if ((c=gFormat.Open(TheFs,fBuf,EQuickFormat,count))!=KErrInUse) |
1447 Error(_L("Format lock check 2"),c); |
1456 Error(_L("Format lock check 2"),c); |
1448 gFile.Close(); |
1457 gFile.Close(); |
1449 |
1458 |
1450 if ((c=gFormat.Open(TheFs,fBuf,EFullFormat,count))!=KErrNone) |
1459 if ((c=gFormat.Open(TheFs,fBuf,EFullFormat,count))!=KErrNone) |
1451 { |
1460 { |
1452 if (c==LockedErr || c==AccessErr) |
1461 if (c==KErrInUse || c==KErrAccessDenied) |
1453 { |
1462 { |
1454 test.Printf(_L("Format: locked, no test\n")); |
1463 test.Printf(_L("Format: locked, no test\n")); |
1455 goto noFormat; |
|
1456 } |
1464 } |
|
1465 else |
|
1466 { |
1457 Error(_L("Format lock check"),c); |
1467 Error(_L("Format lock check"),c); |
1458 } |
1468 } |
1459 |
1469 } |
1460 // if ((c=p_read(chan2,&count,2))<0) |
1470 |
1461 // { |
|
1462 // if (c==NotSupportedErr) |
|
1463 // { |
|
1464 // test.Printf(_L("Format: not supported, no test\n")); |
|
1465 // goto noFormatClose; |
|
1466 // } |
|
1467 // Error(_L("Read format count"),c); |
|
1468 // } |
|
1469 // for (i=1;;i++) |
|
1470 // { |
|
1471 // if ((c=g(chan2,&val,2))<0) |
|
1472 // { |
|
1473 // if (c==EofErr) |
|
1474 // break; |
|
1475 // Error(_L("Format"),c); |
|
1476 // } |
|
1477 // test.Printf(_L("\r%05u %05u\n"),i,val); |
|
1478 // } |
|
1479 // if ((i-1)!=count) |
|
1480 // Error(_L("Format count"),i); |
|
1481 // noFormatClose: |
|
1482 // if ((c=p_close(chan2))!=KErrNone) |
|
1483 // Error(_L("Close"),c); |
|
1484 noFormat: |
|
1485 gFormat.Close(); |
1471 gFormat.Close(); |
|
1472 |
1486 DeleteTestDirectory(); |
1473 DeleteTestDirectory(); |
1487 |
1474 |
1488 } |
1475 } |