/** * This function sets up a console, a log file and checks * whether we need to wait for a key pressed after test * completion. * First DoThreadedTestsL is called, if everything is ok * it return ETrue and we move on to the standard tests. * If something went amiss (return EFalse) we skip * the standard test and return. */ LOCAL_D void SetupAndRunTests() { CConsoleBase* console = Console::NewL(_L("Test code"), TSize(KConsFullScreen, KConsFullScreen)); HBufC* logFile = GetArgument(1); if (logFile->Length()==0) { _LIT(defaultLog, "\\tcertstore.log"); TDriveUnit sysDrive (RFs::GetSystemDrive()); TDriveName sysdriveName (sysDrive.Name()); TBuf <18> fileName (sysdriveName); fileName.Append(defaultLog); logFile->ReAlloc(18); TPtr16 plog = logFile->Des(); plog.Append(fileName); } HBufC* wait = GetArgument(2); TBool waitAfterCompletion = EFalse; if (wait->Find(_L("-w")) != KErrNotFound) { waitAfterCompletion = ETrue; } TBool res = EFalse; TRAPD(err, res = DoThreadedTestsL(console, logFile, waitAfterCompletion)); if (res) { // Now run a normal tcertstore test to check store integrity TRAP(err, DoTests()); } delete console; delete wait; delete logFile; }