diff -r 28839de615b4 -r 26645d81f48d persistentstorage/dbms/tdbms/t_dbsrv.cpp --- a/persistentstorage/dbms/tdbms/t_dbsrv.cpp Thu Aug 19 11:36:21 2010 +0300 +++ b/persistentstorage/dbms/tdbms/t_dbsrv.cpp Tue Aug 31 16:57:14 2010 +0300 @@ -1257,6 +1257,39 @@ test(r==KErrNone); } +LOCAL_C void KillDbmsServer() + { + _LIT(KDbmsServer,"edbsrv.exe"); + TFullName name; + TBuf<64> pattern(KDbmsServer); + TInt length = pattern.Length(); + pattern += _L("*"); + TFindProcess procFinder(pattern); + + while (procFinder.Next(name) == KErrNone) + { + if (name.Length() > length) + {//If found name is a string containing aProcessName string. + TChar c(name[length]); + if (c.IsAlphaDigit() || + c == TChar('_') || + c == TChar('-')) + { + // If the found name is other valid application name + // starting with aProcessName string. + //RDebug::Print(_L(":: Process name: \"%S\".\n"), &name); + continue; + } + } + RProcess proc; + if (proc.Open(name) == KErrNone) + { + proc.Kill(0); + //RDebug::Print(_L("\"%S\" process killed.\n"), &name); + } + proc.Close(); + } + } void DoTests() { TVersionName n=RDbs::Version().Name(); @@ -1322,6 +1355,7 @@ setupTestDirectory(); DeleteTestFiles(); setupCleanup(); + KillDbmsServer(); DoTests(); delete TheTrapCleanup; DeleteTestFiles();