362 verifyTestPat1(); |
338 verifyTestPat1(); |
363 if ((c=TheFs.Delete(_L("\\TESTPAT1.DAT")))!=KErrNone) |
339 if ((c=TheFs.Delete(_L("\\TESTPAT1.DAT")))!=KErrNone) |
364 Error(_L("Delete 80"),c); |
340 Error(_L("Delete 80"),c); |
365 |
341 |
366 test.Printf(_L("Test rename with wild cards\n")); |
342 test.Printf(_L("Test rename with wild cards\n")); |
367 if ((c=TheFs.Rename(_L("*.*"),_L("FRED")))!=NameErr) |
343 if ((c=TheFs.Rename(_L("*.*"),_L("FRED")))!=KErrBadName) |
368 Error(_L("Rename 100"),c); |
344 Error(_L("Rename 100"),c); |
369 if ((c=TheFs.Rename(_L("?"),_L("FRED")))!=NameErr) |
345 if ((c=TheFs.Rename(_L("?"),_L("FRED")))!=KErrBadName) |
370 Error(_L("Rename 101"),c); |
346 Error(_L("Rename 101"),c); |
371 if ((c=TheFs.Rename(_L(""),_L("FRED")))!=KErrBadName) // NameErr) |
347 if ((c=TheFs.Rename(_L(""),_L("FRED")))!=KErrBadName) // KErrBadName) |
372 Error(_L("Rename 101.11"),c); |
348 Error(_L("Rename 101.11"),c); |
373 if ((c=TheFs.Rename(_L("."),_L("FRED")))!=NameErr) |
349 if ((c=TheFs.Rename(_L("."),_L("FRED")))!=KErrBadName) |
374 Error(_L("Rename 101.12"),c); |
350 Error(_L("Rename 101.12"),c); |
375 if ((c=TheFs.Rename(_L("NOEXIST"),_L("*")))!=NameErr) |
351 if ((c=TheFs.Rename(_L("NOEXIST"),_L("*")))!=KErrBadName) |
376 Error(_L("Rename 101.1"),c); |
352 Error(_L("Rename 101.1"),c); |
377 if ((c=gFile.Create(TheFs,_L("FILE1"),EFileStream))!=KErrNone) |
353 if ((c=gFile.Create(TheFs,_L("FILE1"),EFileStream))!=KErrNone) |
378 Error(_L("Create 101.2"),c); |
354 Error(_L("Create 101.2"),c); |
379 gFile.Close(); |
355 gFile.Close(); |
380 if ((c=TheFs.Rename(_L("FILE1"),_L("AAA?")))!=NameErr) |
356 if ((c=TheFs.Rename(_L("FILE1"),_L("AAA?")))!=KErrBadName) |
381 Error(_L("Rename 101.3"),c); |
357 Error(_L("Rename 101.3"),c); |
382 if ((c=TheFs.Rename(_L("FILE1"),_L("")))!=KErrBadName) // NameErr) |
358 if ((c=TheFs.Rename(_L("FILE1"),_L("")))!=KErrBadName) // KErrBadName) |
383 Error(_L("Rename 101.41"),c); |
359 Error(_L("Rename 101.41"),c); |
384 if ((c=TheFs.Rename(_L(""),_L("")))!=KErrBadName) // NameErr) |
360 if ((c=TheFs.Rename(_L(""),_L("")))!=KErrBadName) // KErrBadName) |
385 Error(_L("Rename 101.42"),c); |
361 Error(_L("Rename 101.42"),c); |
386 if ((c=TheFs.Delete(_L("FILE1")))!=KErrNone) |
362 if ((c=TheFs.Delete(_L("FILE1")))!=KErrNone) |
387 Error(_L("Delete 101.5"),c); |
363 Error(_L("Delete 101.5"),c); |
388 if ((c=TheFs.Rename(_L("\\"),_L("FRED")))!=NameErr) |
364 if ((c=TheFs.Rename(_L("\\"),_L("FRED")))!=KErrBadName) |
389 Error(_L("Rename 101.6"),c); |
365 Error(_L("Rename 101.6"),c); |
390 |
366 |
391 test.Printf(_L("Test rename of directories\n")); |
367 test.Printf(_L("Test rename of directories\n")); |
392 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
368 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
393 Error(_L("Make dir 102"),c); |
369 Error(_L("Make dir 102"),c); |
394 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\A2345678.123")))!=KErrNone) |
370 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\A2345678.123")))!=KErrNone) |
395 Error(_L("Rename 103.1"),c); |
371 Error(_L("Rename 103.1"),c); |
396 if ((c=TheFs.Rename(_L("\\A2345678.123"),_L("\\DIR2")))!=KErrNone) |
372 if ((c=TheFs.Rename(_L("\\A2345678.123"),_L("\\DIR2")))!=KErrNone) |
397 Error(_L("Rename 103.2"),c); |
373 Error(_L("Rename 103.2"),c); |
398 if ((c=TheFs.Rename(_L("\\DIR2"),_L("\\A234567.1234")))!=KErrNone) // ****** NameErr) Long filenames are supported |
374 if ((c=TheFs.Rename(_L("\\DIR2"),_L("\\A234567.1234")))!=KErrNone) // ****** KErrBadName) Long filenames are supported |
399 Error(_L("Rename 103.3"),c); |
375 Error(_L("Rename 103.3"),c); |
400 if ((c=TheFs.Rename(_L("\\A234567.1234"),_L("\\DIR2")))!=KErrNone) |
376 if ((c=TheFs.Rename(_L("\\A234567.1234"),_L("\\DIR2")))!=KErrNone) |
401 Error(_L("Rename 103.3"),c); |
377 Error(_L("Rename 103.3"),c); |
402 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
378 if ((c=TheFs.MkDir(_L("\\DIR1\\")))!=KErrNone) |
403 Error(_L("Make dir 104"),c); |
379 Error(_L("Make dir 104"),c); |
404 |
380 |
405 test.Printf(_L("Test rename of open files\n")); |
381 test.Printf(_L("Test rename of open files\n")); |
406 if ((c=gFile.Create(TheFs,_L("\\DIR1\\FILE1"),EFileStreamText))!=KErrNone) |
382 if ((c=gFile.Create(TheFs,_L("\\DIR1\\FILE1"),EFileStreamText))!=KErrNone) |
407 Error(_L("Create 105"),c); |
383 Error(_L("Create 105"),c); |
408 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=LockedErr) |
384 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrInUse) |
409 Error(_L("Rename 106"),c); |
385 Error(_L("Rename 106"),c); |
410 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR2\\FILE1")))!=LockedErr) |
386 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR2\\FILE1")))!=KErrInUse) |
411 Error(_L("Rename 106.1"),c); |
387 Error(_L("Rename 106.1"),c); |
412 if ((c=gFile2.Open(TheFs,_L("\\DIR2\\FILE1"),EFileStream))!=NotExistsErr) |
388 if ((c=gFile2.Open(TheFs,_L("\\DIR2\\FILE1"),EFileStream))!=KErrNotFound) |
413 Error(_L("Create 105"),c); |
389 Error(_L("Create 105"),c); |
414 gFile.Close(); |
390 gFile.Close(); |
415 |
391 |
416 test.Printf(_L("Test rename to same name\n")); |
392 test.Printf(_L("Test rename to same name\n")); |
417 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=ExistsErr) |
393 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=KErrAlreadyExists) |
418 Error(_L("Rename 105.1"),c); |
394 Error(_L("Rename 105.1"),c); |
419 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\DIR1")))!=KErrNone) // !=ExistsErr) |
395 if ((c=TheFs.Rename(_L("\\DIR1"),_L("\\DIR1")))!=KErrNone) // !=KErrAlreadyExists) |
420 Error(_L("Rename 105.2"),c); |
396 Error(_L("Rename 105.2"),c); |
421 |
397 |
422 test.Printf(_L("Test rename of read-only files\n")); // IS ALLOWED // |
398 test.Printf(_L("Test rename of read-only files\n")); // IS ALLOWED // |
423 if ((c=TheFs.SetAtt(_L("\\DIR1\\FILE1"),KEntryAttReadOnly,0))!=KErrNone) |
399 if ((c=TheFs.SetAtt(_L("\\DIR1\\FILE1"),KEntryAttReadOnly,0))!=KErrNone) |
424 Error(_L("Att 106"),c); |
400 Error(_L("Att 106"),c); |
425 if ((c=TheFs.Entry(_L("\\DIR1\\FILE1"),gFileEntry))!=KErrNone) |
401 if ((c=TheFs.Entry(_L("\\DIR1\\FILE1"),gFileEntry))!=KErrNone) |
426 Error(_L("File info 106.1"),c); |
402 Error(_L("File info 106.1"),c); |
427 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
403 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
428 if (gFileEntry.iAtt!=(TUint32)(P_FAREAD|P_FASTREAM|P_FAMOD)) |
404 if (gFileEntry.iAtt!=(TUint32)(KEntryAttReadOnly|EFileStream|KEntryAttArchive)) |
429 Error(_L("Status check 106.2"),0); |
405 Error(_L("Status check 106.2"),0); |
430 if ((c=TheFs.Entry(_L("\\DIR1"),gFileEntry))!=KErrNone) |
406 if ((c=TheFs.Entry(_L("\\DIR1"),gFileEntry))!=KErrNone) |
431 Error(_L("File info 106.3"),c); |
407 Error(_L("File info 106.3"),c); |
432 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
408 test.Printf(_L("STATUS=%04x\n"),gFileEntry.iAtt); |
433 if (gFileEntry.iAtt!=(TUint32)(P_FASTREAM|P_FADIR)) |
409 if (gFileEntry.iAtt!=(TUint32)(EFileStream|KEntryAttDir)) |
434 Error(_L("Status check 106.4"),0); |
410 Error(_L("Status check 106.4"),0); |
435 |
411 |
436 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=ExistsErr) |
412 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE1")))!=KErrNone) // !=KErrAlreadyExists) |
437 Error(_L("Rename 107"),c); |
413 Error(_L("Rename 107"),c); |
438 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE2")))!=KErrNone) |
414 if ((c=TheFs.Rename(_L("\\DIR1\\FILE1"),_L("\\DIR1\\FILE2")))!=KErrNone) |
439 Error(_L("Rename 108"),c); |
415 Error(_L("Rename 108"),c); |
440 if ((c=TheFs.Rename(_L("\\DIR1\\FILE2"),_L("\\DIR2\\FILE2")))!=KErrNone) |
416 if ((c=TheFs.Rename(_L("\\DIR1\\FILE2"),_L("\\DIR2\\FILE2")))!=KErrNone) |
441 Error(_L("Rename 109"),c); |
417 Error(_L("Rename 109"),c); |
824 testUnique(EFileStream); |
800 testUnique(EFileStream); |
825 testUnique(EFileStreamText); |
801 testUnique(EFileStreamText); |
826 testDelete(); |
802 testDelete(); |
827 testRename(); |
803 testRename(); |
828 test.Printf(_L("Test get file info\n")); |
804 test.Printf(_L("Test get file info\n")); |
829 // testFileInfo(_L("*.*"),NameErr); ********** Allowed (?) |
805 // testFileInfo(_L("*.*"),KErrBadName); ********** Allowed (?) |
830 testFileInfo(_L(""),KErrNone); // NameErr); |
806 testFileInfo(_L(""),KErrNone); // KErrBadName); |
831 testFileInfo(_L("\\"),NameErr); |
807 testFileInfo(_L("\\"),KErrBadName); |
832 testFileInfo(_L("."),NameErr); |
808 testFileInfo(_L("."),KErrBadName); |
833 testFileInfo(_L(".."),NameErr); |
809 testFileInfo(_L(".."),KErrBadName); |
834 testFileInfo(_L("a.1234"),KErrNotFound); // ********* NameErr); |
810 testFileInfo(_L("a.1234"),KErrNotFound); // ********* KErrBadName); |
835 testFileInfo(_L("a23456789"),KErrNotFound); // ********* NameErr); |
811 testFileInfo(_L("a23456789"),KErrNotFound); // ********* KErrBadName); |
836 testFileInfo(_L(".a"),KErrNotFound); // ********** NameErr); |
812 testFileInfo(_L(".a"),KErrNotFound); // ********** KErrBadName); |
837 testFileInfo(_L("?"),NameErr); |
813 testFileInfo(_L("?"),KErrBadName); |
838 testFileInfo(_L("NOEXIST"),NotExistsErr); |
814 testFileInfo(_L("NOEXIST"),KErrNotFound); |
839 testFileInfo(_L("\\NODIR\\NAME"),DirErr); |
815 testFileInfo(_L("\\NODIR\\NAME"),KErrPathNotFound); |
840 testFileInfo(_L("L:\\NAME"),DeviceErr); |
816 testFileInfo(_L("L:\\NAME"),KErrNotReady); |
841 gNameBuf.SetLength(0); |
817 gNameBuf.SetLength(0); |
842 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
818 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
843 Error(_L("Open 1.1"),c); |
819 Error(_L("Open 1.1"),c); |
844 testFileInfo(gNameOut,FALSE); // Not locked // |
820 testFileInfo(gNameOut,FALSE); // Not locked // |
845 gFile.Close(); |
821 gFile.Close(); |
870 // testNodeInfo(_L("XXX::"),0,E_GEN_FSYS); |
846 // testNodeInfo(_L("XXX::"),0,E_GEN_FSYS); |
871 // testNodeInfo(_L("REM::"),0,E_GEN_FSYS); |
847 // testNodeInfo(_L("REM::"),0,E_GEN_FSYS); |
872 // testNodeInfo(_L("...::"),0,E_GEN_FSYS); |
848 // testNodeInfo(_L("...::"),0,E_GEN_FSYS); |
873 |
849 |
874 // testFileInfo(_L("Z:SYS$WSRV.IMG"),FALSE); |
850 // testFileInfo(_L("Z:SYS$WSRV.IMG"),FALSE); |
875 // testFileInfo(_L("Z:\\SYS$WSRV.IMG"),NameErr); // \ not allowed - no path // |
851 // testFileInfo(_L("Z:\\SYS$WSRV.IMG"),KErrBadName); // \ not allowed - no path // |
876 // testFileInfo(_L("Z:*"),FALSE); // Z: allows *'s ! // |
852 // testFileInfo(_L("Z:*"),FALSE); // Z: allows *'s ! // |
877 // testFileInfo(_L("Z:SYS$WSRV."),NotExistsErr); |
853 // testFileInfo(_L("Z:SYS$WSRV."),KErrNotFound); |
878 // testFileInfo(_L("XXX::"),NoFileSystemErr); |
854 // testFileInfo(_L("XXX::"),NoFileSystemErr); |
879 if(PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)) |
855 if(PlatSec::ConfigSetting(PlatSec::EPlatSecEnforceSysBin)) |
880 testFileInfo(_L("Z:\\Sys\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
856 testFileInfo(_L("Z:\\Sys\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
881 else |
857 else |
882 testFileInfo(_L("Z:\\System\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
858 testFileInfo(_L("Z:\\System\\Bin\\ESHELL.EXE"),FALSE); // we now have paths // |
883 // testFileInfo(_L("Z:*"),KErrPathNotFound); // session path gets inserted ,FALSE); |
859 // testFileInfo(_L("Z:*"),KErrPathNotFound); // session path gets inserted ,FALSE); |
884 // testFileInfo(_L("Z:SYS$WSRV."),NotExistsErr); |
860 // testFileInfo(_L("Z:SYS$WSRV."),KErrNotFound); |
885 // testFileInfo(_L("H:"),KErrBadName); // ************** NoFileSystemErr); |
861 // testFileInfo(_L("H:"),KErrBadName); // ************** NoFileSystemErr); |
886 |
862 |
887 test.Printf(_L("Test weird filenames\n")); |
863 test.Printf(_L("Test weird filenames\n")); |
888 // Test SPACES // |
864 // Test SPACES // |
889 |
865 |
890 testFileName(_L("A B"),KErrNone); // ******* NameErr); |
866 testFileName(_L("A B"),KErrNone); // ******* KErrBadName); |
891 testFileName(_L(" AB"),KErrNone); // ******* NameErr); |
867 testFileName(_L(" AB"),KErrNone); // ******* KErrBadName); |
892 testFileName(_L(" AB "),KErrNone); // ******* NameErr); |
868 testFileName(_L(" AB "),KErrNone); // ******* KErrBadName); |
893 testFileName(_L(" AB"),KErrNone); |
869 testFileName(_L(" AB"),KErrNone); |
894 testFileName(_L(" AB . cdef"),KErrNone); |
870 testFileName(_L(" AB . cdef"),KErrNone); |
895 testFileName(_L(" AB . cdef "),KErrNone); |
871 testFileName(_L(" AB . cdef "),KErrNone); |
896 testFileName(_L("A2345678 "),KErrNone); // ******* NameErr); |
872 testFileName(_L("A2345678 "),KErrNone); // ******* KErrBadName); |
897 testFileName(_L("A2345678.XY "),KErrNone); // ******* NameErr); |
873 testFileName(_L("A2345678.XY "),KErrNone); // ******* KErrBadName); |
898 testFileName(_L("A2345678.XYZ "),KErrNone); // ******* NameErr); |
874 testFileName(_L("A2345678.XYZ "),KErrNone); // ******* KErrBadName); |
899 testFileName(_L("A2345678 XYZ"),KErrNone); // ******* NameErr); |
875 testFileName(_L("A2345678 XYZ"),KErrNone); // ******* KErrBadName); |
900 testFileName(_L(" "),NameErr); |
876 testFileName(_L(" "),KErrBadName); |
901 testFileName(_L("\\A B\\NAME"),KErrPathNotFound); // ******* NameErr); |
877 testFileName(_L("\\A B\\NAME"),KErrPathNotFound); // ******* KErrBadName); |
902 testFileName(_L("\\ \\NAME"),NameErr); |
878 testFileName(_L("\\ \\NAME"),KErrBadName); |
903 testFileName(_L("\\asdf\\qer\\ \\asdf\\NAME"),NameErr); |
879 testFileName(_L("\\asdf\\qer\\ \\asdf\\NAME"),KErrBadName); |
904 testFileName(_L(" "),NameErr); |
880 testFileName(_L(" "),KErrBadName); |
905 testFileName(_L("C:\\asdf\\ "),NameErr); |
881 testFileName(_L("C:\\asdf\\ "),KErrBadName); |
906 // Test short names // |
882 // Test short names // |
907 testFileName(_L(""),NameErr); |
883 testFileName(_L(""),KErrBadName); |
908 testFileName(_L("\\"),NameErr); |
884 testFileName(_L("\\"),KErrBadName); |
909 testFileName(_L("1"),FALSE); |
885 testFileName(_L("1"),FALSE); |
910 testFileName(_L(".1"),KErrNone); // ******* NameErr); |
886 testFileName(_L(".1"),KErrNone); // ******* KErrBadName); |
911 testFileName(_L(".1"),KErrNone); // ******* NameErr); |
887 testFileName(_L(".1"),KErrNone); // ******* KErrBadName); |
912 testFileName(_L("\\.1"),KErrNone); // ******* NameErr); |
888 testFileName(_L("\\.1"),KErrNone); // ******* KErrBadName); |
913 testFileName(_L("1.1"),FALSE); |
889 testFileName(_L("1.1"),FALSE); |
914 // Test long names // |
890 // Test long names // |
915 testFileName(_L("12345678.123"),FALSE); |
891 testFileName(_L("12345678.123"),FALSE); |
916 testFileName(_L("123456789.123"),KErrNone); // ******* NameErr); |
892 testFileName(_L("123456789.123"),KErrNone); // ******* KErrBadName); |
917 testFileName(_L("12345678.1234"),KErrNone); // ******* NameErr); |
893 testFileName(_L("12345678.1234"),KErrNone); // ******* KErrBadName); |
918 testFileName(_L("1.1234"),KErrNone); // ******* NameErr); |
894 testFileName(_L("1.1234"),KErrNone); // ******* KErrBadName); |
919 testFileName(_L("123456789"),KErrNone); // ******* NameErr); |
895 testFileName(_L("123456789"),KErrNone); // ******* KErrBadName); |
920 gDataBuf.SetLength(256); |
896 gDataBuf.SetLength(256); |
921 gDataBuf.Fill('A',255); |
897 gDataBuf.Fill('A',255); |
922 testFileName(gDataBuf,NameErr); |
898 testFileName(gDataBuf,KErrBadName); |
923 gDataBuf.SetLength(257); |
899 gDataBuf.SetLength(257); |
924 gDataBuf.Fill('B',256); |
900 gDataBuf.Fill('B',256); |
925 testFileName(gDataBuf,NameErr); |
901 testFileName(gDataBuf,KErrBadName); |
926 gDataBuf.SetLength(258); |
902 gDataBuf.SetLength(258); |
927 gDataBuf.Fill('C',257); |
903 gDataBuf.Fill('C',257); |
928 testFileName(gDataBuf,NameErr); |
904 testFileName(gDataBuf,KErrBadName); |
929 gDataBuf.SetLength(4096); |
905 gDataBuf.SetLength(4096); |
930 gDataBuf.Fill('D',4095); |
906 gDataBuf.Fill('D',4095); |
931 testFileName(gDataBuf,NameErr); |
907 testFileName(gDataBuf,KErrBadName); |
932 // Test DOTS // |
908 // Test DOTS // |
933 testFileName(_L("A.X"),FALSE); |
909 testFileName(_L("A.X"),FALSE); |
934 testFileName(_L("A..X"),KErrNone); // ******* NameErr); |
910 testFileName(_L("A..X"),KErrNone); // ******* KErrBadName); |
935 testFileName(_L("A.........X"),KErrNone); // ******* NameErr); |
911 testFileName(_L("A.........X"),KErrNone); // ******* KErrBadName); |
936 testFileName(_L("A."),FALSE); |
912 testFileName(_L("A."),FALSE); |
937 testFileName(_L(".X"),KErrNone); // ******* NameErr); |
913 testFileName(_L(".X"),KErrNone); // ******* KErrBadName); |
938 testFileName(_L("."),NameErr); |
914 testFileName(_L("."),KErrBadName); |
939 testFileName(_L(".."),NameErr); |
915 testFileName(_L(".."),KErrBadName); |
940 // testFileName(_L("..."),KErrNone); // NameErr); // !!! ********* NT error KErrAccessDenied (?) |
916 // testFileName(_L("..."),KErrNone); // KErrBadName); // !!! ********* NT error KErrAccessDenied (?) |
941 testFileName(_L("\\a.x\\NAME"),DirErr); // DirErr == KErrPathNotFound |
917 testFileName(_L("\\a.x\\NAME"),KErrPathNotFound); // KErrPathNotFound == KErrPathNotFound |
942 testFileName(_L("\\a..x\\NAME"),DirErr); // ******** NameErr); |
918 testFileName(_L("\\a..x\\NAME"),KErrPathNotFound); // ******** KErrBadName); |
943 testFileName(_L("\\.\\NAME"),NameErr); |
919 testFileName(_L("\\.\\NAME"),KErrBadName); |
944 testFileName(_L("\\..\\NAME"),NameErr); |
920 testFileName(_L("\\..\\NAME"),KErrBadName); |
945 // testFileName(_L("\\...\\NAME"),KErrPathNotFound); // ******** NameErr); // !! NT treats ... as .. ?? |
921 // testFileName(_L("\\...\\NAME"),KErrPathNotFound); // ******** KErrBadName); // !! NT treats ... as .. ?? |
946 // Test WILD CARDS // |
922 // Test WILD CARDS // |
947 testFileName(_L("*.*"),NameErr); |
923 testFileName(_L("*.*"),KErrBadName); |
948 testFileName(_L("*"),NameErr); |
924 testFileName(_L("*"),KErrBadName); |
949 testFileName(_L("\\*"),NameErr); |
925 testFileName(_L("\\*"),KErrBadName); |
950 testFileName(_L("?"),NameErr); |
926 testFileName(_L("?"),KErrBadName); |
951 testFileName(_L("\\?"),NameErr); |
927 testFileName(_L("\\?"),KErrBadName); |
952 testFileName(_L("\\A?B\\NAME"),NameErr); |
928 testFileName(_L("\\A?B\\NAME"),KErrBadName); |
953 testFileName(_L("\\A*B\\NAME"),NameErr); |
929 testFileName(_L("\\A*B\\NAME"),KErrBadName); |
954 testFileName(_L("\\*\\NAME"),NameErr); |
930 testFileName(_L("\\*\\NAME"),KErrBadName); |
955 testFileName(_L("\\********.***\\NAME"),NameErr); |
931 testFileName(_L("\\********.***\\NAME"),KErrBadName); |
956 testFileName(_L("A?X"),NameErr); |
932 testFileName(_L("A?X"),KErrBadName); |
957 |
933 |
958 test.Printf(_L("Test set volume name\n")); |
934 test.Printf(_L("Test set volume name\n")); |
959 // New behaviour: SetVolumeName accepts any string < 12 chars |
935 // New behaviour: SetVolumeName accepts any string < 12 chars |
960 // No modifications are made on the string. |
936 // No modifications are made on the string. |
961 #if defined(__WINS__) |
937 #if defined(__WINS__) |
1016 |
992 |
1017 test.Printf(_L("Test make directory\n")); |
993 test.Printf(_L("Test make directory\n")); |
1018 |
994 |
1019 // Test path |
995 // Test path |
1020 testMakeDir(_L("\\A2345678.A23\\NAME"),FALSE); |
996 testMakeDir(_L("\\A2345678.A23\\NAME"),FALSE); |
1021 testMakeDir(_L("\\A23456789.A23\\NAME"),KErrNone); // ******** NameErr); |
997 testMakeDir(_L("\\A23456789.A23\\NAME"),KErrNone); // ******** KErrBadName); |
1022 testMakeDir(_L("\\A2345678.A234\\NAME"),KErrNone); // ******** NameErr); |
998 testMakeDir(_L("\\A2345678.A234\\NAME"),KErrNone); // ******** KErrBadName); |
1023 testMakeDir(_L("\\A.1234\\NAME"),KErrNone); // ********* NameErr); |
999 testMakeDir(_L("\\A.1234\\NAME"),KErrNone); // ********* KErrBadName); |
1024 testMakeDir(_L("\\A2345678\\NAME"),FALSE); |
1000 testMakeDir(_L("\\A2345678\\NAME"),FALSE); |
1025 testMakeDir(_L("\\A23456789\\NAME"),KErrNone); // ******** NameErr); |
1001 testMakeDir(_L("\\A23456789\\NAME"),KErrNone); // ******** KErrBadName); |
1026 testMakeDir(_L("\\A.X\\NAME"),FALSE); |
1002 testMakeDir(_L("\\A.X\\NAME"),FALSE); |
1027 testMakeDir(_L("\\A..X\\NAME"),KErrNone); // ******** NameErr); |
1003 testMakeDir(_L("\\A..X\\NAME"),KErrNone); // ******** KErrBadName); |
1028 testMakeDir(_L("\\A.\\NAME"),NameErr); |
1004 testMakeDir(_L("\\A.\\NAME"),KErrBadName); |
1029 testMakeDir(_L("\\.X\\NAME"),KErrNone); // ******** NameErr); |
1005 testMakeDir(_L("\\.X\\NAME"),KErrNone); // ******** KErrBadName); |
1030 testMakeDir(_L("\\.\\NAME"),NameErr); |
1006 testMakeDir(_L("\\.\\NAME"),KErrBadName); |
1031 testMakeDir(_L("\\..\\NAME"),NameErr); |
1007 testMakeDir(_L("\\..\\NAME"),KErrBadName); |
1032 testMakeDir(_L("\\\\NAME"),NameErr); |
1008 testMakeDir(_L("\\\\NAME"),KErrBadName); |
1033 testMakeDir(_L("\\\\"),NameErr); |
1009 testMakeDir(_L("\\\\"),KErrBadName); |
1034 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.123"),NameErr); |
1010 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.123"),KErrBadName); |
1035 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678..123"),NameErr); // ******* NameErr); |
1011 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678..123"),KErrBadName); // ******* KErrBadName); |
1036 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.1234"),NameErr); // ******* NameErr); |
1012 testMakeDir(_L("\\A\\A2\\A23\\a2345678\\a2345678.\\a2345678.1\\a2345678.1234"),KErrBadName); // ******* KErrBadName); |
1037 gDataBuf.SetLength(256); |
1013 gDataBuf.SetLength(256); |
1038 gDataBuf.Fill('V',255); |
1014 gDataBuf.Fill('V',255); |
1039 testMakeDir(gDataBuf,NameErr); |
1015 testMakeDir(gDataBuf,KErrBadName); |
1040 gDataBuf.SetLength(257); |
1016 gDataBuf.SetLength(257); |
1041 gDataBuf.Fill('W',256); |
1017 gDataBuf.Fill('W',256); |
1042 testMakeDir(gDataBuf,NameErr); |
1018 testMakeDir(gDataBuf,KErrBadName); |
1043 gDataBuf.SetLength(258); |
1019 gDataBuf.SetLength(258); |
1044 gDataBuf.Fill('X',257); |
1020 gDataBuf.Fill('X',257); |
1045 testMakeDir(gDataBuf,NameErr); |
1021 testMakeDir(gDataBuf,KErrBadName); |
1046 gDataBuf.SetLength(259); |
1022 gDataBuf.SetLength(259); |
1047 gDataBuf.Fill('Y',258); |
1023 gDataBuf.Fill('Y',258); |
1048 testMakeDir(gDataBuf,NameErr); |
1024 testMakeDir(gDataBuf,KErrBadName); |
1049 gDataBuf.SetLength(4096); |
1025 gDataBuf.SetLength(4096); |
1050 gDataBuf.Fill('Z',4095); |
1026 gDataBuf.Fill('Z',4095); |
1051 testMakeDir(gDataBuf,NameErr); |
1027 testMakeDir(gDataBuf,KErrBadName); |
1052 |
1028 |
1053 // Test names |
1029 // Test names |
1054 testMakeDir(_L("A..X"),KErrAlreadyExists); // ******* NameErr); |
1030 testMakeDir(_L("A..X"),KErrAlreadyExists); // ******* KErrBadName); |
1055 testMakeDir(_L("\\A\\"),FALSE); |
1031 testMakeDir(_L("\\A\\"),FALSE); |
1056 testMakeDir(_L("\\12345678.123\\"),FALSE); |
1032 testMakeDir(_L("\\12345678.123\\"),FALSE); |
1057 testMakeDir(_L("\\.\\"),NameErr); |
1033 testMakeDir(_L("\\.\\"),KErrBadName); |
1058 testMakeDir(_L("\\..\\"),NameErr); |
1034 testMakeDir(_L("\\..\\"),KErrBadName); |
1059 testMakeDir(_L("\\X\\"),FALSE); |
1035 testMakeDir(_L("\\X\\"),FALSE); |
1060 testMakeDir(_L("\\12345678.1234\\"),KErrNone); // ******* NameErr); |
1036 testMakeDir(_L("\\12345678.1234\\"),KErrNone); // ******* KErrBadName); |
1061 testMakeDir(_L("\\123456789\\"),KErrNone); // ******** NameErr); |
1037 testMakeDir(_L("\\123456789\\"),KErrNone); // ******** KErrBadName); |
1062 // Test max levels |
1038 // Test max levels |
1063 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); |
1039 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); |
1064 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3"),FALSE); |
1040 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3"),FALSE); |
1065 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34"),FALSE); |
1041 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34"),FALSE); |
1066 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345"),FALSE); |
1042 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345"),FALSE); |
1067 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3\\xxxxxxxx.xxx"),FALSE); |
1043 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.3\\xxxxxxxx.xxx"),FALSE); |
1068 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34\\xxxxxxxx.xxx"),KErrNone); // ******* NameErr); |
1044 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.34\\xxxxxxxx.xxx"),KErrNone); // ******* KErrBadName); |
1069 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345\\xxxxxxxx.xxx"),KErrNone); // ******* NameErr); |
1045 testMakeDir(_L("\\00000000.000\\11111111.111\\22222222.222\\33333333.333\\45678901.345\\xxxxxxxx.xxx"),KErrNone); // ******* KErrBadName); |
1070 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); |
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\\23"),FALSE); |
1071 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); |
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\\23456789.123"),FALSE); |
1072 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); |
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\\5"),FALSE); |
1073 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); |
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\\23\\56789012.456"),FALSE); |
1074 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); |
1050 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); |
1075 testMakeDir(_L("Z:\\ROMDIR\\"),KErrAccessDenied); // *********** NotSupportedErr); |
1051 testMakeDir(_L("Z:\\ROMDIR\\"),KErrAccessDenied); // |
1076 test.Printf(_L("Test setEof to same length\n")); |
1052 test.Printf(_L("Test setEof to same length\n")); |
1077 gNameBuf.SetLength(0); |
1053 gNameBuf.SetLength(0); |
1078 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FUPDATE))!=KErrNone) |
1054 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1079 Error(_L("Open 50"),c); |
1055 Error(_L("Open 50"),c); |
1080 gFile.Close(); |
1056 gFile.Close(); |
1081 testSetEof(gNameOut,0L,FALSE); // should be no change // |
1057 testSetEof(gNameOut,0L,FALSE); // should be no change // |
1082 testSetEof(gNameOut,1L,TRUE); // should be change // |
1058 testSetEof(gNameOut,1L,TRUE); // should be change // |
1083 testSetEof(gNameOut,1L,FALSE); // should be no change // |
1059 testSetEof(gNameOut,1L,FALSE); // should be no change // |
1097 Error(_L("Delete"),c); |
1073 Error(_L("Delete"),c); |
1098 |
1074 |
1099 test.Printf(_L("Test read of zero bytes\n")); |
1075 test.Printf(_L("Test read of zero bytes\n")); |
1100 gNameBuf.SetLength(0); |
1076 gNameBuf.SetLength(0); |
1101 |
1077 |
1102 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FUPDATE))!=KErrNone) |
1078 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1103 Error(_L("Open 60"),c); |
1079 Error(_L("Open 60"),c); |
1104 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1080 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1105 Error(_L("Read 61"),c); |
1081 Error(_L("Read 61"),c); |
1106 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1082 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1107 Error(_L("Read 62"),c); |
1083 Error(_L("Read 62"),c); |
1108 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1084 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1109 Error(_L("Write 63"),c); |
1085 Error(_L("Write 63"),c); |
1110 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1086 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1111 Error(_L("Read 64"),c); |
1087 Error(_L("Read 64"),c); |
1112 gFile.Close(); |
1088 gFile.Close(); |
1113 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1089 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1114 Error(_L("Open 70"),c); |
1090 Error(_L("Open 70"),c); |
1115 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** EofErr) |
1091 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ******** KErrEof) |
1116 Error(_L("Read 71"),c); |
1092 Error(_L("Read 71"),c); |
1117 gDataBuf.SetLength(1); |
1093 gDataBuf.SetLength(1); |
1118 gDataBuf[0]=0xf0; |
1094 gDataBuf[0]=0xf0; |
1119 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1095 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1120 Error(_L("Write 72"),c); |
1096 Error(_L("Write 72"),c); |
1121 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ********* EofErr) |
1097 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) // ********* KErrEof) |
1122 Error(_L("Read 73"),c); |
1098 Error(_L("Read 73"),c); |
1123 pos=0L; |
1099 pos=0L; |
1124 if ((c=gFile.Seek((TSeek)P_FABS,pos))!=KErrNone) |
1100 if ((c=gFile.Seek((TSeek)ESeekStart,pos))!=KErrNone) |
1125 Error(_L("Seek 74"),c); |
1101 Error(_L("Seek 74"),c); |
1126 gDataBuf.SetLength(1); |
1102 gDataBuf.SetLength(1); |
1127 gDataBuf[0]=0x83; |
1103 gDataBuf[0]=0x83; |
1128 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) |
1104 if ((c=gFile.Read(gDataBuf,0))!=KErrNone) |
1129 Error(_L("Read 75"),c); |
1105 Error(_L("Read 75"),c); |
1164 if ((c=TheFs.Delete(gNameOut))!=KErrNone) |
1140 if ((c=TheFs.Delete(gNameOut))!=KErrNone) |
1165 Error(_L("Delete"),c); |
1141 Error(_L("Delete"),c); |
1166 |
1142 |
1167 test.Printf(_L("Test ReadOnly files\n")); |
1143 test.Printf(_L("Test ReadOnly files\n")); |
1168 gNameBuf.SetLength(0); |
1144 gNameBuf.SetLength(0); |
1169 if ((c=gFile.Create(TheFs,_L("TEST1.TMP"),EFileStream|P_FUPDATE))!=KErrNone) |
1145 if ((c=gFile.Create(TheFs,_L("TEST1.TMP"),EFileStream|EFileWrite))!=KErrNone) |
1170 Error(_L("Create 40"),c); |
1146 Error(_L("Create 40"),c); |
1171 gFile.Close(); |
1147 gFile.Close(); |
1172 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FUPDATE))!=KErrNone) |
1148 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1173 Error(_L("Open 40"),c); |
1149 Error(_L("Open 40"),c); |
1174 mask=0; |
1150 mask=0; |
1175 attrib=KEntryAttReadOnly; // Remove writable // |
1151 attrib=KEntryAttReadOnly; // Remove writable // |
1176 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=LockedErr) |
1152 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrInUse) |
1177 Error(_L("TheFs.SetAtt not locked"),c); |
1153 Error(_L("TheFs.SetAtt not locked"),c); |
1178 gFile.Close(); |
1154 gFile.Close(); |
1179 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1155 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1180 Error(_L("Att 41"),c); |
1156 Error(_L("Att 41"),c); |
1181 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE))!=AccessErr) |
1157 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrAccessDenied) |
1182 Error(_L("Open 41"),c); |
1158 Error(_L("Open 41"),c); |
1183 if ((c=gFile.Open(TheFs,gNameOut,EFileStream))!=KErrNone) |
1159 if ((c=gFile.Open(TheFs,gNameOut,EFileStream))!=KErrNone) |
1184 Error(_L("Open 42"),c); |
1160 Error(_L("Open 42"),c); |
1185 if ((c=gFileErr.Open(TheFs,gNameOut,EFileStream))!=LockedErr) |
1161 if ((c=gFileErr.Open(TheFs,gNameOut,EFileStream))!=KErrInUse) |
1186 Error(_L("Open 43"),c); |
1162 Error(_L("Open 43"),c); |
1187 if ((c=TheFs.Rename(_L("TEST1.TMP"),gNameOut))!=ExistsErr) |
1163 if ((c=TheFs.Rename(_L("TEST1.TMP"),gNameOut))!=KErrAlreadyExists) |
1188 Error(_L("Rename 43.1"),c); |
1164 Error(_L("Rename 43.1"),c); |
1189 if ((c=gFileErr.Create(TheFs,gNameOut,EFileStream))!=ExistsErr) // LockedErr) |
1165 if ((c=gFileErr.Create(TheFs,gNameOut,EFileStream))!=KErrAlreadyExists) // KErrInUse) |
1190 Error(_L("Open 44"),c); |
1166 Error(_L("Open 44"),c); |
1191 if ((c=gFileErr.Replace(TheFs,gNameOut,EFileStream))!=LockedErr) |
1167 if ((c=gFileErr.Replace(TheFs,gNameOut,EFileStream))!=KErrInUse) |
1192 Error(_L("Open 45"),c); |
1168 Error(_L("Open 45"),c); |
1193 gFile.Close(); |
1169 gFile.Close(); |
1194 if ((c=gFile.Create(TheFs,gNameOut,EFileStream))!=ExistsErr) |
1170 if ((c=gFile.Create(TheFs,gNameOut,EFileStream))!=KErrAlreadyExists) |
1195 Error(_L("Create 46"),c); |
1171 Error(_L("Create 46"),c); |
1196 if ((c=gFile.Replace(TheFs,gNameOut,EFileStream))!=AccessErr) |
1172 if ((c=gFile.Replace(TheFs,gNameOut,EFileStream))!=KErrAccessDenied) |
1197 Error(_L("Replace 47"),c); |
1173 Error(_L("Replace 47"),c); |
1198 if ((c=gFile.Create(TheFs,_L("FILE1.TMP"),EFileStream))!=KErrNone) |
1174 if ((c=gFile.Create(TheFs,_L("FILE1.TMP"),EFileStream))!=KErrNone) |
1199 Error(_L("Create 48"),c); |
1175 Error(_L("Create 48"),c); |
1200 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=LockedErr) |
1176 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=KErrInUse) |
1201 Error(_L("Rename 49"),c); |
1177 Error(_L("Rename 49"),c); |
1202 gFile.Close(); |
1178 gFile.Close(); |
1203 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=KErrNone) |
1179 if ((c=TheFs.Rename(_L("FILE1.TMP"),_L("FILE2.TMP")))!=KErrNone) |
1204 Error(_L("Rename 50"),c); |
1180 Error(_L("Rename 50"),c); |
1205 if ((c=TheFs.Rename(_L("FILE2.TMP"),gNameOut))!=ExistsErr) |
1181 if ((c=TheFs.Rename(_L("FILE2.TMP"),gNameOut))!=KErrAlreadyExists) |
1206 Error(_L("Rename 51"),c); |
1182 Error(_L("Rename 51"),c); |
1207 if ((c=TheFs.Delete(gNameOut))!=AccessErr) |
1183 if ((c=TheFs.Delete(gNameOut))!=KErrAccessDenied) |
1208 Error(_L("Delete"),c); |
1184 Error(_L("Delete"),c); |
1209 mask=KEntryAttReadOnly; |
1185 mask=KEntryAttReadOnly; |
1210 attrib=0; |
1186 attrib=0; |
1211 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1187 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1212 Error(_L("Att 42"),c); |
1188 Error(_L("Att 42"),c); |
1245 Error(_L("Delete"),c); |
1221 Error(_L("Delete"),c); |
1246 |
1222 |
1247 |
1223 |
1248 test.Printf(_L("Test dir entries are written out\n")); |
1224 test.Printf(_L("Test dir entries are written out\n")); |
1249 gNameBuf.SetLength(0); |
1225 gNameBuf.SetLength(0); |
1250 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream|P_FRANDOM))!=KErrNone) |
1226 |
|
1227 if ((c=gFile.Temp(TheFs,gNameBuf,gNameOut,EFileStream))!=KErrNone) |
1251 Error(_L("Open 20"),c); |
1228 Error(_L("Open 20"),c); |
|
1229 |
1252 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1230 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1253 Error(_L("File info 0"),c); |
1231 Error(_L("File info 0"),c); |
1254 if ((gFileEntry.iAtt & P_FAMOD)==0) |
1232 |
|
1233 if ((gFileEntry.iAtt & KEntryAttArchive)==0) |
1255 Error(_L("Status 20"),0); |
1234 Error(_L("Status 20"),0); |
|
1235 |
1256 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1236 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
|
1237 |
1257 if (gFileEntry.iSize!=0L) |
1238 if (gFileEntry.iSize!=0L) |
1258 Error(_L("Size check 0"),0); |
1239 Error(_L("Size check 0"),0); |
|
1240 |
1259 saveTime=gFileEntry.iModified; |
1241 saveTime=gFileEntry.iModified; |
1260 test.Printf(_L("Wait 3 seconds...\n")); |
1242 test.Printf(_L("Wait 3 seconds...\n")); |
1261 User::After(3000000L); |
1243 User::After(3000000L); |
1262 gDataBuf.SetLength(1); |
1244 gDataBuf.SetLength(1); |
|
1245 |
1263 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1246 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1264 Error(_L("Write 1"),c); |
1247 Error(_L("Write 1"),c); |
|
1248 |
|
1249 /* === pay attention to the code below if the "not updating file timestamp on Flush" mode is enabled (at least on FAT) |
|
1250 //-- the timestamp in the "real" entry on the media (RFs::Entry()) and what we get by RFile::Modified() |
|
1251 //-- can differ even after flushing file. The timestamp will be updated only on _closing_ the file. |
|
1252 //-- This behaviour can be an optimisation to reduce number of media writes due to updating file timestamps. |
|
1253 gFile.Close(); |
|
1254 nRes = gFile.Open(TheFs, gNameOut, EFileWrite); |
|
1255 test_KErrNone(nRes); |
|
1256 //-- restore the expected position in the file |
|
1257 TInt pos1 = 0; |
|
1258 nRes = gFile.Seek(ESeekEnd, pos1); |
|
1259 test_KErrNone(nRes); |
|
1260 //------------------------------------ |
|
1261 */ |
|
1262 |
|
1263 |
1265 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1264 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1266 Error(_L("File info 1"),c); |
1265 Error(_L("File info 1"),c); |
|
1266 |
1267 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1267 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1268 if (gFileEntry.iSize!=1L) |
1268 if (gFileEntry.iSize!=1L) |
1269 Error(_L("Size check 1"),0); |
1269 Error(_L("Size check 1"),0); |
|
1270 |
1270 if (gFileEntry.iModified==saveTime) |
1271 if (gFileEntry.iModified==saveTime) |
1271 Error(_L("Time update"),0); |
1272 Error(_L("Time update"),0); |
|
1273 |
|
1274 |
1272 gDataBuf.SetLength(16384); |
1275 gDataBuf.SetLength(16384); |
1273 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1276 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1274 Error(_L("Write 2"),c); |
1277 Error(_L("Write 2"),c); |
1275 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1278 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1276 Error(_L("File info 2"),c); |
1279 Error(_L("File info 2"),c); |
1277 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1280 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1278 if (gFileEntry.iSize!=16385L) |
1281 if (gFileEntry.iSize!=16385L) |
1279 Error(_L("Size check 2"),0); |
1282 Error(_L("Size check 2"),0); |
1280 pos=0L; |
1283 pos=0L; |
1281 if ((c=gFile.Seek((TSeek)P_FABS,pos))!=KErrNone) |
1284 if ((c=gFile.Seek((TSeek)ESeekStart,pos))!=KErrNone) |
1282 Error(_L("Seek 0"),c); |
1285 Error(_L("Seek 0"),c); |
1283 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1286 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1284 Error(_L("Write 3"),c); |
1287 Error(_L("Write 3"),c); |
1285 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1288 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1286 Error(_L("File info 3"),c); |
1289 Error(_L("File info 3"),c); |
1287 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1290 test.Printf(_L("Size=%u\n"),gFileEntry.iSize); |
1288 if (gFileEntry.iSize!=16385L) |
1291 if (gFileEntry.iSize!=16385L) |
1289 Error(_L("Size check 3"),0); |
1292 Error(_L("Size check 3"),0); |
1290 pos=0L; |
1293 pos=0L; |
1291 if ((c=gFile.Seek((TSeek)P_FABS,pos))!=KErrNone) |
1294 if ((c=gFile.Seek((TSeek)ESeekStart,pos))!=KErrNone) |
1292 Error(_L("Seek 1"),c); |
1295 Error(_L("Seek 1"),c); |
1293 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1296 if ((c=gFile.Write(gDataBuf,16384))!=KErrNone) |
1294 Error(_L("Write 4"),c); |
1297 Error(_L("Write 4"),c); |
1295 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1298 if ((c=gFile.Write(gDataBuf,1))!=KErrNone) |
1296 Error(_L("Write 5"),c); |
1299 Error(_L("Write 5"),c); |
1328 gFile.Close(); |
1331 gFile.Close(); |
1329 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1332 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1330 Error(_L("File info 8"),c); |
1333 Error(_L("File info 8"),c); |
1331 if (gFileEntry.iSize!=0L) |
1334 if (gFileEntry.iSize!=0L) |
1332 Error(_L("Size check 7"),0); |
1335 Error(_L("Size check 7"),0); |
1333 mask=P_FAMOD; |
1336 mask=KEntryAttArchive; |
1334 attrib=0; |
1337 attrib=0; |
1335 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1338 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1336 Error(_L("Att 20"),c); |
1339 Error(_L("Att 20"),c); |
1337 |
1340 |
1338 // |
1341 // |
1339 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1342 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1340 Error(_L("Open 21"),c); |
1343 Error(_L("Open 21"),c); |
1341 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1344 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1342 Error(_L("File info 9"),c); |
1345 Error(_L("File info 9"),c); |
1343 if (gFileEntry.iAtt & P_FAMOD) |
1346 if (gFileEntry.iAtt & KEntryAttArchive) |
1344 Error(_L("Status 21"),0); |
1347 Error(_L("Status 21"),0); |
1345 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1348 if ((c=gFile.Write(gDataBuf,0))!=KErrNone) |
1346 Error(_L("Write 21"),c); |
1349 Error(_L("Write 21"),c); |
1347 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1350 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1348 Error(_L("File info 9"),c); |
1351 Error(_L("File info 9"),c); |
1349 if ((gFileEntry.iAtt & P_FAMOD)) // write 0 should not modify // |
1352 if ((gFileEntry.iAtt & KEntryAttArchive)) // write 0 should not modify // |
1350 Error(_L("Status 22"),0); |
1353 Error(_L("Status 22"),0); |
1351 gFile.Close(); |
1354 gFile.Close(); |
1352 mask=P_FAMOD; |
1355 mask=KEntryAttArchive; |
1353 attrib=0; |
1356 attrib=0; |
1354 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1357 if ((c=TheFs.SetAtt(gNameOut,attrib,mask))!=KErrNone) |
1355 Error(_L("Att 20"),c); |
1358 Error(_L("Att 20"),c); |
1356 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1359 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1357 Error(_L("Open 22"),c); |
1360 Error(_L("Open 22"),c); |
1358 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1361 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1359 Error(_L("File info 9"),c); |
1362 Error(_L("File info 9"),c); |
1360 if (gFileEntry.iAtt & P_FAMOD) |
1363 if (gFileEntry.iAtt & KEntryAttArchive) |
1361 Error(_L("Status 23"),0); |
1364 Error(_L("Status 23"),0); |
1362 pos=0L; |
1365 pos=0L; |
1363 if ((c=gFile.SetSize(pos))!=KErrNone) // no change // |
1366 if ((c=gFile.SetSize(pos))!=KErrNone) // no change // |
1364 Error(_L("Set EOF 21"),c); |
1367 Error(_L("Set EOF 21"),c); |
1365 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1368 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1366 Error(_L("File info 9"),c); |
1369 Error(_L("File info 9"),c); |
1367 if ((gFileEntry.iAtt & P_FAMOD)) |
1370 if ((gFileEntry.iAtt & KEntryAttArchive)) |
1368 Error(_L("Status 24"),0); |
1371 Error(_L("Status 24"),0); |
1369 gFile.Close(); |
1372 gFile.Close(); |
1370 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1373 if ((c=TheFs.Entry(gNameOut,gFileEntry))!=KErrNone) |
1371 Error(_L("File info 0"),c); |
1374 Error(_L("File info 0"),c); |
1372 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|P_FUPDATE|P_FRANDOM))!=KErrNone) |
1375 if ((c=gFile.Open(TheFs,gNameOut,EFileStream|EFileWrite))!=KErrNone) |
1373 Error(_L("Open 23"),c); |
1376 Error(_L("Open 23"),c); |
1374 saveTime=gFileEntry.iModified; |
1377 saveTime=gFileEntry.iModified; |
1375 test.Printf(_L("Wait 3 seconds...\n")); |
1378 test.Printf(_L("Wait 3 seconds...\n")); |
1376 User::After(3000000L); |
1379 User::After(3000000L); |
1377 if ((c=gFile.Flush())!=KErrNone) // Should not alter time // |
1380 if ((c=gFile.Flush())!=KErrNone) // Should not alter time // |