19 #include "SqlSrvStartup.h" |
19 #include "SqlSrvStartup.h" |
20 #include "SqlSrvUtil.h" |
20 #include "SqlSrvUtil.h" |
21 |
21 |
22 _LIT(KCfgDb1ConfigFilePath, "c:\\private\\10281e17\\cfg[10281E17]t_sqlstartup1.db.02"); // config file version 2 for t_sqlstartup1.db |
22 _LIT(KCfgDb1ConfigFilePath, "c:\\private\\10281e17\\cfg[10281E17]t_sqlstartup1.db.02"); // config file version 2 for t_sqlstartup1.db |
23 _LIT(KCfgDb2ConfigFilePath, "c:\\private\\10281e17\\cfg[10281E17]t_sqlstartup2.db.05"); // config file version 5 for t_sqlstartup2.db |
23 _LIT(KCfgDb2ConfigFilePath, "c:\\private\\10281e17\\cfg[10281E17]t_sqlstartup2.db.05"); // config file version 5 for t_sqlstartup2.db |
|
24 |
|
25 //This subdir is created by t_sqlenvcreate app. It should not be returned in the list of files for backup. |
|
26 _LIT(KPrivateSubDir, "c:\\private\\10281e17\\TestDir.db"); |
24 |
27 |
25 /////////////////////////////////////////////////////////////////////////////////////// |
28 /////////////////////////////////////////////////////////////////////////////////////// |
26 |
29 |
27 RTest TheTest(_L("t_sqlstartup test")); |
30 RTest TheTest(_L("t_sqlstartup test")); |
28 |
31 |
187 TheTest.Printf(_L(" %d"), ++failingAllocationNo); |
190 TheTest.Printf(_L(" %d"), ++failingAllocationNo); |
188 OomPreStep(failingAllocationNo); |
191 OomPreStep(failingAllocationNo); |
189 const TUid KDbUd = {0x98765432}; |
192 const TUid KDbUd = {0x98765432}; |
190 RArray<TParse> files; |
193 RArray<TParse> files; |
191 TRAP(err, server->GetBackUpListL(KDbUd, files)); |
194 TRAP(err, server->GetBackUpListL(KDbUd, files)); |
192 fileCnt = files.Count(); |
195 fileCnt = files.Count(); |
|
196 if(err == KErrNone) |
|
197 { |
|
198 //No directories should be returned in the list of files for backup |
|
199 for(TInt i=0;i<fileCnt;++i) |
|
200 { |
|
201 const TParse& parse = files[i]; |
|
202 TPtrC fname = parse.FullName(); |
|
203 TInt rc = KPrivateSubDir().CompareF(parse.FullName()); |
|
204 TEST(rc != 0); |
|
205 } |
|
206 } |
193 files.Close(); |
207 files.Close(); |
194 OomPostStep(); |
208 OomPostStep(); |
195 } |
209 } |
196 |
210 |
197 delete server; |
211 delete server; |
219 |
233 |
220 for(TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError) |
234 for(TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError) |
221 { |
235 { |
222 TheTest.Printf(_L("===Simulated error: %d\r\nIteration: "), fsError); |
236 TheTest.Printf(_L("===Simulated error: %d\r\nIteration: "), fsError); |
223 err = KErrNotFound; |
237 err = KErrNotFound; |
224 TInt cnt=1; |
238 TInt cnt=0; |
225 while(err<KErrNone) |
239 while(err<KErrNone) |
226 { |
240 { |
227 TheTest.Printf(_L("%d "), cnt); |
241 TheTest.Printf(_L("%d "), cnt); |
228 (void)fs.SetErrorCondition(fsError, cnt); |
242 (void)fs.SetErrorCondition(fsError, cnt); |
229 TRAP(err, CreateAndDestroySqlServerL()); |
243 TRAP(err, CreateAndDestroySqlServerL()); |
257 for(TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError) |
271 for(TInt fsError=KErrNotFound;fsError>=KErrBadName;--fsError) |
258 { |
272 { |
259 TheTest.Printf(_L("===Simulated error: %d\r\nIteration: "), fsError); |
273 TheTest.Printf(_L("===Simulated error: %d\r\nIteration: "), fsError); |
260 err = KErrNotFound; |
274 err = KErrNotFound; |
261 TInt fileCnt = 0; |
275 TInt fileCnt = 0; |
262 TInt cnt=1; |
276 TInt cnt=0; |
263 while(err<KErrNone) |
277 while(err<KErrNone) |
264 { |
278 { |
265 TheTest.Printf(_L("%d "), cnt); |
279 TheTest.Printf(_L("%d "), cnt); |
266 (void)server->Fs().SetErrorCondition(fsError, cnt); |
280 (void)server->Fs().SetErrorCondition(fsError, cnt); |
267 const TUid KDbUd = {0x98765432}; |
281 const TUid KDbUd = {0x98765432}; |
268 RArray<TParse> files; |
282 RArray<TParse> files; |
269 TRAP(err, server->GetBackUpListL(KDbUd, files)); |
283 TRAP(err, server->GetBackUpListL(KDbUd, files)); |
270 fileCnt = files.Count(); |
284 fileCnt = files.Count(); |
|
285 if(err == KErrNone) |
|
286 { |
|
287 //No directories should be returned in the list of files for backup |
|
288 for(TInt i=0;i<fileCnt;++i) |
|
289 { |
|
290 const TParse& parse = files[i]; |
|
291 TPtrC fname = parse.FullName(); |
|
292 TInt rc = KPrivateSubDir().CompareF(parse.FullName()); |
|
293 TEST(rc != 0); |
|
294 } |
|
295 } |
271 files.Close(); |
296 files.Close(); |
272 (void)server->Fs().SetErrorCondition(KErrNone); |
297 (void)server->Fs().SetErrorCondition(KErrNone); |
273 if(err != KErrNone) |
298 if(err != KErrNone) |
274 { |
299 { |
275 ++cnt; |
300 ++cnt; |
304 name2.SetLength(2); |
329 name2.SetLength(2); |
305 name2[0] = TChar(0xD800); |
330 name2[0] = TChar(0xD800); |
306 name2[1] = TChar(0xFC00); |
331 name2[1] = TChar(0xFC00); |
307 rc = UTF16ToUTF8(name2, bufout); |
332 rc = UTF16ToUTF8(name2, bufout); |
308 TEST(!rc); |
333 TEST(!rc); |
309 #ifndef _DEBUG |
|
310 //Test where the input buffer is too big |
|
311 TBuf<KMaxFileName + 1> bufin; |
|
312 bufin.SetLength(bufin.MaxLength()); |
|
313 rc = UTF16ToUTF8(bufin, bufout); |
|
314 TEST(!rc); |
|
315 //Test where the output buffer max length is less than KMaxFileName |
|
316 TBuf8<KMaxFileName / 2> bufout2; |
|
317 rc = UTF16ToUTF8(name2, bufout2); |
|
318 TEST(!rc); |
|
319 #endif |
|
320 ///////// UTF16ToUTF8Z() /////////////////////// |
334 ///////// UTF16ToUTF8Z() /////////////////////// |
321 _LIT8(KStr8Z, "abcd\x0"); |
335 _LIT8(KStr8Z, "abcd\x0"); |
322 rc = UTF16ToUTF8Z(KStr16, bufout); |
336 rc = UTF16ToUTF8Z(KStr16, bufout); |
323 TEST(rc); |
337 TEST(rc); |
324 TEST(bufout == KStr8Z); |
338 TEST(bufout == KStr8Z); |