kerneltest/f32test/server/t_nmbs.cpp
branchRCL_3
changeset 256 c1f20ce4abcf
parent 0 a41df078684a
child 257 3e88ff8f41d5
equal deleted inserted replaced
249:a179b74831c9 256:c1f20ce4abcf
    11 // Contributors:
    11 // Contributors:
    12 //
    12 //
    13 // Description:
    13 // Description:
    14 //
    14 //
    15 
    15 
       
    16 #define __E32TEST_EXTENSION__
    16 #include <f32file.h>
    17 #include <f32file.h>
    17 #include <e32test.h>
    18 #include <e32test.h>
    18 #include "t_server.h"
    19 #include "t_server.h"
    19 #include "t_chlffs.h"
    20 #include "t_chlffs.h"
       
    21 #include "f32_test_utils.h"
       
    22 
       
    23 using namespace F32_Test_Utils;
    20 
    24 
    21 GLDEF_D RTest test(_L("T_NMBS"));
    25 GLDEF_D RTest test(_L("T_NMBS"));
    22 
    26 
    23 LOCAL_C void testMkDirRmDir()
    27 LOCAL_C void testMkDirRmDir()
    24 //
    28 //
    27 	{
    31 	{
    28 
    32 
    29 	test.Next(_L("Test MkDir"));
    33 	test.Next(_L("Test MkDir"));
    30 
    34 
    31 	TInt r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    35 	TInt r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    32 	test(r==KErrNone);
    36 	test_KErrNone(r);
    33 	r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    37 	r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    34 	test(r==KErrPathNotFound);
    38 	test_Value(r, r == KErrPathNotFound);
    35 	r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\"));
    39 	r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\"));
    36 	test(r==KErrNone);
    40 	test_KErrNone(r);
    37 	r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    41 	r=TheFs.MkDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    38 	test(r==KErrNone);
    42 	test_KErrNone(r);
    39 
    43 
    40 	test.Next(_L("Test RmDir 1.0"));
    44 	test.Next(_L("Test RmDir 1.0"));
    41 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    45 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    42 	test(r==KErrNone);
    46 	test_KErrNone(r);
    43 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    47 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    44 	test(r==KErrNone);
    48 	test_KErrNone(r);
    45 
    49 
    46 	test.Next(_L("Test MkDirAll 1.0"));
    50 	test.Next(_L("Test MkDirAll 1.0"));
    47 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\"));
    51 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\"));
    48 	test(r==KErrNone);
    52 	test_KErrNone(r);
    49 
    53 
    50 	test.Next(_L("Test RmDir 2.0"));
    54 	test.Next(_L("Test RmDir 2.0"));
    51 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    55 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    52 	test(r==KErrNone);
    56 	test_KErrNone(r);
    53 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    57 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    54 	test(r==KErrNone);
    58 	test_KErrNone(r);
    55 
    59 
    56 	test.Next(_L("Test MkDirAll 2.0"));
    60 	test.Next(_L("Test MkDirAll 2.0"));
    57 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\"));
    61 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\"));
    58 	test(r==KErrNone);
    62 	test_KErrNone(r);
    59 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\"));
    63 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\TEST\\"));
    60 	test(r==KErrNone);
    64 	test_KErrNone(r);
    61 
    65 
    62 	test.Next(_L("Test RmDir 3.0"));
    66 	test.Next(_L("Test RmDir 3.0"));
    63 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    67 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\TEST\\"));
    64 	test(r==KErrNone);
    68 	test_KErrNone(r);
    65 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    69 	r=TheFs.RmDir(_L("\\F32-TST\\TNMBS\\"));
    66 	test(r==KErrNone);
    70 	test_KErrNone(r);
    67 
    71 
    68 	test.Next(_L("Test mkdir and rmdir on root"));
    72 	test.Next(_L("Test mkdir and rmdir on root"));
    69 	r=TheFs.RmDir(_L("\\File.TXT"));
    73 	r=TheFs.RmDir(_L("\\File.TXT"));
    70 	test(r==KErrInUse);
    74 	test_Value(r, r == KErrInUse);
    71 	r=TheFs.MkDir(_L("\\asdf.ere"));
    75 	r=TheFs.MkDir(_L("\\asdf.ere"));
    72 	test(r==KErrAlreadyExists);
    76 	test_Value(r, r == KErrAlreadyExists);
    73 	r=TheFs.MkDirAll(_L("\\asdf.ere"));
    77 	r=TheFs.MkDirAll(_L("\\asdf.ere"));
    74 	test(r==KErrAlreadyExists);
    78 	test_Value(r, r == KErrAlreadyExists);
    75 
    79 
    76 	test.Next(_L("Test error code return values"));
    80 	test.Next(_L("Test error code return values"));
    77 	r=TheFs.MkDir(_L("\\F32-TST\\\\ABCDEF\\"));
    81 	r=TheFs.MkDir(_L("\\F32-TST\\\\ABCDEF\\"));
    78 
    82 
    79 	test(r==KErrBadName);
    83 	test_Value(r, r == KErrBadName);
    80 
    84 
    81 	test.Next(_L("Test MkDir with trailing spaces"));
    85 	test.Next(_L("Test MkDir with trailing spaces"));
    82 	r=TheFs.MkDir(_L("\\F32-TST\\TESTMKDIR    \\"));
    86 	r=TheFs.MkDir(_L("\\F32-TST\\TESTMKDIR    \\"));
    83 	test(r==KErrNone);
    87 	test_KErrNone(r);
    84 	r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\"));
    88 	r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\"));
    85 	test(r==KErrNone);
    89 	test_KErrNone(r);
    86 	r=TheFs.MkDirAll(_L("\\F32-TST\\TESTMKDIR    \\NOTCREATED\\NORTHIS   \\"));
    90 	r=TheFs.MkDirAll(_L("\\F32-TST\\TESTMKDIR    \\NOTCREATED\\NORTHIS   \\"));
    87 	test(r==KErrPathNotFound);
    91 	test_Value(r, r == KErrPathNotFound);
    88 	r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\NOTCREATED\\"));
    92 	r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\NOTCREATED\\"));
    89 	test(r==KErrNotFound);
    93 	test_Value(r, r == KErrNotFound);
    90 	r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\"));
    94 	r=TheFs.RmDir(_L("\\F32-TST\\TESTMKDIR\\"));
    91 	test(r==KErrNone);
    95 	test_KErrNone(r);
    92 
    96 
    93 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\"));
    97 	r=TheFs.MkDirAll(_L("\\F32-TST\\TNMBS\\"));
    94 	test(r==KErrNone);
    98 	test_KErrNone(r);
    95 	}
    99 	}
    96 
   100 
    97 LOCAL_C void testRename()
   101 LOCAL_C void testRename()
    98 //
   102 //
    99 // Test the rename function.
   103 // Test the rename function.
   100 //
   104 //
   101 	{
   105 	{
   102 
   106 
   103 	test.Next(_L("Test rename directories"));
   107 	test.Next(_L("Test rename directories"));
   104 	TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\GPQ\\"));
   108 	TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\GPQ\\"));
   105 	test(r==KErrNone || r==KErrAlreadyExists);
   109 	test_Value(r, r == KErrNone || r==KErrAlreadyExists);
   106 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\"),_L("\\F32-TST\\ABCDEF\\LMED"));
   110 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\"),_L("\\F32-TST\\ABCDEF\\LMED"));
   107 	test(r==KErrInUse);
   111 	test_Value(r, r == KErrInUse);
   108 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\GPQ"),_L("\\F32-TST\\LMED"));
   112 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\GPQ"),_L("\\F32-TST\\LMED"));
   109 	test(r==KErrNone);
   113 	test_KErrNone(r);
   110 	r=TheFs.RmDir(_L("\\F32-TST\\LMED\\"));
   114 	r=TheFs.RmDir(_L("\\F32-TST\\LMED\\"));
   111 	test(r==KErrNone);
   115 	test_KErrNone(r);
   112 
   116 
   113 	MakeDir(_L("\\F32-TST\\ABC\\"));
   117 	MakeDir(_L("\\F32-TST\\ABC\\"));
   114 	MakeFile(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"));
   118 	MakeFile(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"));
   115 	MakeFile(_L("\\F32-TST\\asdf.txt"));
   119 	MakeFile(_L("\\F32-TST\\asdf.txt"));
   116 	
   120 	
   117 	test.Next(_L("Test rename directory while subfile is open"));
   121 	test.Next(_L("Test rename directory while subfile is open"));
   118 	RFile f;
   122 	RFile f;
   119 	r=f.Open(TheFs,_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"),EFileRead);
   123 	r=f.Open(TheFs,_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"),EFileRead);
   120 	test(r==KErrNone);
   124 	test_KErrNone(r);
   121 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy"));
   125 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy"));
   122 	test(r==KErrInUse);
   126 	test_Value(r, r == KErrInUse);
   123 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy"));
   127 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy"));
   124 	test(r==KErrInUse);
   128 	test_Value(r, r == KErrInUse);
   125 	r=TheFs.Rename(_L("\\F32-TST\\ABC"),_L("\\F32-TST\\XXX"));
   129 	r=TheFs.Rename(_L("\\F32-TST\\ABC"),_L("\\F32-TST\\XXX"));
   126 	test(r==KErrNone);
   130 	test_KErrNone(r);
   127 	f.Close();
   131 	f.Close();
   128 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy"));
   132 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\xxxyyy"));
   129 	test(r==KErrNone);
   133 	test_KErrNone(r);
   130 	r=TheFs.Rename(_L("\\F32-TST\\XXX"),_L("\\F32-TST\\ABC"));
   134 	r=TheFs.Rename(_L("\\F32-TST\\XXX"),_L("\\F32-TST\\ABC"));
   131 	test(r==KErrNone);
   135 	test_KErrNone(r);
   132 	r=TheFs.Rename(_L("\\"),_L("\\BLARG"));
   136 	r=TheFs.Rename(_L("\\"),_L("\\BLARG"));
   133 	test(r==KErrBadName);
   137 	test_Value(r, r == KErrBadName);
   134 
   138 
   135 	r=f.Open(TheFs,_L("\\F32-TST\\asdf.txt"),EFileRead);
   139 	r=f.Open(TheFs,_L("\\F32-TST\\asdf.txt"),EFileRead);
   136 	test(r==KErrNone);
   140 	test_KErrNone(r);
   137 	r=TheFs.Rename(_L("\\F32-TST\\xxxyyy"),_L("\\F32-TST\\ABCDEF"));
   141 	r=TheFs.Rename(_L("\\F32-TST\\xxxyyy"),_L("\\F32-TST\\ABCDEF"));
   138 	test(r==KErrNone);
   142 	test_KErrNone(r);
   139 	r=TheFs.Rename(_L("\\F32-TST\\"),_L("\\ABCDEF"));
   143 	r=TheFs.Rename(_L("\\F32-TST\\"),_L("\\ABCDEF"));
   140 	test(r==KErrInUse);
   144 	test_Value(r, r == KErrInUse);
   141 	f.Close();
   145 	f.Close();
   142 
   146 
   143 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"));
   147 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\GPQ\\asdf.txt"));
   144 	test(r==KErrNone);
   148 	test_KErrNone(r);
   145 	r=TheFs.Delete(_L("\\F32-TST\\asdf.txt"));
   149 	r=TheFs.Delete(_L("\\F32-TST\\asdf.txt"));
   146 	test(r==KErrNone);
   150 	test_KErrNone(r);
   147 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\GPQ\\"));
   151 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\GPQ\\"));
   148 	test(r==KErrNone);
   152 	test_KErrNone(r);
   149 	r=TheFs.RmDir(_L("\\F32-TST\\ABC\\"));
   153 	r=TheFs.RmDir(_L("\\F32-TST\\ABC\\"));
   150 	test(r==KErrNone);
   154 	test_KErrNone(r);
   151 
   155 
   152 	r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF"));
   156 	r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF"));
   153 	test(r==KErrPathNotFound);
   157 	test_Value(r, r == KErrPathNotFound);
   154 	r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF"));
   158 	r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF"));
   155 	test(r==KErrNotFound);
   159 	test_Value(r, r == KErrNotFound);
   156 	r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA"));
   160 	r=TheFs.Rename(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA"));
   157 	test(r==KErrPathNotFound);
   161 	test_Value(r, r == KErrPathNotFound);
   158 	r=TheFs.Rename(_L("\\F32-TST\\FEDCBA"),_L("\\TST-E32\\123456"));
   162 	r=TheFs.Rename(_L("\\F32-TST\\FEDCBA"),_L("\\TST-E32\\123456"));
   159 	test(r==KErrNotFound);
   163 	test_Value(r, r == KErrNotFound);
   160 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456"));
   164 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456"));
   161 	test(r==KErrNone);
   165 	test_KErrNone(r);
   162 	r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\XYZABC"));
   166 	r=TheFs.Rename(_L("\\F32-TST\\123456"),_L("\\F32-TST\\XYZABC"));
   163 	test(r==KErrNone);
   167 	test_KErrNone(r);
   164 
   168 
   165 	test.Next(_L("Test rename files"));
   169 	test.Next(_L("Test rename files"));
   166 	r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite);
   170 	r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite);
   167 	test(r==KErrNone);
   171 	test_KErrNone(r);
   168 	f.Close();
   172 	f.Close();
   169 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"));
   173 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"));
   170 	test(r==KErrNone);
   174 	test_KErrNone(r);
   171 	r=TheFs.Delete(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"));
   175 	r=TheFs.Delete(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"));
   172 	test(r==KErrNone);
   176 	test_KErrNone(r);
   173 
   177 
   174 	test.Next(_L("Test rename checks for duplicate entries"));
   178 	test.Next(_L("Test rename checks for duplicate entries"));
   175 	r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\"));
   179 	r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\"));
   176 	test(r==KErrNone);
   180 	test_KErrNone(r);
   177 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\XYZABC"));
   181 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\XYZABC"));
   178 	test(r==KErrAlreadyExists);
   182 	test_Value(r, r == KErrAlreadyExists);
   179 	r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite);
   183 	r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),EFileRead|EFileWrite);
   180 	test(r==KErrNone);
   184 	test_KErrNone(r);
   181 	f.Close();
   185 	f.Close();
   182 	r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),EFileRead|EFileWrite);
   186 	r=f.Create(TheFs,_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),EFileRead|EFileWrite);
   183 	test(r==KErrNone);
   187 	test_KErrNone(r);
   184 	f.Close();
   188 	f.Close();
   185 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"));
   189 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"));
   186 	test(r==KErrAlreadyExists);
   190 	test_Value(r, r == KErrAlreadyExists);
   187 
   191 
   188 	test.Next(_L("Test rename across directories"));
   192 	test.Next(_L("Test rename across directories"));
   189 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT"));
   193 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT"));
   190 	test(r==KErrNone);
   194 	test_KErrNone(r);
   191 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT"));
   195 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT"));
   192 	test(r==KErrNotFound);
   196 	test_Value(r, r == KErrNotFound);
   193 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\DIFNAME.TXT"));
   197 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC\\NEWNAME.TXT"),_L("\\F32-TST\\ABCDEF\\DIFNAME.TXT"));
   194 	test(r==KErrNotFound);
   198 	test_Value(r, r == KErrNotFound);
   195 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC"),_L("\\F32-TST\\ABCDEF\\XYZABC"));
   199 	r=TheFs.Rename(_L("\\F32-TST\\XYZABC"),_L("\\F32-TST\\ABCDEF\\XYZABC"));
   196 	test(r==KErrNone);
   200 	test_KErrNone(r);
   197 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT"));
   201 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT"));
   198 	test(r==KErrNone);
   202 	test_KErrNone(r);
   199 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\NewNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"));
   203 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\NewNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"));
   200 	test(r==KErrNone);
   204 	test_KErrNone(r);
   201 	test.Next(_L("Test rename across drive error code"));
   205 	test.Next(_L("Test rename across drive error code"));
   202 	r=TheFs.Rename(_L("Z:\\BLEG"),_L("C:\\FRUM"));
   206 	r=TheFs.Rename(_L("Z:\\BLEG"),_L("C:\\FRUM"));
   203 	test(r==KErrArgument);	
   207 	test_Value(r, r == KErrArgument);	
   204 	test.Next(_L("Test rename to identical names"));
   208 	test.Next(_L("Test rename to identical names"));
   205 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"));
   209 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"));
   206 	test(r==KErrNone);
   210 	test_KErrNone(r);
   207 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone);
   211 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone);
   208 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT"));
   212 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT"));
   209 	test(r==KErrNone);
   213 	test_KErrNone(r);
   210 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone,EFalse);
   214 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),KErrNone,EFalse);
   211 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT"),KErrNone,ETrue);
   215 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLdnAME.TXT"),KErrNone,ETrue);
   212 
   216 
   213 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT"));
   217 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\XYZABC\\OLDNAME.TXT"),_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT"));
   214 	test(r==KErrNone);
   218 	test_KErrNone(r);
   215 	test.Next(_L("Test RmDir"));
   219 	test.Next(_L("Test RmDir"));
   216 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT"));
   220 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\NEWNAME.TXT"));
   217 	test(r==KErrNone);
   221 	test_KErrNone(r);
   218 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT"));
   222 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\OLDNAME.TXT"));
   219 	test(r==KErrNone);
   223 	test_KErrNone(r);
   220 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\XYZABC\\"));
   224 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\XYZABC\\"));
   221 	test(r==KErrNone);
   225 	test_KErrNone(r);
   222 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   226 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   223 	test(r==KErrNone);
   227 	test_KErrNone(r);
   224 	}
   228 	}
   225 LOCAL_C void TestLongFileName()
   229 LOCAL_C void TestLongFileName()
   226 	{
   230 	{
   227 	#ifndef __EPOC32__ //emulator
   231 	if (Is_SimulatedSystemDrive(TheFs, CurrentDrive()))
   228 	if (gDriveToTest.GetLowerCase()=='c')
   232 		{
   229 		return;//don't perform this test for c: in emulator as emulator uses windows system calls
   233 		// Do not perform this test for the system drive of the emulator or PlatSim
   230 		//windows doesn't create a directory with length more than 244 characters
   234 		// as they use Windows system calls.
   231 	#endif 
   235 		// Windows does not create a directory with length more than 244 characters
   232 	
   236 		// (247 including <drive>:\)
   233 	 test.Next(_L("Test renaming 257 characters directories"));
   237 		test.Printf(_L("TestLongFileName() skipped on simulated system drive.\n"));
       
   238 		return;
       
   239 		}
       
   240 	
       
   241 	test.Next(_L("Test renaming 257 characters directories"));
   234 	_LIT(KLongFileName256, "256dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   242 	_LIT(KLongFileName256, "256dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   235 	_LIT(KLongFileName257, "257dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   243 	_LIT(KLongFileName257, "257dir_IncludingBackslash_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
   236 	TBuf<260> Path;
   244 	TBuf<260> Path;
   237 	TBuf<10> baseDir;
   245 	TBuf<10> baseDir;
   238 			
   246 			
   242 	Path.Append(_L("\\"));
   250 	Path.Append(_L("\\"));
   243 	
   251 	
   244 	TInt 	result = KErrNone;
   252 	TInt 	result = KErrNone;
   245 	//-- 1. create directory in Root which total path length is 256 symbols.	result = TheFs.MkDirAll(Path);
   253 	//-- 1. create directory in Root which total path length is 256 symbols.	result = TheFs.MkDirAll(Path);
   246 	result=TheFs.MkDirAll(Path);
   254 	result=TheFs.MkDirAll(Path);
   247 	test((result==KErrNone)||(result==KErrAlreadyExists));
   255 	test_Value(result, (result == KErrNone)||(result==KErrAlreadyExists));
   248 	
   256 	
   249 	test.Next(_L("Renaming a 265 char directory to a 257 char directory"));
   257 	test.Next(_L("Renaming a 265 char directory to a 257 char directory"));
   250 	result=TheFs.SetSessionPath(baseDir);
   258 	result=TheFs.SetSessionPath(baseDir);
   251 	test(result==KErrNone);	
   259 	test_KErrNone(result);	
   252 	TheFs.SessionPath(baseDir);
   260 	TheFs.SessionPath(baseDir);
   253 	test.Printf(_L("Session path was set to: %S"), &baseDir);
   261 	test.Printf(_L("Session path was set to: %S"), &baseDir);
   254 
   262 
   255 	//-- 2. try to rename this directory to one with 257 character total path length
   263 	//-- 2. try to rename this directory to one with 257 character total path length
   256 	test.Printf(_L("Renaming 256-char directory to 257"));
   264 	test.Printf(_L("Renaming 256-char directory to 257"));
   257 	result = KErrNone;
   265 	result = KErrNone;
   258 	Path.Copy(KLongFileName257);
   266 	Path.Copy(KLongFileName257);
   259 	result = TheFs.Rename(KLongFileName256, Path);
   267 	result = TheFs.Rename(KLongFileName256, Path);
   260 	test(result==KErrBadName);
   268 	test_Value(result, result == KErrBadName);
   261 	//-- 3. try to rename this directory to one with 258 character total path length
   269 	//-- 3. try to rename this directory to one with 258 character total path length
   262 
   270 
   263 	Path.Append(_L("z"));
   271 	Path.Append(_L("z"));
   264 	result = TheFs.Rename(KLongFileName256, Path);
   272 	result = TheFs.Rename(KLongFileName256, Path);
   265 	test(result==KErrBadName);
   273 	test_Value(result, result == KErrBadName);
   266 
   274 
   267 	}
   275 	}
   268 LOCAL_C void testRenameCase()
   276 LOCAL_C void testRenameCase()
   269 //
   277 //
   270 // Test renaming "AGENDA" to "agenda"
   278 // Test renaming "AGENDA" to "agenda"
   272 	{
   280 	{
   273 
   281 
   274 	test.Next(_L("Test rename case"));
   282 	test.Next(_L("Test rename case"));
   275 	MakeDir(_L("\\F32-TST\\RENAMECASE\\"));
   283 	MakeDir(_L("\\F32-TST\\RENAMECASE\\"));
   276 	TInt r=TheFs.SetSessionPath(_L("\\F32-TST\\RENAMECASE\\"));
   284 	TInt r=TheFs.SetSessionPath(_L("\\F32-TST\\RENAMECASE\\"));
   277 	test(r==KErrNone);
   285 	test_KErrNone(r);
   278 
   286 
   279 	MakeFile(_L("file1.txt"));
   287 	MakeFile(_L("file1.txt"));
   280 	MakeFile(_L("FILE2.TXT"));
   288 	MakeFile(_L("FILE2.TXT"));
   281 	MakeFile(_L("AGENDA"));
   289 	MakeFile(_L("AGENDA"));
   282 	MakeFile(_L("agenda.one"));
   290 	MakeFile(_L("agenda.one"));
   283 
   291 
   284 	TEntry entry;
   292 	TEntry entry;
   285 	r=TheFs.Rename(_L("FILE1.TXT"),_L("FILE1.TXT"));
   293 	r=TheFs.Rename(_L("FILE1.TXT"),_L("FILE1.TXT"));
   286 	test(r==KErrNone);
   294 	test_KErrNone(r);
   287 	r=TheFs.Entry(_L("File1.txt"),entry);
   295 	r=TheFs.Entry(_L("File1.txt"),entry);
   288 	test(r==KErrNone);
   296 	test_KErrNone(r);
   289 	test(entry.iName==_L("FILE1.TXT"));
   297 	test(entry.iName==_L("FILE1.TXT"));
   290 
   298 
   291 	r=TheFs.Rename(_L("file2.txt"),_L("file2.txt"));
   299 	r=TheFs.Rename(_L("file2.txt"),_L("file2.txt"));
   292 	test(r==KErrNone);
   300 	test_KErrNone(r);
   293 	r=TheFs.Entry(_L("File2.txt"),entry);
   301 	r=TheFs.Entry(_L("File2.txt"),entry);
   294 	test(r==KErrNone);
   302 	test_KErrNone(r);
   295 	test(entry.iName==_L("file2.txt"));
   303 	test(entry.iName==_L("file2.txt"));
   296 
   304 
   297 	r=TheFs.Rename(_L("agenda."),_L("agenda.two"));
   305 	r=TheFs.Rename(_L("agenda."),_L("agenda.two"));
   298 	test(r==KErrNone);
   306 	test_KErrNone(r);
   299 	r=TheFs.Entry(_L("Agenda.two"),entry);
   307 	r=TheFs.Entry(_L("Agenda.two"),entry);
   300 	test(r==KErrNone);
   308 	test_KErrNone(r);
   301 	test(entry.iName==_L("agenda.two"));
   309 	test(entry.iName==_L("agenda.two"));
   302 
   310 
   303 	r=TheFs.Rename(_L("AGENDA.ONE"),_L("AGENDA.ONE"));
   311 	r=TheFs.Rename(_L("AGENDA.ONE"),_L("AGENDA.ONE"));
   304 	test(r==KErrNone);
   312 	test_KErrNone(r);
   305 	r=TheFs.Entry(_L("Agenda.one"),entry);
   313 	r=TheFs.Entry(_L("Agenda.one"),entry);
   306 	test(r==KErrNone);
   314 	test_KErrNone(r);
   307 	test(entry.iName==_L("AGENDA.ONE"));
   315 	test(entry.iName==_L("AGENDA.ONE"));
   308 
   316 
   309 	r=TheFs.Rename(_L("FILE1.TXT"),_L("file1.txt"));
   317 	r=TheFs.Rename(_L("FILE1.TXT"),_L("file1.txt"));
   310 	test(r==KErrNone);
   318 	test_KErrNone(r);
   311 	r=TheFs.Entry(_L("File1.txt"),entry);
   319 	r=TheFs.Entry(_L("File1.txt"),entry);
   312 	test(r==KErrNone);
   320 	test_KErrNone(r);
   313 	test(entry.iName==_L("file1.txt"));
   321 	test(entry.iName==_L("file1.txt"));
   314 
   322 
   315 	r=TheFs.Rename(_L("file2.txt"),_L("FILE2.TXT"));
   323 	r=TheFs.Rename(_L("file2.txt"),_L("FILE2.TXT"));
   316 	test(r==KErrNone);
   324 	test_KErrNone(r);
   317 	r=TheFs.Entry(_L("File2.txt"),entry);
   325 	r=TheFs.Entry(_L("File2.txt"),entry);
   318 	test(r==KErrNone);
   326 	test_KErrNone(r);
   319 	test(entry.iName==_L("FILE2.TXT"));
   327 	test(entry.iName==_L("FILE2.TXT"));
   320 
   328 
   321 	r=TheFs.Rename(_L("agenda.two"),_L("AGENDA"));
   329 	r=TheFs.Rename(_L("agenda.two"),_L("AGENDA"));
   322 	test(r==KErrNone);
   330 	test_KErrNone(r);
   323 	r=TheFs.Entry(_L("Agenda"),entry);
   331 	r=TheFs.Entry(_L("Agenda"),entry);
   324 	test(r==KErrNone);
   332 	test_KErrNone(r);
   325 	test(entry.iName==_L("AGENDA"));
   333 	test(entry.iName==_L("AGENDA"));
   326 
   334 
   327 	r=TheFs.Rename(_L("AGENDA.ONE"),_L("agenda.one"));
   335 	r=TheFs.Rename(_L("AGENDA.ONE"),_L("agenda.one"));
   328 	test(r==KErrNone);
   336 	test_KErrNone(r);
   329 	r=TheFs.Entry(_L("Agenda.one"),entry);
   337 	r=TheFs.Entry(_L("Agenda.one"),entry);
   330 	test(r==KErrNone);
   338 	test_KErrNone(r);
   331 	test(entry.iName==_L("agenda.one"));
   339 	test(entry.iName==_L("agenda.one"));
   332 
   340 
   333 	r=TheFs.Rename(_L("FILE1.TXT"),_L("FILe1.txt"));
   341 	r=TheFs.Rename(_L("FILE1.TXT"),_L("FILe1.txt"));
   334 	test(r==KErrNone);
   342 	test_KErrNone(r);
   335 	r=TheFs.Entry(_L("File1.txt"),entry);
   343 	r=TheFs.Entry(_L("File1.txt"),entry);
   336 	test(r==KErrNone);
   344 	test_KErrNone(r);
   337 	test(entry.iName==_L("FILe1.txt"));
   345 	test(entry.iName==_L("FILe1.txt"));
   338 
   346 
   339 	r=TheFs.Rename(_L("file2.txt"),_L("FILE3.TXT"));
   347 	r=TheFs.Rename(_L("file2.txt"),_L("FILE3.TXT"));
   340 	test(r==KErrNone);
   348 	test_KErrNone(r);
   341 	r=TheFs.Entry(_L("File3.txt"),entry);
   349 	r=TheFs.Entry(_L("File3.txt"),entry);
   342 	test(r==KErrNone);
   350 	test_KErrNone(r);
   343 	test(entry.iName==_L("FILE3.TXT"));
   351 	test(entry.iName==_L("FILE3.TXT"));
   344 
   352 
   345 	r=TheFs.Rename(_L("agenda."),_L("AGENDA1"));
   353 	r=TheFs.Rename(_L("agenda."),_L("AGENDA1"));
   346 	test(r==KErrNone);
   354 	test_KErrNone(r);
   347 	r=TheFs.Entry(_L("Agenda1"),entry);
   355 	r=TheFs.Entry(_L("Agenda1"),entry);
   348 	test(r==KErrNone);
   356 	test_KErrNone(r);
   349 	test(entry.iName==_L("AGENDA1"));
   357 	test(entry.iName==_L("AGENDA1"));
   350 
   358 
   351 	r=TheFs.Rename(_L("AGENDA.ONE"),_L("Agenda.One"));
   359 	r=TheFs.Rename(_L("AGENDA.ONE"),_L("Agenda.One"));
   352 	test(r==KErrNone);
   360 	test_KErrNone(r);
   353 	r=TheFs.Entry(_L("Agenda.one"),entry);
   361 	r=TheFs.Entry(_L("Agenda.one"),entry);
   354 	test(r==KErrNone);
   362 	test_KErrNone(r);
   355 	test(entry.iName==_L("Agenda.One"));
   363 	test(entry.iName==_L("Agenda.One"));
   356 
   364 
   357 	r=TheFs.Delete(_L("file1.txt"));
   365 	r=TheFs.Delete(_L("file1.txt"));
   358 	test(r==KErrNone);
   366 	test_KErrNone(r);
   359 	r=TheFs.Delete(_L("file3.txt"));
   367 	r=TheFs.Delete(_L("file3.txt"));
   360 	test(r==KErrNone);
   368 	test_KErrNone(r);
   361 	r=TheFs.Delete(_L("Agenda1"));
   369 	r=TheFs.Delete(_L("Agenda1"));
   362 	test(r==KErrNone);
   370 	test_KErrNone(r);
   363 	r=TheFs.Delete(_L("AGENDA.ONE"));
   371 	r=TheFs.Delete(_L("AGENDA.ONE"));
   364 	test(r==KErrNone);
   372 	test_KErrNone(r);
   365 	r=TheFs.RmDir(_L("\\F32-TST\\RENAMECASE\\"));
   373 	r=TheFs.RmDir(_L("\\F32-TST\\RENAMECASE\\"));
   366 	test(r==KErrNone);
   374 	test_KErrNone(r);
   367 	r=TheFs.SetSessionPath(gSessionPath);
   375 	r=TheFs.SetSessionPath(gSessionPath);
   368 	test(r==KErrNone);
   376 	test_KErrNone(r);
   369 	}
   377 	}
   370 
   378 
   371 LOCAL_C void testReplace()
   379 LOCAL_C void testReplace()
   372 //
   380 //
   373 // Test the replace function
   381 // Test the replace function
   374 //
   382 //
   375 	{
   383 	{
   376 
   384 
   377 	test.Next(_L("Test Replace"));
   385 	test.Next(_L("Test Replace"));
   378 	TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\"));
   386 	TInt r=TheFs.MkDirAll(_L("\\F32-TST\\ABCDEF\\"));
   379 	test(r==KErrNone);
   387 	test_KErrNone(r);
   380 	r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF"));
   388 	r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\ABCDEF"));
   381 	test(r==KErrAccessDenied); // Do not replace directories
   389 	test_Value(r, r == KErrAccessDenied); // Do not replace directories
   382 	r=TheFs.Replace(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF"));
   390 	r=TheFs.Replace(_L("\\F32-TST\\123456"),_L("\\F32-TST\\ABCDEF"));
   383 	test(r==KErrAccessDenied);
   391 	test_Value(r, r == KErrAccessDenied);
   384 	r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA"));
   392 	r=TheFs.Replace(_L("\\TST-E32\\123456"),_L("\\F32-TST\\FEDCBA"));
   385 	test(r==KErrPathNotFound);
   393 	test_Value(r, r == KErrPathNotFound);
   386 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456"));
   394 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF"),_L("\\F32-TST\\123456"));
   387 	test(r==KErrAccessDenied);
   395 	test_Value(r, r == KErrAccessDenied);
   388 
   396 
   389 	test.Next(_L("Replace a file with itself (8.3 filename)"));
   397 	test.Next(_L("Replace a file with itself (8.3 filename)"));
   390 	MakeFile(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"));
   398 	MakeFile(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"));
   391 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\TEST1.SPR"));
   399 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\TEST1.SPR"));
   392 	test(r==KErrNone);
   400 	test_KErrNone(r);
   393 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone);
   401 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone);
   394 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\test1.spr"));
   402 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\test1.spr"));
   395 	test(r==KErrNone);
   403 	test_KErrNone(r);
   396 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone,ETrue); // Replace does not rename existing file
   404 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"),KErrNone,ETrue); // Replace does not rename existing file
   397 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\test1.spr"),KErrNone,EFalse);
   405 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\test1.spr"),KErrNone,EFalse);
   398 
   406 
   399 	test.Next(_L("Replace a file with itself (vfat filename)"));
   407 	test.Next(_L("Replace a file with itself (vfat filename)"));
   400 	MakeFile(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"));
   408 	MakeFile(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"));
   401 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"));
   409 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"));
   402 	test(r==KErrNone);
   410 	test_KErrNone(r);
   403 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone);
   411 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone);
   404 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr"));
   412 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr"));
   405 	test(r==KErrNone);
   413 	test_KErrNone(r);
   406 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone,ETrue); // Replace does not rename existing file
   414 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"),KErrNone,ETrue); // Replace does not rename existing file
   407 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr"),KErrNone,EFalse);
   415 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\test_sheet(01).spr"),KErrNone,EFalse);
   408 
   416 
   409 	test.Next(_L("Replace preserves file contents (8.3 filename)"));
   417 	test.Next(_L("Replace preserves file contents (8.3 filename)"));
   410 	MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("Original Data"));
   418 	MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("Original Data"));
   411 	MakeFile(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L8("NewData"));
   419 	MakeFile(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L8("NewData"));
   412 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"));
   420 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"));
   413 	test(r==KErrNone);
   421 	test_KErrNone(r);
   414 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData"));
   422 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData"));
   415 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound);
   423 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound);
   416 
   424 
   417 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"));
   425 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"));
   418 	test(r==KErrNone);
   426 	test_KErrNone(r);
   419     r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"));
   427     r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"));
   420 	test(r==KErrNone);
   428 	test_KErrNone(r);
   421 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData"));
   429 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"),_L8("NewData"));
   422 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound);
   430 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\TEMP0001.SPR"),KErrNotFound);
   423 
   431 
   424 	test.Next(_L("Replace preserves file contents (vfat fileName)"));
   432 	test.Next(_L("Replace preserves file contents (vfat fileName)"));
   425 	MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("Original Data"));
   433 	MakeFile(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("Original Data"));
   426 	MakeFile(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L8("NewData"));
   434 	MakeFile(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L8("NewData"));
   427 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"));
   435 	r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"));
   428 	test(r==KErrNone);
   436 	test_KErrNone(r);
   429 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData"));
   437 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData"));
   430 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound);
   438 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound);
   431 
   439 
   432 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"));
   440 	r=TheFs.Rename(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"));
   433 	test(r==KErrNone);
   441 	test_KErrNone(r);
   434     r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"));
   442     r=TheFs.Replace(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"));
   435 	test(r==KErrNone);
   443 	test_KErrNone(r);
   436 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData"));
   444 	CheckFileContents(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"),_L8("NewData"));
   437 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound);
   445 	CheckFileExists(_L("\\F32-TST\\ABCDEF\\NEW_TEMP0001.SPR"),KErrNotFound);
   438 
   446 
   439 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   447 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   440 	test(r==KErrInUse);
   448 	test_Value(r, r == KErrInUse);
   441 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR\\"));
   449 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR\\"));
   442 	test(r==KErrPathNotFound);
   450 	test_Value(r, r == KErrPathNotFound);
   443 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"));
   451 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET1.SPR"));
   444 	test(r==KErrNone);
   452 	test_KErrNone(r);
   445 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"));
   453 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\SHEET_TEST1.SPR"));
   446 	test(r==KErrNone);
   454 	test_KErrNone(r);
   447 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"));
   455 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST1.SPR"));
   448 	test(r==KErrNone);
   456 	test_KErrNone(r);
   449 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"));
   457 	r=TheFs.Delete(_L("\\F32-TST\\ABCDEF\\TEST_SHEET(01).SPR"));
   450 	test(r==KErrNone);
   458 	test_KErrNone(r);
   451 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   459 	r=TheFs.RmDir(_L("\\F32-TST\\ABCDEF\\"));
   452 	test(r==KErrNone);
   460 	test_KErrNone(r);
   453 
   461 
   454 	test.Next(_L("Check file date is retained"));
   462 	test.Next(_L("Check file date is retained"));
   455 	MakeFile(_L("OldFile.Old"));
   463 	MakeFile(_L("OldFile.Old"));
   456 	MakeFile(_L("NewFile.new"));
   464 	MakeFile(_L("NewFile.new"));
   457 
   465 
   458 	TDateTime newDate(1998,(TMonth)2,3,11,12,0,0);
   466 	TDateTime newDate(1998,(TMonth)2,3,11,12,0,0);
   459 	TTime newTime(newDate);
   467 	TTime newTime(newDate);
   460 	
   468 	
   461 	r=TheFs.SetEntry(_L("NewFile.new"),newTime,0,0);
   469 	r=TheFs.SetEntry(_L("NewFile.new"),newTime,0,0);
   462 	test(r==KErrNone);
   470 	test_KErrNone(r);
   463 	
   471 	
   464 	TEntry entry;
   472 	TEntry entry;
   465 	r=TheFs.Entry(_L("NewFile.new"),entry);
   473 	r=TheFs.Entry(_L("NewFile.new"),entry);
   466 	test(r==KErrNone);
   474 	test_KErrNone(r);
   467 	
   475 	
   468 	TTime checkReturnedTime=entry.iModified;
   476 	TTime checkReturnedTime=entry.iModified;
   469 	TDateTime dateTime=checkReturnedTime.DateTime();
   477 	TDateTime dateTime=checkReturnedTime.DateTime();
   470 	
   478 	
   471 	test(entry.iModified==newTime);
   479 	test(entry.iModified==newTime);
   472 
   480 
   473 	TDateTime oldDate(1996,(TMonth)2,3,23,0,0,0);
   481 	TDateTime oldDate(1996,(TMonth)2,3,23,0,0,0);
   474 	TTime oldTime(oldDate);
   482 	TTime oldTime(oldDate);
   475 	r=TheFs.SetEntry(_L("OldFile.old"),oldTime,0,0);
   483 	r=TheFs.SetEntry(_L("OldFile.old"),oldTime,0,0);
   476 	test(r==KErrNone);
   484 	test_KErrNone(r);
   477 
   485 
   478 	TheFs.Replace(_L("NewFile.new"),_L("OldFile.old"));
   486 	TheFs.Replace(_L("NewFile.new"),_L("OldFile.old"));
   479 	test(r==KErrNone);
   487 	test_KErrNone(r);
   480 	TTime check;
   488 	TTime check;
   481 	r=TheFs.Modified(_L("OldFile.old"),check);
   489 	r=TheFs.Modified(_L("OldFile.old"),check);
   482 	test(r==KErrNone);
   490 	test_KErrNone(r);
   483 	TDateTime checkDateTime=check.DateTime();
   491 	TDateTime checkDateTime=check.DateTime();
   484 	
   492 	
   485 	test(checkDateTime.Year()==dateTime.Year());
   493 	test(checkDateTime.Year()==dateTime.Year());
   486 	test(checkDateTime.Month()==dateTime.Month());
   494 	test(checkDateTime.Month()==dateTime.Month());
   487 	test(checkDateTime.Day()==dateTime.Day());
   495 	test(checkDateTime.Day()==dateTime.Day());
   490 	test(checkDateTime.Second()==dateTime.Second());
   498 	test(checkDateTime.Second()==dateTime.Second());
   491 
   499 
   492 	test.Next(_L("Replace 'Agenda' with 'Agenda.'"));
   500 	test.Next(_L("Replace 'Agenda' with 'Agenda.'"));
   493 	MakeFile(_L("Agenda"));
   501 	MakeFile(_L("Agenda"));
   494 	r=TheFs.Replace(_L("Agenda"),_L("Agenda."));
   502 	r=TheFs.Replace(_L("Agenda"),_L("Agenda."));
   495 	test(r==KErrNone);
   503 	test_KErrNone(r);
   496 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);
   504 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);
   497 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   505 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   498 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   506 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   499 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   507 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   500 
   508 
   501 	r=TheFs.Replace(_L("Agenda"),_L("Agenda."));
   509 	r=TheFs.Replace(_L("Agenda"),_L("Agenda."));
   502 	test(r==KErrNone);
   510 	test_KErrNone(r);
   503 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);
   511 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);
   504 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   512 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   505 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   513 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   506 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   514 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   507 
   515 
   508 	r=TheFs.Replace(_L("Agenda."),_L("AGENDA"));
   516 	r=TheFs.Replace(_L("Agenda."),_L("AGENDA"));
   509 	test(r==KErrNone);
   517 	test_KErrNone(r);
   510 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);  // Replace does not rename existing file
   518 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);  // Replace does not rename existing file
   511 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   519 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   512 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   520 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   513 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   521 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   514 
   522 
   515 	r=TheFs.Replace(_L("AGENDA."),_L("AGENDA.")); // Unchanged, ie still 'Agenda'
   523 	r=TheFs.Replace(_L("AGENDA."),_L("AGENDA.")); // Unchanged, ie still 'Agenda'
   516 	test(r==KErrNone);
   524 	test_KErrNone(r);
   517 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);
   525 	CheckFileExists(_L("Agenda"),KErrNone,ETrue);
   518 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   526 	CheckFileExists(_L("Agenda."),KErrNone,ETrue);
   519 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   527 	CheckFileExists(_L("AGENDA"),KErrNone,EFalse);
   520 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   528 	CheckFileExists(_L("AGENDA."),KErrNone,EFalse);
   521 	}
   529 	}
   527 	{
   535 	{
   528 
   536 
   529 	test.Next(_L("Get directory entry"));
   537 	test.Next(_L("Get directory entry"));
   530 	TEntry entry;
   538 	TEntry entry;
   531 	TInt r=TheFs.Entry(_L("\\BLEERRG\\"),entry);
   539 	TInt r=TheFs.Entry(_L("\\BLEERRG\\"),entry);
   532 	test(r==KErrNotFound); // BLEERRG does not exist
   540 	test_Value(r, r == KErrNotFound); // BLEERRG does not exist
   533 	r=TheFs.Entry(_L("\\F32-TST"),entry);
   541 	r=TheFs.Entry(_L("\\F32-TST"),entry);
   534 	test(r==KErrNone);
   542 	test_KErrNone(r);
   535 	test(entry.iName==_L("F32-TST")||entry.iName==_L("F32-TST."));
   543 	test(entry.iName==_L("F32-TST")||entry.iName==_L("F32-TST."));
   536 	if (IsTestingLFFS())
   544 	if (IsTestingLFFS())
   537 		{
   545 		{
   538 		r=TheFs.Rename(_L("\\F32-TST.\\"),_L("\\F32-TST\\"));
   546 		r=TheFs.Rename(_L("\\F32-TST.\\"),_L("\\F32-TST\\"));
   539 		test(r==KErrBadName);
   547 		test_Value(r, r == KErrBadName);
   540 		r=TheFs.Entry(_L("\\F32-TST"),entry);
   548 		r=TheFs.Entry(_L("\\F32-TST"),entry);
   541 		test(r==KErrNone);
   549 		test_KErrNone(r);
   542 		}
   550 		}
   543 	test(entry.iName==_L("F32-TST"));
   551 	test(entry.iName==_L("F32-TST"));
   544 	test(entry.IsDir());
   552 	test(entry.IsDir());
   545 
   553 
   546 	test.Next(_L("Get file entry"));
   554 	test.Next(_L("Get file entry"));
   547 	RFile f;
   555 	RFile f;
   548 	r=f.Replace(TheFs,_L("ENTRY.TXT"),EFileStream);
   556 	r=f.Replace(TheFs,_L("ENTRY.TXT"),EFileStream);
   549 	test(r==KErrNone);
   557 	test_KErrNone(r);
   550 	r=f.Write(_L8("Entry data"));
   558 	r=f.Write(_L8("Entry data"));
   551 	test(r==KErrNone);
   559 	test_KErrNone(r);
   552 	f.Close();
   560 	f.Close();
   553 	r=TheFs.Entry(_L("\\F32-TST\\TNMBS\\ENTRY.TXT"),entry);
   561 	r=TheFs.Entry(_L("\\F32-TST\\TNMBS\\ENTRY.TXT"),entry);
   554 	test(r==KErrNone);
   562 	test_KErrNone(r);
   555 	test(entry.iName==_L("ENTRY.TXT"));
   563 	test(entry.iName==_L("ENTRY.TXT"));
   556 	test(!entry.IsDir());
   564 	test(!entry.IsDir());
   557 
   565 
   558 	test.Next(_L("Get the root directory"));
   566 	test.Next(_L("Get the root directory"));
   559 	r=TheFs.Entry(_L("\\"),entry);
   567 	r=TheFs.Entry(_L("\\"),entry);
   560 	test(r==KErrBadName);
   568 	test_Value(r, r == KErrBadName);
   561 	}
   569 	}
   562 
   570 
   563 LOCAL_C void testRenameRegression()
   571 LOCAL_C void testRenameRegression()
   564 //
   572 //
   565 // Regression tests for rename
   573 // Regression tests for rename
   567 	{
   575 	{
   568 
   576 
   569 	test.Next(_L("More rename tests"));
   577 	test.Next(_L("More rename tests"));
   570 	MakeFile(_L("\\F32-TST\\asdf"));
   578 	MakeFile(_L("\\F32-TST\\asdf"));
   571 	TInt r=TheFs.Rename(_L("\\F32-TST\\asdf"),_L("*"));
   579 	TInt r=TheFs.Rename(_L("\\F32-TST\\asdf"),_L("*"));
   572 	test(r==KErrBadName);
   580 	test_Value(r, r == KErrBadName);
   573 	r=TheFs.Rename(_L("\\F32-TST\\"),_L("*"));
   581 	r=TheFs.Rename(_L("\\F32-TST\\"),_L("*"));
   574 	test(r==KErrBadName);
   582 	test_Value(r, r == KErrBadName);
   575 	r=TheFs.Rename(_L("\\F32-TST\\"),_L("\\F32-TST.\\"));
   583 	r=TheFs.Rename(_L("\\F32-TST\\"),_L("\\F32-TST.\\"));
   576 	test(r==KErrBadName);
   584 	test_Value(r, r == KErrBadName);
   577 	CheckFileExists(_L("\\F32-TST\\asdf"),KErrNone);
   585 	CheckFileExists(_L("\\F32-TST\\asdf"),KErrNone);
   578 	r=TheFs.Rename(_L("\\F32-TST\\asdf"),_L("\\F32-TST\\Asdf."));
   586 	r=TheFs.Rename(_L("\\F32-TST\\asdf"),_L("\\F32-TST\\Asdf."));
   579 	test(r==KErrNone);
   587 	test_KErrNone(r);
   580 	CheckFileExists(_L("\\F32-TST\\asdf"),KErrNone,EFalse);
   588 	CheckFileExists(_L("\\F32-TST\\asdf"),KErrNone,EFalse);
   581 	CheckFileExists(_L("\\F32-TST\\Asdf"),KErrNone,ETrue);
   589 	CheckFileExists(_L("\\F32-TST\\Asdf"),KErrNone,ETrue);
   582 
   590 
   583 	TBuf<4> shortName;
   591 	TBuf<4> shortName;
   584 	shortName.SetLength(1);
   592 	shortName.SetLength(1);
   585 	shortName[0]=0xff;
   593 	shortName[0]=0xff;
   586 	r=TheFs.Rename(_L("\\F32-TST\\asdf"),shortName);
   594 	r=TheFs.Rename(_L("\\F32-TST\\asdf"),shortName);
   587 	test(r==KErrNone);
   595 	test_KErrNone(r);
   588 	r=TheFs.Delete(_L("\\F32-TST\\Asdf"));
   596 	r=TheFs.Delete(_L("\\F32-TST\\Asdf"));
   589 	test(r==KErrNotFound);
   597 	test_Value(r, r == KErrNotFound);
   590 	r=TheFs.Delete(shortName);
   598 	r=TheFs.Delete(shortName);
   591 	test(r==KErrNone);
   599 	test_KErrNone(r);
   592 	}
   600 	}
   593 
   601 
   594 LOCAL_C void testMaxNameLength()
   602 LOCAL_C void testMaxNameLength()
   595 //
   603 //
   596 // Create files and directories with the maximum name length
   604 // Create files and directories with the maximum name length
   605 	longName.Append(_L("\\"));
   613 	longName.Append(_L("\\"));
   606 	longName.Append(longNameBase);
   614 	longName.Append(longNameBase);
   607 	longName.Append(_L("\\"));
   615 	longName.Append(_L("\\"));
   608 
   616 
   609 	TInt r=TheFs.MkDirAll(longName);
   617 	TInt r=TheFs.MkDirAll(longName);
   610 	test(r==KErrNone);
   618 	test_KErrNone(r);
   611 
   619 
   612 	TInt i=0;
   620 	TInt i=0;
   613 	FOREVER
   621 	FOREVER
   614 		{
   622 		{
   615 		longName.Append(_L("X"));
   623 		longName.Append(_L("X"));
   620 		i++;
   628 		i++;
   621 		}
   629 		}
   622 	
   630 	
   623 	longName.SetLength(longName.Length()-2);
   631 	longName.SetLength(longName.Length()-2);
   624 	r=TheFs.RmDir(longName);
   632 	r=TheFs.RmDir(longName);
   625 	test(r==KErrNone); // Make room for file
   633 	test_KErrNone(r); // Make room for file
   626 	longName.SetLength(longName.Length()-2);
   634 	longName.SetLength(longName.Length()-2);
   627 
   635 
   628 	TFullName oldSessionPath;
   636 	TFullName oldSessionPath;
   629 	r=TheFs.SessionPath(oldSessionPath);
   637 	r=TheFs.SessionPath(oldSessionPath);
   630 	test(r==KErrNone);
   638 	test_KErrNone(r);
   631 	r=TheFs.SetSessionPath(longName);
   639 	r=TheFs.SetSessionPath(longName);
   632 	test(r==KErrNone);
   640 	test_KErrNone(r);
   633 	r=TheFs.SessionPath(longName);
   641 	r=TheFs.SessionPath(longName);
   634 	test(r==KErrNone);
   642 	test_KErrNone(r);
   635 
   643 
   636 	test.Printf(_L("MaxPathLength achieved = %d chars\n"),longName.Length());
   644 	test.Printf(_L("MaxPathLength achieved = %d chars\n"),longName.Length());
   637 	TBuf<32> fileName=_L("012345678901234567890");
   645 	TBuf<32> fileName=_L("012345678901234567890");
   638 	RFile f;
   646 	RFile f;
   639 	while (fileName.Length())
   647 	while (fileName.Length())
   645 		}
   653 		}
   646 	
   654 	
   647 	f.Close();
   655 	f.Close();
   648 	test.Printf(_L("Added filename %S\n"),&fileName);
   656 	test.Printf(_L("Added filename %S\n"),&fileName);
   649 	r=f.Open(TheFs,fileName,EFileRead);
   657 	r=f.Open(TheFs,fileName,EFileRead);
   650 	test(r==KErrNone);
   658 	test_KErrNone(r);
   651 	f.Close();
   659 	f.Close();
   652 
   660 
   653 	CFileMan* fMan=CFileMan::NewL(TheFs);
   661 	CFileMan* fMan=CFileMan::NewL(TheFs);
   654 	r=fMan->RmDir(_L("\\F32-TST\\MAXNAMELEN\\"));
   662 	r=fMan->RmDir(_L("\\F32-TST\\MAXNAMELEN\\"));
   655 	test(r==KErrNone);
   663 	test_KErrNone(r);
   656 	delete fMan;
   664 	delete fMan;
   657 
   665 
   658 	r=f.Open(TheFs,fileName,EFileRead);
   666 	r=f.Open(TheFs,fileName,EFileRead);
   659 	test(r==KErrPathNotFound);
   667 	test_Value(r, r == KErrPathNotFound);
   660 	r=TheFs.SetSessionPath(oldSessionPath);
   668 	r=TheFs.SetSessionPath(oldSessionPath);
   661 	test(r==KErrNone);
   669 	test_KErrNone(r);
   662 	}
   670 	}
   663 
   671 
   664 LOCAL_C void testErrorReturnValues()
   672 LOCAL_C void testErrorReturnValues()
   665 //
   673 //
   666 // Test error return values
   674 // Test error return values
   671 	test.Next(_L("Create folder with the name of an existing file"));
   679 	test.Next(_L("Create folder with the name of an existing file"));
   672 	MakeFile(_L("\\BLUE"));
   680 	MakeFile(_L("\\BLUE"));
   673     if (!IsTestingLFFS())
   681     if (!IsTestingLFFS())
   674         { //FIXME: Bad error codes from LFFS
   682         { //FIXME: Bad error codes from LFFS
   675 	    r=TheFs.MkDir(_L("\\BLUE\\"));
   683 	    r=TheFs.MkDir(_L("\\BLUE\\"));
   676         test(r==KErrAccessDenied);
   684         test_Value(r, r == KErrAccessDenied);
   677         MakeFile(_L("\\RED\\BLUE"));
   685         MakeFile(_L("\\RED\\BLUE"));
   678         r=TheFs.MkDir(_L("\\RED\\BLUE\\"));
   686         r=TheFs.MkDir(_L("\\RED\\BLUE\\"));
   679         test(r==KErrAccessDenied);
   687         test_Value(r, r == KErrAccessDenied);
   680         r=TheFs.MkDirAll(_L("\\BLUE\\GREEN\\ORANGE\\"));
   688         r=TheFs.MkDirAll(_L("\\BLUE\\GREEN\\ORANGE\\"));
   681         test(r==KErrAccessDenied);
   689         test_Value(r, r == KErrAccessDenied);
   682         }
   690         }
   683 
   691 
   684 	test.Next(_L("Create folder with the name of an existing folder"));
   692 	test.Next(_L("Create folder with the name of an existing folder"));
   685 	MakeDir(_L("\\VOLVO\\"));
   693 	MakeDir(_L("\\VOLVO\\"));
   686 	r=TheFs.MkDir(_L("\\VOLVO\\"));
   694 	r=TheFs.MkDir(_L("\\VOLVO\\"));
   687 	test(r==KErrAlreadyExists);
   695 	test_Value(r, r == KErrAlreadyExists);
   688 	MakeDir(_L("\\FORD\\VOLKSWAGEN\\"));
   696 	MakeDir(_L("\\FORD\\VOLKSWAGEN\\"));
   689 	r=TheFs.MkDirAll(_L("\\ford\\volkswagen\\"));
   697 	r=TheFs.MkDirAll(_L("\\ford\\volkswagen\\"));
   690 	test(r==KErrAlreadyExists);
   698 	test_Value(r, r == KErrAlreadyExists);
   691 
   699 
   692 	RFile f;
   700 	RFile f;
   693     if (!IsTestingLFFS())
   701     if (!IsTestingLFFS())
   694         { //FIXME Bad error codes from LFFS
   702         { //FIXME Bad error codes from LFFS
   695 	    test.Next(_L("Create a file with the name of an existing folder"));
   703 	    test.Next(_L("Create a file with the name of an existing folder"));
   696 	    r=f.Create(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite);
   704 	    r=f.Create(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite);
   697 	    test(r==KErrAccessDenied);
   705 	    test_Value(r, r == KErrAccessDenied);
   698 	    r=f.Replace(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite);
   706 	    r=f.Replace(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite);
   699 	    test(r==KErrAccessDenied);
   707 	    test_Value(r, r == KErrAccessDenied);
   700 	    r=f.Open(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite);
   708 	    r=f.Open(TheFs,_L("\\VOLVO"),EFileRead|EFileWrite);
   701 	    test(r==KErrAccessDenied);
   709 	    test_Value(r, r == KErrAccessDenied);
   702 	    r=f.Create(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite);
   710 	    r=f.Create(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite);
   703 	    test(r==KErrAccessDenied);
   711 	    test_Value(r, r == KErrAccessDenied);
   704 	    r=f.Replace(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite);
   712 	    r=f.Replace(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite);
   705 	    test(r==KErrAccessDenied);
   713 	    test_Value(r, r == KErrAccessDenied);
   706 	    r=f.Open(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite);
   714 	    r=f.Open(TheFs,_L("\\FORD\\VOLKSWAGEN"),EFileRead|EFileWrite);
   707 	    test(r==KErrAccessDenied);
   715 	    test_Value(r, r == KErrAccessDenied);
   708         }
   716         }
   709 
   717 
   710 	test.Next(_L("Create a file with the name of an existing file"));
   718 	test.Next(_L("Create a file with the name of an existing file"));
   711 	r=f.Create(TheFs,_L("\\BLUE"),EFileRead|EFileWrite);
   719 	r=f.Create(TheFs,_L("\\BLUE"),EFileRead|EFileWrite);
   712 	test(r==KErrAlreadyExists);
   720 	test_Value(r, r == KErrAlreadyExists);
   713 	}
   721 	}
   714 
   722 
   715 LOCAL_C void testSetEntry()
   723 LOCAL_C void testSetEntry()
   716 //
   724 //
   717 // Test set entry
   725 // Test set entry
   724 	TTime time(dateTime);
   732 	TTime time(dateTime);
   725 	MakeFile(_L("DUMENTRY."));
   733 	MakeFile(_L("DUMENTRY."));
   726 	
   734 	
   727 	RFile f;
   735 	RFile f;
   728 	TInt r=f.Open(TheFs,_L("dumentry"),EFileRead);
   736 	TInt r=f.Open(TheFs,_L("dumentry"),EFileRead);
   729 	test(r==KErrNone);
   737 	test_KErrNone(r);
   730 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive);
   738 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive);
   731 	test(r==KErrInUse);
   739 	test_Value(r, r == KErrInUse);
   732 	f.Close();
   740 	f.Close();
   733 	
   741 	
   734 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive);
   742 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttReadOnly,KEntryAttArchive);
   735 	test(r==KErrNone);
   743 	test_KErrNone(r);
   736 	CheckEntry(_L("DUMEntry"),KEntryAttReadOnly,TTime(dateTime));
   744 	CheckEntry(_L("DUMEntry"),KEntryAttReadOnly,TTime(dateTime));
   737 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttReadOnly);
   745 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttReadOnly);
   738 	test(r==KErrNone);
   746 	test_KErrNone(r);
   739 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   747 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   740 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,0);
   748 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,0);
   741 	test(r==KErrNone);
   749 	test_KErrNone(r);
   742 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   750 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   743 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,0);
   751 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,0);
   744 	test(r==KErrNone);
   752 	test_KErrNone(r);
   745 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   753 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   746 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,0);
   754 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,0);
   747 	test(r==KErrNone);
   755 	test_KErrNone(r);
   748 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   756 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   749 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume,0);
   757 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume,0);
   750 	test(r==KErrNone);
   758 	test_KErrNone(r);
   751 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   759 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   752 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttRemote,0);
   760 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttRemote,0);
   753 	test(r==KErrNone);
   761 	test_KErrNone(r);
   754 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   762 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   755 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume|KEntryAttRemote,0);
   763 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume|KEntryAttRemote,0);
   756 	test(r==KErrNone);
   764 	test_KErrNone(r);
   757 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   765 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   758 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume|KEntryAttRemote,0);
   766 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir|KEntryAttVolume|KEntryAttRemote,0);
   759 	test(r==KErrNone);
   767 	test_KErrNone(r);
   760 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   768 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   761 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir);
   769 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir);
   762 	test(r==KErrNone);
   770 	test_KErrNone(r);
   763 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   771 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   764 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume);
   772 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume);
   765 	test(r==KErrNone);
   773 	test_KErrNone(r);
   766 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   774 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   767 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttRemote);
   775 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttRemote);
   768 	test(r==KErrNone);
   776 	test_KErrNone(r);
   769 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   777 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   770 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume);
   778 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume);
   771 	test(r==KErrNone);
   779 	test_KErrNone(r);
   772 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   780 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   773 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttRemote);
   781 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttRemote);
   774 	test(r==KErrNone);
   782 	test_KErrNone(r);
   775 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   783 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   776 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume|KEntryAttRemote);
   784 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttVolume|KEntryAttRemote);
   777 	test(r==KErrNone);
   785 	test_KErrNone(r);
   778 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   786 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   779 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume|KEntryAttRemote);
   787 	r=TheFs.SetEntry(_L("dumentry."),time,0,KEntryAttDir|KEntryAttVolume|KEntryAttRemote);
   780 	test(r==KErrNone);
   788 	test_KErrNone(r);
   781 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   789 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   782 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttVolume);
   790 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttVolume);
   783 	test(r==KErrNone);
   791 	test_KErrNone(r);
   784 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   792 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   785 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttRemote);
   793 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttDir,KEntryAttRemote);
   786 	test(r==KErrNone);
   794 	test_KErrNone(r);
   787 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));	
   795 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));	
   788 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttDir);
   796 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttDir);
   789 	test(r==KErrNone);
   797 	test_KErrNone(r);
   790 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   798 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   791 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttRemote);
   799 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttVolume,KEntryAttRemote);
   792 	test(r==KErrNone);
   800 	test_KErrNone(r);
   793 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   801 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   794 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttDir);
   802 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttDir);
   795 	test(r==KErrNone);
   803 	test_KErrNone(r);
   796 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   804 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   797 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttVolume);
   805 	r=TheFs.SetEntry(_L("dumentry."),time,KEntryAttRemote,KEntryAttVolume);
   798 	test(r==KErrNone);
   806 	test_KErrNone(r);
   799 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   807 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   800 
   808 
   801 	r=f.Open(TheFs,_L("dumentry"),EFileWrite);
   809 	r=f.Open(TheFs,_L("dumentry"),EFileWrite);
   802 	test(r==KErrNone);	
   810 	test_KErrNone(r);	
   803 
   811 
   804 	r=f.SetAtt(KEntryAttDir,0);
   812 	r=f.SetAtt(KEntryAttDir,0);
   805 	test(r==KErrNone);
   813 	test_KErrNone(r);
   806 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   814 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   807 	r=f.SetAtt(KEntryAttVolume,KEntryAttDir);
   815 	r=f.SetAtt(KEntryAttVolume,KEntryAttDir);
   808 	test(r==KErrNone);
   816 	test_KErrNone(r);
   809 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   817 	CheckEntry(_L("DUMEntry"),0,TTime(dateTime));
   810 	f.Close();
   818 	f.Close();
   811 	r=TheFs.Delete(_L("dumEntry."));
   819 	r=TheFs.Delete(_L("dumEntry."));
   812 	test(r==KErrNone);
   820 	test_KErrNone(r);
   813 
   821 
   814 	MakeDir(_L("\\DumEntry\\"));
   822 	MakeDir(_L("\\DumEntry\\"));
   815 	r=TheFs.SetEntry(_L("\\dumentry\\"),time,KEntryAttReadOnly,KEntryAttArchive);
   823 	r=TheFs.SetEntry(_L("\\dumentry\\"),time,KEntryAttReadOnly,KEntryAttArchive);
   816 	test(r==KErrNone);
   824 	test_KErrNone(r);
   817 	CheckEntry(_L("\\DUMEntry"),KEntryAttReadOnly|KEntryAttDir,TTime(dateTime));
   825 	CheckEntry(_L("\\DUMEntry"),KEntryAttReadOnly|KEntryAttDir,TTime(dateTime));
   818 	r=TheFs.SetEntry(_L("\\dumentry."),time,0,KEntryAttReadOnly);
   826 	r=TheFs.SetEntry(_L("\\dumentry."),time,0,KEntryAttReadOnly);
   819 	test(r==KErrNone);
   827 	test_KErrNone(r);
   820 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   828 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   821 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,0);
   829 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,0);
   822 	test(r==KErrNone);
   830 	test_KErrNone(r);
   823 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   831 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   824 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,0);
   832 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,0);
   825 	test(r==KErrNone);
   833 	test_KErrNone(r);
   826 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   834 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   827 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume|KEntryAttDir,0);
   835 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume|KEntryAttDir,0);
   828 	test(r==KErrNone);
   836 	test_KErrNone(r);
   829 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   837 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   830 	r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume|KEntryAttDir);
   838 	r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume|KEntryAttDir);
   831 	test(r==KErrNone);
   839 	test_KErrNone(r);
   832 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   840 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   833 	r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume);
   841 	r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttVolume);
   834 	test(r==KErrNone);
   842 	test_KErrNone(r);
   835 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   843 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   836 	r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttDir);
   844 	r=TheFs.SetEntry(_L("\\dumentry"),time,0,KEntryAttDir);
   837 	test(r==KErrNone);
   845 	test_KErrNone(r);
   838 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   846 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   839 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,KEntryAttDir);
   847 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttVolume,KEntryAttDir);
   840 	test(r==KErrNone);
   848 	test_KErrNone(r);
   841 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   849 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   842 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,KEntryAttVolume);
   850 	r=TheFs.SetEntry(_L("\\dumentry"),time,KEntryAttDir,KEntryAttVolume);
   843 	test(r==KErrNone);
   851 	test_KErrNone(r);
   844 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   852 	CheckEntry(_L("\\DUMEntry"),KEntryAttDir,TTime(dateTime));
   845 	r=TheFs.RmDir(_L("\\dumEntry\\"));
   853 	r=TheFs.RmDir(_L("\\dumEntry\\"));
   846 	test(r==KErrNone);
   854 	test_KErrNone(r);
   847 	}
   855 	}
   848 
   856 
   849 	
   857 	
   850 LOCAL_C void testSetFileAttributes()
   858 LOCAL_C void testSetFileAttributes()
   851 //
   859 //
   857 	test.Next(_L("Test RFile::SetAtt()"));
   865 	test.Next(_L("Test RFile::SetAtt()"));
   858 
   866 
   859 //	Create a file "TEMPFILE.TMP" and set attributes to hidden	
   867 //	Create a file "TEMPFILE.TMP" and set attributes to hidden	
   860 	RFile file;
   868 	RFile file;
   861 	TInt r=file.Replace(TheFs,_L("TEMPFILE.TMP"),0);
   869 	TInt r=file.Replace(TheFs,_L("TEMPFILE.TMP"),0);
   862 	test(r==KErrNone || r==KErrPathNotFound);	
   870 	test_Value(r, r == KErrNone || r==KErrPathNotFound);	
   863 	r=file.SetAtt(KEntryAttHidden,0);
   871 	r=file.SetAtt(KEntryAttHidden,0);
   864 	test(r==KErrNone);
   872 	test_KErrNone(r);
   865 	file.Close();
   873 	file.Close();
   866 
   874 
   867 //	Check attributes are as set
   875 //	Check attributes are as set
   868 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   876 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   869 	TUint atts;
   877 	TUint atts;
   870 	r=file.Att(atts);
   878 	r=file.Att(atts);
   871 	test(r==KErrNone);
   879 	test_KErrNone(r);
   872 	file.Close();
   880 	file.Close();
   873 	test(atts&KEntryAttHidden);
   881 	test(atts&KEntryAttHidden);
   874 
   882 
   875 //	Change attributes from hidden to system	
   883 //	Change attributes from hidden to system	
   876 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   884 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   877 	r=file.SetAtt(KEntryAttSystem,KEntryAttHidden);
   885 	r=file.SetAtt(KEntryAttSystem,KEntryAttHidden);
   878 	test(r==KErrNone);
   886 	test_KErrNone(r);
   879 	file.Close();
   887 	file.Close();
   880 
   888 
   881 //	Check attributes have been changed
   889 //	Check attributes have been changed
   882 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   890 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   883 	r=file.Att(atts);
   891 	r=file.Att(atts);
   884 	test(r==KErrNone);
   892 	test_KErrNone(r);
   885 	file.Close();
   893 	file.Close();
   886 	test(atts&KEntryAttSystem);
   894 	test_Value((TInt)atts, atts&KEntryAttSystem);
   887 
   895 
   888 //	Change attributes to normal
   896 //	Change attributes to normal
   889 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   897 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   890 	r=file.SetAtt(KEntryAttNormal,KEntryAttSystem|KEntryAttArchive);
   898 	r=file.SetAtt(KEntryAttNormal,KEntryAttSystem|KEntryAttArchive);
   891 	test(r==KErrNone);
   899 	test_KErrNone(r);
   892 	file.Close();
   900 	file.Close();
   893 
   901 
   894 //	Check attributes have been changed
   902 //	Check attributes have been changed
   895 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   903 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   896 	r=file.Att(atts);
   904 	r=file.Att(atts);
   897 	test(r==KErrNone);
   905 	test_KErrNone(r);
   898 	file.Close();
   906 	file.Close();
   899 	test(atts==KEntryAttNormal);
   907 	test_Value((TInt)atts, atts==KEntryAttNormal);
   900 
   908 
   901 //	Attempt to change attributes from normal file to directory	
   909 //	Attempt to change attributes from normal file to directory	
   902 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   910 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   903 	r=file.SetAtt(KEntryAttDir,KEntryAttNormal);
   911 	r=file.SetAtt(KEntryAttDir,KEntryAttNormal);
   904 	test(r==KErrNone);	//	Returns KErrNone but DOESN'T change the file to a directory
   912 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a directory
   905 	file.Close();
   913 	file.Close();
   906 
   914 
   907 //	Check the file has not been changed to a directory
   915 //	Check the file has not been changed to a directory
   908 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   916 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   909 	r=file.Att(atts);
   917 	r=file.Att(atts);
   910 	test(r==KErrNone);
   918 	test_KErrNone(r);
   911 	file.Close();
   919 	file.Close();
   912 	test((TInt)(atts&KEntryAttDir)==KErrNone);
   920 	test_Value((TInt)atts, (TInt)(atts&KEntryAttDir)==KErrNone);
   913 
   921 
   914 //	Change the attributes from normal file to hidden file
   922 //	Change the attributes from normal file to hidden file
   915 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   923 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   916 	r=file.SetAtt(KEntryAttHidden,KEntryAttNormal);
   924 	r=file.SetAtt(KEntryAttHidden,KEntryAttNormal);
   917 	test(r==KErrNone);
   925 	test_KErrNone(r);
   918 	file.Close();
   926 	file.Close();
   919 
   927 
   920 //	Check the attributes have been changed
   928 //	Check the attributes have been changed
   921 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   929 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   922 	r=file.Att(atts);
   930 	r=file.Att(atts);
   923 	test(r==KErrNone);
   931 	test_KErrNone(r);
   924 	file.Close();
   932 	file.Close();
   925 	test(atts&KEntryAttHidden);
   933 	test_Value((TInt)atts, atts&KEntryAttHidden);
   926 
   934 
   927 //	Try to change the attributes from hidden file to volume	
   935 //	Try to change the attributes from hidden file to volume	
   928 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   936 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   929 	r=file.SetAtt(KEntryAttVolume,KEntryAttHidden);
   937 	r=file.SetAtt(KEntryAttVolume,KEntryAttHidden);
   930 	test(r==KErrNone);	//	Returns KErrNone but DOESN'T change the file to a volume
   938 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a volume
   931 	file.Close();
   939 	file.Close();
   932 
   940 
   933 //	Check that the hidden file has not been changed to a volume
   941 //	Check that the hidden file has not been changed to a volume
   934 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   942 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   935 	r=file.Att(atts);
   943 	r=file.Att(atts);
   936 	test(r==KErrNone);
   944 	test_KErrNone(r);
   937 	file.Close();
   945 	file.Close();
   938 	test((TInt)(atts&KEntryAttVolume)==KErrNone);
   946 	test_Value((TInt)atts, (TInt)(atts&KEntryAttVolume)==KErrNone);
   939 
   947 
   940 //	Test RFile::Set() function	
   948 //	Test RFile::Set() function	
   941 	
   949 	
   942 	test.Next(_L("Test RFile::Set()"));	
   950 	test.Next(_L("Test RFile::Set()"));	
   943 
   951 
   944 //	Check attributes 
   952 //	Check attributes 
   945 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   953 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   946 	r=file.Att(atts);
   954 	r=file.Att(atts);
   947 	test(r==KErrNone);
   955 	test_KErrNone(r);
   948 	file.Close();
   956 	file.Close();
   949 	test(atts==KEntryAttNormal);
   957 	test_Value((TInt)atts, atts==KEntryAttNormal);
   950 
   958 
   951 //	Change attributes from hidden to system	- and change modification time
   959 //	Change attributes from hidden to system	- and change modification time
   952 	TDateTime dateTime(1998,EMay,25,18,23,0,0);
   960 	TDateTime dateTime(1998,EMay,25,18,23,0,0);
   953 	TTime modTime1(dateTime);
   961 	TTime modTime1(dateTime);
   954 	TTime retTime;
   962 	TTime retTime;
   955 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   963 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   956 	r=file.Set(modTime1,KEntryAttSystem,KEntryAttNormal);
   964 	r=file.Set(modTime1,KEntryAttSystem,KEntryAttNormal);
   957 	test(r==KErrNone);
   965 	test_KErrNone(r);
   958 	file.Close();
   966 	file.Close();
   959 
   967 
   960 //	Check attributes have been changed
   968 //	Check attributes have been changed
   961 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   969 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   962 	r=file.Att(atts);
   970 	r=file.Att(atts);
   963 	test(r==KErrNone);
   971 	test_KErrNone(r);
   964 	r=file.Modified(retTime);
   972 	r=file.Modified(retTime);
   965 	test(r==KErrNone);
   973 	test_KErrNone(r);
   966 	file.Close();
   974 	file.Close();
   967 	test(atts&KEntryAttSystem);
   975 	test_Value((TInt)atts, atts&KEntryAttSystem);
   968 	test(retTime==modTime1);
   976 	test(retTime==modTime1);
   969 
   977 
   970 //	Change attributes to normal - and change modification time
   978 //	Change attributes to normal - and change modification time
   971 	dateTime.Set(1997,EMay,24,17,25,0,0);
   979 	dateTime.Set(1997,EMay,24,17,25,0,0);
   972 	TTime modTime2(dateTime);
   980 	TTime modTime2(dateTime);
   973 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   981 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   974 	r=file.Set(modTime2,KEntryAttNormal,KEntryAttSystem|KEntryAttArchive);
   982 	r=file.Set(modTime2,KEntryAttNormal,KEntryAttSystem|KEntryAttArchive);
   975 	test(r==KErrNone);
   983 	test_KErrNone(r);
   976 	file.Close();
   984 	file.Close();
   977 
   985 
   978 //	Check attributes have been changed
   986 //	Check attributes have been changed
   979 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   987 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   980 	r=file.Att(atts);
   988 	r=file.Att(atts);
   981 	test(r==KErrNone);
   989 	test_KErrNone(r);
   982 	r=file.Modified(retTime);
   990 	r=file.Modified(retTime);
   983 	test(r==KErrNone);
   991 	test_KErrNone(r);
   984 	file.Close();
   992 	file.Close();
   985 	test(atts==KEntryAttNormal);
   993 	test_Value((TInt)atts, atts==KEntryAttNormal);
   986 	test(retTime==modTime2);
   994 	test(retTime==modTime2);
   987 
   995 
   988 //	Attempt to change attributes from normal file to directory	
   996 //	Attempt to change attributes from normal file to directory	
   989 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   997 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   990 	r=file.Set(modTime1,KEntryAttDir,KEntryAttNormal);
   998 	r=file.Set(modTime1,KEntryAttDir,KEntryAttNormal);
   991 	test(r==KErrNone);	//	Returns KErrNone but DOESN'T change the file to a directory
   999 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a directory
   992 	file.Close();
  1000 	file.Close();
   993 
  1001 
   994 //	Check the file has not been changed to a directory
  1002 //	Check the file has not been changed to a directory
   995 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1003 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
   996 	r=file.Att(atts);
  1004 	r=file.Att(atts);
   997 	test(r==KErrNone);
  1005 	test_KErrNone(r);
   998 	r=file.Modified(retTime);
  1006 	r=file.Modified(retTime);
   999 	test(r==KErrNone);
  1007 	test_KErrNone(r);
  1000 	file.Close();
  1008 	file.Close();
  1001 	test((TInt)(atts&KEntryAttDir)==KErrNone);
  1009 	test_Value((TInt)atts, (TInt)(atts&KEntryAttDir)==KErrNone);
  1002 	test(retTime==modTime1);//	Modification time should have been set successfully
  1010 	test(retTime==modTime1);//	Modification time should have been set successfully
  1003 
  1011 
  1004 //	Change the attributes from normal file to hidden file - and change modification time
  1012 //	Change the attributes from normal file to hidden file - and change modification time
  1005 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1013 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1006 	r=file.Set(modTime1,KEntryAttHidden,KEntryAttNormal);
  1014 	r=file.Set(modTime1,KEntryAttHidden,KEntryAttNormal);
  1007 	test(r==KErrNone);
  1015 	test_KErrNone(r);
  1008 	file.Close();
  1016 	file.Close();
  1009 
  1017 
  1010 //	Check the attributes have been changed
  1018 //	Check the attributes have been changed
  1011 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1019 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1012 	r=file.Att(atts);
  1020 	r=file.Att(atts);
  1013 	test(r==KErrNone);
  1021 	test_KErrNone(r);
  1014 	r=file.Modified(retTime);
  1022 	r=file.Modified(retTime);
  1015 	file.Close();
  1023 	file.Close();
  1016 	test(atts&KEntryAttHidden);
  1024 	test_Value((TInt)atts, atts&KEntryAttHidden);
  1017 	test(retTime==modTime1);
  1025 	test(retTime==modTime1);
  1018 
  1026 
  1019 //	Try to change the attributes from hidden file to volume	
  1027 //	Try to change the attributes from hidden file to volume	
  1020 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1028 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1021 	r=file.Set(modTime2,KEntryAttVolume,KEntryAttHidden);
  1029 	r=file.Set(modTime2,KEntryAttVolume,KEntryAttHidden);
  1022 	test(r==KErrNone);	//	Returns KErrNone but DOESN'T change the file to a volume
  1030 	test_KErrNone(r);	//	Returns KErrNone but DOESN'T change the file to a volume
  1023 	file.Close();
  1031 	file.Close();
  1024 
  1032 
  1025 //	Check that the hidden file has not been changed to a volume
  1033 //	Check that the hidden file has not been changed to a volume
  1026 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1034 	file.Open(TheFs,_L("TEMPFILE.TMP"),EFileWrite);
  1027 	r=file.Att(atts);
  1035 	r=file.Att(atts);
  1028 	test(r==KErrNone);
  1036 	test_KErrNone(r);
  1029 	r=file.Modified(retTime);
  1037 	r=file.Modified(retTime);
  1030 	test(r==KErrNone);
  1038 	test_KErrNone(r);
  1031 	file.Close();
  1039 	file.Close();
  1032 	test((TInt)(atts&KEntryAttVolume)==KErrNone);
  1040 	test_Value((TInt)atts, (TInt)(atts&KEntryAttVolume)==KErrNone);
  1033 	test(retTime==modTime2);	//	Modification time should have been set successfully
  1041 	test(retTime==modTime2);	//	Modification time should have been set successfully
  1034 	
  1042 	
  1035 	r=TheFs.Delete(_L("TEMPFILE.TMP"));
  1043 	r=TheFs.Delete(_L("TEMPFILE.TMP"));
  1036 	
  1044 	
  1037 	}	
  1045 	}