--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/csdagt/TS_CsdAgt/CsdAgtTestScriptErr.cpp Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,229 @@
+// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "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:
+// CsdAgtTestStateMachineInit.cpp
+// This contains CsdAgt TestCase Test 5.1 - 5.15
+//
+//
+
+// EPOC includes
+#include <e32base.h>
+#include <in_sock.h>
+#include <dummyetel.h> // include here to avoid picking up the real etel.h
+#include <etelmm.h>
+#include <nd_err.h>
+
+// Test system includes
+#include "log.h"
+#include "teststep.h"
+#include "TestStepCsdAgt.h"
+#include "TestSuiteCsdAgt.h"
+
+// COMMDB Database Undo
+#include "DbUndo.h"
+// EFinishedDialling
+#include <csdprog.h>
+
+// Class definitions
+#include "CsdAgtTestScriptErr.h"
+
+
+// The tests in this file test the following script processing conditions:
+//
+// KErrNoExpression
+// KErrMissingQuote
+// KErrVariableNotFound
+// KErrInvalidNumber
+// KErrNumberOutOfRange
+// KErrNoEquals
+// KErrNoOpenExpresion
+// KErrNestedLoop
+// KErrLoopCounterOutOfRange
+// KErrMissingChevron
+// KErrIllegalCommand
+// KErrNoDropOrRaise
+// KErrVariableNameTooLong
+// KErrMissingBracket
+// KErrExitScriptTimeOut
+// KErrCharacterSetDoesNotExist
+//
+// In fact, apart from KErrExitScriptTimeOut, these are all error values internal to csdagt, and get reduced to
+// KErrExitScriptError before they are visible to the test harness.
+// If you need to check that a specific error value was generated for a test, then the
+// information is logged in Logs\Netdial\NetDial.txt
+// You then need to check the error represented by the logged number in nd_std.h
+//
+
+void CCsdAgtTest5_xx::CustomiseLoginScriptL(const TDesC16& aLoginScript)
+{
+ csd = CDbCsdTable::NewL();
+ CleanupStack::PushL(csd);
+
+ csd->SetColumnBoolL(TPtrC(ISP_USE_LOGIN_SCRIPT),ETrue);
+ csd->SetColumnLongTextL(TPtrC(ISP_LOGIN_SCRIPT),aLoginScript);
+}
+void CCsdAgtTest5_xx::RevertCommdbChangesL()
+{
+ Log(_L("Reverting COMMDB changes"));
+
+ csd->UndoDatabaseChangesL();
+
+ CleanupStack::PopAndDestroy(csd);
+}
+
+
+enum TVerdict CCsdAgtTest5_xx::DoScriptErrTestL(TInt aTestNo, const TDesC& aLoginScript)
+{
+ char OK = 1;
+
+ TInt ret = KErrGeneral;
+
+ TRealAgtNotify AgtNotify;
+
+ AgtNotify.SetTestCase(aTestNo);
+
+ if(OK)
+ {
+ TRAP(ret,SetGSMModeL(AgtNotify));
+ OK = (ret == KErrNone);
+ }
+
+ // Set up the login script to use.
+ if(OK)
+ CustomiseLoginScriptL(aLoginScript);
+
+ if(OK)
+ {
+ switch(aTestNo)
+ {
+ case 10515: // special case - timeout gets reported as such
+ case 10517:
+ case 10518:
+ {
+ TRAP(ret,ConnectExpectErrorL(KErrExitScriptTimeOut,ECsdFinishedLogIn));
+ }
+ break;
+ case 10516: // no error expected here.
+ {
+ TRAP(ret,NormalConnectL());
+ }
+ break;
+ default:
+ {
+ TRAP(ret,ConnectExpectErrorL(KErrExitScriptError,ECsdFinishedLogIn));
+ }
+ break;
+ }
+ }
+ if(OK) OK = (ret == KErrNone);
+
+ // Close database object, forcing it to undo all changes that were made
+ RevertCommdbChangesL();
+
+ return(OK ? EPass : EFail);
+}
+enum TVerdict CCsdAgtTest5_1::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10501, _L("SEND\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_2::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10502, _L("SEND \"AT+<0x0d>\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_3::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10503, _L("SEND login_init11$+<0x0d>\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_4::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10504, _L("LOOP 2147483648\n{\n}\nExit KErrNoModem$\nalive:\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_5::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10505, _L("WAIT 500001\n{\n\"OK\" alive\n}\nExit KErrNoModem$\nalive:\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_6::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10506, _L("SET err$ 0\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_7::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10507, _L("WAIT 10\n\"OK\" alive\n}\nExit KErrNoModem$\nalive:\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_8::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10508, _L("LOOP 2\n{\nSEND \"AT\"+<0xd>\nLOOP 4\n{\nSEND \"AT\"+<0xd>\n}\n}\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_9::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10509, _L("LOOP 10001\n{\nSEND \"AT\"+<0xd>\n}\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_10::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10510, _L("SEND \"AT\"+<0x0d\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_11::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10511, _L("WIAT 10\n{\n\"OK\" alive\n}\nExit KErrNoModem$\nalive:\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_12::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10512, _L("DTR\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_13::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10513, _L("SET e12345678901234567890$=\"hello\"\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_14::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10514, _L("SEND \"Hello\"+<0x0d> [UNICODE\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_15::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10515, _L("WAIT 3\n{\n}\nExit KErrTimeOut$\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_16::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10516, _L("SEND \"Hello\"+<0x0d>\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_17::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10517, _L("letsgo:\nWAIT 20\n{\n\"ogin:\" loginok\n}\nGOTO timeout\nloginok:\nSEND login_name$+<0x0d>\nWAIT 20\n{\n\"assword:\" passok\n}\nGOTO timeout\npassok:\nSEND login_pass$+<0x0d>\nWAIT 20\n{\n\"rotocol:\" protocolok\n}\nGOTO lofail\nprotocolok:\nSend \"PPP\"+<0x0d>\nEXIT\ntimeout:\nEXIT KErrTimeOut$\nlofail:\nEXIT KErrLoginFail$\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_18::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10518, _L("letsgo:\nWAIT 20\n {\n\"ogin:\" loginok\n}\nGOTO timeout\nloginok:\n! READ\nWAIT 20\n{\n\"assword:\" passok\n}\nGOTO timeout\npassok:\n! READ\nWAIT 20\n{\n\"rotocol:\" protocolok\n}\nGOTO lofail\nprotocolok:\nSend \"PPP\"+<0x0d>\nEXIT\ntimeout:\nEXIT KErrTimeOut$\nlofail:\nEXIT KErrLoginFail$\n"));
+ return(iTestStepResult);
+ }
+enum TVerdict CCsdAgtTest5_19::doCsdAgtTestStepL( void )
+ {
+ iTestStepResult = DoScriptErrTestL(10519, _L("CHARMAP [UNKNOWN]\nletsgo:\nWAIT 20\n{\n\"ogin:\" loginok\n}\nGOTO timeout\nloginok:\nWAIT 20\n{\n\"assword:\" passok\n}\nGOTO timeout\npassok:\nWAIT 20\n{\n\"rotocol:\" protocolok\n}\nGOTO lofail\nprotocolok:\nSend \"PPP\"+<0x0d>\nEXIT\ntimeout:\nEXIT KErrTimeOut$\nlofail:\nEXIT KErrLoginFail$\n"));
+ return(iTestStepResult);
+ }