installationservices/swidevicetools/test/tswiconsole/tswiconsolestep.cpp
changeset 0 ba25891c3a9e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/installationservices/swidevicetools/test/tswiconsole/tswiconsolestep.cpp	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+* This file provides implementation for CTSwiConsoleStep
+*
+*/
+
+
+#include <test/testexecutelog.h>
+#include "tswiconsolestep.h"
+
+_LIT(KOption, "option");
+_LIT(KExpectedResult, "ExpectedResult");
+_LIT(KSwiConsole, "z:\\sys\\bin\\swiconsole.exe");
+
+CTSwiConsoleStep::CTSwiConsoleStep()
+	{
+	SetTestStepName(KTSwiConsoleStep);
+	}
+
+TVerdict CTSwiConsoleStep::doTestStepL()
+	{
+	SetTestStepResult(EFail);
+	
+	TPtrC appOption;
+	if(!GetStringFromConfig(ConfigSection(),KOption, appOption))
+		{
+		ERR_PRINTF1(_L("Missing Option"));
+		SetTestStepError(KErrBadName);
+		return EFail;
+		}
+		
+	TInt expectedResult = KErrNone;
+	if(!GetIntFromConfig(ConfigSection(),KExpectedResult, expectedResult))
+		{
+		ERR_PRINTF1(_L("Missing Expected result"));
+		SetTestStepError(KErrBadName);
+		return EFail;
+		}
+	
+	RProcess process;
+	TInt err = process.Create(KSwiConsole, appOption);
+	process.Resume();
+	
+	TRequestStatus status;
+	process.Logon(status);
+	User::WaitForRequest(status);
+	
+	TInt exitReason = process.ExitReason();
+	
+	INFO_PRINTF3(_L("Returned Result %d is compare with expected Result %d"), &exitReason,&expectedResult);
+	
+	if(exitReason == expectedResult)
+		{
+		SetTestStepResult(EPass);
+		}
+	else 
+		{
+		SetTestStepError(exitReason);
+		SetTestStepResult(EFail);
+		}
+	
+	process.Close();
+	
+	
+	return TestStepResult();
+	}