--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usbmgmt/usbmgrtest/T_usb/src/UsbTest2.cpp Tue Feb 02 02:02:59 2010 +0200
@@ -0,0 +1,353 @@
+/*
+* 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:
+* This contains Usb Test Section 2
+*
+*/
+
+// EPOC includes
+#include <e32base.h>
+
+// Usb Test system includes
+#include <networking/log.h>
+#include "UsbStep.h"
+#include "UsbSuite.h"
+#include "UsbTest2.h"
+
+_LIT(KSignalSection, "Signal");
+_LIT(KSignalMark, "Mark");
+_LIT(KSignalSpace, "Space");
+_LIT(KSignalCheckValue, "CheckValue");
+_LIT(KSignalCheckValueMask, "CheckValueMask");
+
+_LIT(KConfigSection, "Config");
+_LIT(KConfigRate, "Rate");
+_LIT(KConfigStopBits, "StopBits");
+_LIT(KConfigDataBits, "DataBits");
+_LIT(KConfigParity, "Parity");
+
+_LIT(KWriteSection, "Write");
+_LIT(KWriteFailureValue, "FailureValue");
+
+_LIT(KReadSection, "Read");
+_LIT(KReadFailureValue, "FailureValue");
+
+_LIT(KPortSection, "Port");
+_LIT(KPortOpenMode, "OpenMode");
+_LIT(KPortOpenRole, "OpenRole");
+_LIT(KPortOpenReturnValue, "OpenReturnValue");
+
+_LIT(KStateSection, "State");
+_LIT(KStateTarget, "Target");
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.1
+CTestSetSignalsToMark::CTestSetSignalsToMark()
+ {
+ // store the name of this test case
+ iTestStepName = _L("SetSignalsToMarkC");
+ }
+
+// Test 2.1 Destructor
+CTestSetSignalsToMark::~CTestSetSignalsToMark()
+ {
+ }
+
+// Test 2.1 Main Code
+enum TVerdict CTestSetSignalsToMark::doTestStepL()
+ {
+ TUint mask;
+ TESTL(GetIntFromConfig(KSignalSection, KSignalMark, (TInt&) mask));
+ iUsbSuite->iCommPort.SetSignalsToMark(mask);
+ Log(_L("CTestSetSignalsToMark::doTestStepL() - Signal to mark set to 0x%x"), mask);
+ TEST(ETrue);
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.2
+CTestSetSignalsToSpace::CTestSetSignalsToSpace()
+ {
+ // store the name of this test case
+ iTestStepName = _L("SetSignalsToSpaceC");
+ }
+
+// Test 2.2 Destructor
+CTestSetSignalsToSpace::~CTestSetSignalsToSpace()
+ {
+ }
+
+// Test 2.2 Main Code
+enum TVerdict CTestSetSignalsToSpace::doTestStepL()
+ {
+ TUint mask;
+ TESTL(GetIntFromConfig(KSignalSection, KSignalSpace, (TInt&) mask));
+ iUsbSuite->iCommPort.SetSignalsToSpace(mask);
+ Log(_L("CTestSetSignalsToSpace::doTestStepL() - Signal to space set to 0x%x"), mask);
+ TEST(ETrue);
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.3
+CTestCheckSignals::CTestCheckSignals()
+ {
+ // store the name of this test case
+ iTestStepName = _L("CheckSignalsC");
+ }
+
+// Test 2.3 Destructor
+CTestCheckSignals::~CTestCheckSignals()
+ {
+ }
+
+// Test 2.3 Main Code
+enum TVerdict CTestCheckSignals::doTestStepL()
+ {
+ TUint checkValue;
+ TUint checkValueMask;
+ TUint currentValue;
+
+ TESTL(GetIntFromConfig(KSignalSection, KSignalCheckValue, (TInt&) checkValue));
+
+ if (GetIntFromConfig(KSignalSection, KSignalCheckValueMask, (TInt&) checkValueMask))
+ currentValue = iUsbSuite->iCommPort.Signals(checkValueMask);
+ else
+ currentValue = iUsbSuite->iCommPort.Signals();
+
+ Log(_L("CTestCheckSignals::doTestStepL() - Current signals set to 0x%x with mask 0x%x"), currentValue, checkValueMask);
+ TEST(currentValue == checkValue);
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.4
+CTestWaitForReadFailure::CTestWaitForReadFailure()
+ {
+ // store the name of this test case
+ iTestStepName = _L("WaitForReadFailureC");
+ }
+
+// Test 2.4 Destructor
+CTestWaitForReadFailure::~CTestWaitForReadFailure()
+ {
+ }
+
+// Test 2.4 Main Code
+enum TVerdict CTestWaitForReadFailure::doTestStepL()
+ {
+ TInt failureValue;
+
+ TESTL(GetIntFromConfig(KReadSection, KReadFailureValue, failureValue));
+
+ Log(_L("CTestWaitForReadFailure::doTestStepL() - Waiting for read status to be complete with error"));
+ User::WaitForRequest(iUsbSuite->iReadStatus);
+ Log(_L("CTestWaitForReadFailure::doTestStepL() - Read status completed with %d"), iUsbSuite->iReadStatus.Int());
+ TEST(iUsbSuite->iReadStatus.Int() == failureValue);
+
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.5
+CTestWaitForWriteFailure::CTestWaitForWriteFailure()
+ {
+ // store the name of this test case
+ iTestStepName = _L("WaitForWriteFailureC");
+ }
+
+// Test 2.5 Destructor
+CTestWaitForWriteFailure::~CTestWaitForWriteFailure()
+ {
+ }
+
+// Test 2.5 Main Code
+enum TVerdict CTestWaitForWriteFailure::doTestStepL()
+ {
+ TInt failureValue;
+
+ TESTL(GetIntFromConfig(KWriteSection, KWriteFailureValue, failureValue));
+
+ Log(_L("CTestWaitForWriteFailure::doTestStepL() - Waiting for write status to be complete with error"));
+ User::WaitForRequest(iUsbSuite->iWriteStatus);
+ Log(_L("CTestWaitForWriteFailure::doTestStepL() - Read status completed with %d"), iUsbSuite->iWriteStatus.Int());
+ TEST(iUsbSuite->iWriteStatus.Int() == failureValue);
+
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.6
+CTestOpenPort::CTestOpenPort()
+ {
+ // store the name of this test case
+ iTestStepName = _L("OpenPortC");
+ }
+
+// Test 2.6 Destructor
+CTestOpenPort::~CTestOpenPort()
+ {
+ }
+
+// Test 2.6 Main Code
+enum TVerdict CTestOpenPort::doTestStepL()
+ {
+ TCommAccess openMode;
+ TCommRole role;
+ TInt returnValue;
+
+ TESTL(GetIntFromConfig(KPortSection, KPortOpenMode, (TInt&) openMode));
+ TESTL(GetIntFromConfig(KPortSection, KPortOpenRole, (TInt&) role));
+ TESTL(GetIntFromConfig(KPortSection, KPortOpenReturnValue, returnValue));
+
+ OpenCommServerL();
+
+ if (!iUsbSuite->iPortOpen)
+ {
+ Log(_L("CTestOpenPort::doTestStepL() - Attempting to open ACM comm port with mode %d and role %d"), openMode, role);
+ TInt err = iUsbSuite->iCommPort.Open(iUsbSuite->iCommServer, PORT_NAME, openMode, role);
+
+ if (err == KErrNone)
+ {
+ iUsbSuite->iPortOpen = ETrue;
+ Log(_L("CTestOpenPort::doTestStepL() - Opened ACM comm port, mode %d, role %d"), openMode, role);
+ }
+ TESTL(err == returnValue);
+ }
+ else
+ {
+ TEST(ETrue);
+ }
+
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.7
+CTestWaitForConfigChange::CTestWaitForConfigChange()
+ {
+ // store the name of this test case
+ iTestStepName = _L("WaitForConfigChangeC");
+ }
+
+// Test 2.7 Destructor
+CTestWaitForConfigChange::~CTestWaitForConfigChange()
+ {
+ }
+
+// Test 2.7 Main Code
+enum TVerdict CTestWaitForConfigChange::doTestStepL()
+ {
+ TCommConfigV01 config;
+
+ TESTL(GetIntFromConfig(KConfigSection, KConfigRate, (TInt&) config.iRate));
+ TESTL(GetIntFromConfig(KConfigSection, KConfigStopBits, (TInt&) config.iStopBits));
+ TESTL(GetIntFromConfig(KConfigSection, KConfigDataBits, (TInt&) config.iDataBits));
+ TESTL(GetIntFromConfig(KConfigSection, KConfigParity, (TInt&) config.iParity));
+
+ Log(_L("CTestWaitForConfigChange::doTestStepL() - Waiting for config change"));
+ User::WaitForRequest(iUsbSuite->iNotifyConfigChangeStatus);
+ Log(_L("CTestWaitForConfigChange::doTestStepL() - Config status completed with %d"), iUsbSuite->iNotifyConfigChangeStatus.Int());
+ TESTL(iUsbSuite->iNotifyConfigChangeStatus.Int() == KErrNone);
+
+ Log(_L("iRate=%d iStopBits=%d iDataBits=%d iParity=%d"), iUsbSuite->iConfig().iRate, iUsbSuite->iConfig().iStopBits, iUsbSuite->iConfig().iDataBits, iUsbSuite->iConfig().iParity);
+
+ TESTL(iUsbSuite->iConfig().iRate == config.iRate);
+ TESTL(iUsbSuite->iConfig().iStopBits == config.iStopBits);
+ TESTL(iUsbSuite->iConfig().iDataBits == config.iDataBits);
+ TESTL(iUsbSuite->iConfig().iParity == config.iParity);
+
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.8
+CTestNotifyStateChange::CTestNotifyStateChange()
+ {
+ // store the name of this test case
+ iTestStepName = _L("NotifyStateChange");
+ }
+
+// Test 2.8 Destructor
+CTestNotifyStateChange::~CTestNotifyStateChange()
+ {
+ }
+
+// Test 2.8 Main Code
+enum TVerdict CTestNotifyStateChange::doTestStepL()
+ {
+ TESTL(OpenLdd() == KErrNone);
+ iUsbSuite->iLdd.AlternateDeviceStatusNotify(iUsbSuite->iNotifyStateStatus, iUsbSuite->iUsbState);
+ TEST(ETrue);
+ return iTestStepResult;
+ }
+
+////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////
+// Test 2.9
+CTestWaitForStateChange::CTestWaitForStateChange()
+ {
+ // store the name of this test case
+ iTestStepName = _L("WaitForStateChangeC");
+ }
+
+// Test 2.9 Destructor
+CTestWaitForStateChange::~CTestWaitForStateChange()
+ {
+ }
+
+// Test 2.9 Main Code
+enum TVerdict CTestWaitForStateChange::doTestStepL()
+ {
+ Log(_L("CTestWaitForConfigChange::doTestStepL() - Waiting for state change..."));
+ User::WaitForRequest(iUsbSuite->iNotifyStateStatus);
+
+ if (iUsbSuite->iNotifyStateStatus.Int() != KErrNone)
+ {
+ Log(_L("CTestWaitForConfigChange::doTestStepL() - Error = %d"), iUsbSuite->iNotifyStateStatus.Int());
+ TESTL(EFalse);
+ return iTestStepResult;
+ }
+
+ TUint targetState;
+
+ TESTL(GetIntFromConfig(KStateSection, KStateTarget, (TInt&) targetState));
+
+ if (!(iUsbSuite->iUsbState & KUsbAlternateSetting))
+ {
+ Log(_L("CTestWaitForStateChange::doTestStepL() - State Changed to %d"), iUsbSuite->iUsbState);
+ TESTL(iUsbSuite->iUsbState == targetState);
+ }
+ else
+ {
+ // Repost notify as state hasn't changed yet
+ Log(_L("CTestWaitForStateChange::doTestStepL() - State hasn't changed, reposting notify"));
+ iUsbSuite->iLdd.AlternateDeviceStatusNotify(iUsbSuite->iNotifyStateStatus, iUsbSuite->iUsbState);
+ doTestStepL();
+ return iTestStepResult;
+ }
+
+ return iTestStepResult;
+ }
+
+
+