mirror of https://github.com/lianthony/NT4.0
949 lines
26 KiB
949 lines
26 KiB
|
|
/*++
|
|
|
|
Copyright (c) 1995 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
itlsas.c
|
|
|
|
Abstract:
|
|
|
|
This module contains the test functions for lineSetAgentState
|
|
|
|
Author:
|
|
|
|
Xiao Ying Ding (XiaoD) 23-Dec-1995
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#include "windows.h"
|
|
#include "malloc.h"
|
|
#include "string.h"
|
|
#include "tapi.h"
|
|
#include "trapper.h"
|
|
#include "tcore.h"
|
|
#include "ttest.h"
|
|
#include "doline.h"
|
|
#include "vars.h"
|
|
#include "line20.h"
|
|
|
|
#define ALLAGENTSTATE (LINEAGENTSTATE_LOGGEDOFF | \
|
|
LINEAGENTSTATE_NOTREADY | \
|
|
LINEAGENTSTATE_READY | \
|
|
LINEAGENTSTATE_BUSYACD | \
|
|
LINEAGENTSTATE_BUSYINCOMING | \
|
|
LINEAGENTSTATE_BUSYOUTBOUND | \
|
|
LINEAGENTSTATE_BUSYOTHER | \
|
|
LINEAGENTSTATE_WORKINGAFTERCALL | \
|
|
LINEAGENTSTATE_UNKNOWN | \
|
|
LINEAGENTSTATE_UNAVAIL)
|
|
|
|
|
|
// lineSetAgentState
|
|
//
|
|
// The following tests are made:
|
|
//
|
|
// Tested Notes
|
|
// -------------------------------------------------------------------------
|
|
// 1. Go/No-Go test
|
|
// 2. Bad hLine
|
|
// 3. BitVectorParamErrorTest for dwAgentState
|
|
// 4. BitVectorParamErrorTest for dwNextAgentState
|
|
// 5. BitVectorParamValidTest for dwAgentState
|
|
// 6. BitVectorParamValidTest for dwNextAgentState
|
|
//
|
|
// * = Stand-alone test case
|
|
//
|
|
//
|
|
|
|
BOOL TestLineSetAgentState(BOOL fQuietMode, BOOL fStandAlone)
|
|
{
|
|
LPTAPILINETESTINFO lpTapiLineTestInfo;
|
|
INT i;
|
|
BOOL fTestPassed = TRUE;
|
|
LPDWORD lpRequestBuf;
|
|
LONG lret;
|
|
LPTAPIMSG lpTapiMsg = NULL;
|
|
LPTAPIMSG lpMatch;
|
|
|
|
dwTestCasePassed = 0;
|
|
dwTestCaseFailed = 0;
|
|
dwTestCase = 0;
|
|
|
|
OutputTAPIDebugInfo(
|
|
DBUG_SHOW_PASS,
|
|
"\n***************************************************************");
|
|
|
|
OutputTAPIDebugInfo(
|
|
DBUG_SHOW_PASS,
|
|
">> Test LineSetAgentState");
|
|
|
|
// ===================================================================
|
|
// ===================================================================
|
|
//
|
|
// 1. Test Case: Go/No-Go test for owner.
|
|
//
|
|
// ===================================================================
|
|
// ===================================================================
|
|
|
|
TapiLineTestInit();
|
|
lpTapiLineTestInfo = GetLineTestInfo();
|
|
fTestPassed = TRUE;
|
|
|
|
|
|
//
|
|
// Initialize a line app
|
|
//
|
|
|
|
lpTapiLineTestInfo->lpLineInitializeExParams =
|
|
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
|
|
sizeof(LINEINITIALIZEEXPARAMS));
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
|
|
sizeof(LINEINITIALIZEEXPARAMS);
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
|
|
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
|
|
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
|
|
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
|
|
|
|
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwDeviceID =
|
|
(*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
|
|
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
|
|
|
|
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
|
|
{
|
|
TapiLogDetail(
|
|
DBUG_SHOW_DETAIL,
|
|
"## LineSetAgentState unimodem didn't support");
|
|
return fTestPassed;
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->lpdwExtVersion = &lpTapiLineTestInfo->dwExtVersion;
|
|
|
|
//
|
|
// Negotiate the API Ext Version
|
|
//
|
|
|
|
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
//
|
|
// Open a line
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
|
|
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
|
|
LINEOPENOPTION_PROXY;
|
|
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD));
|
|
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
|
|
sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
|
|
sizeof(LINECALLPARAMS);
|
|
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
|
|
*lpRequestBuf = LINEPROXYREQUEST_SETAGENTSTATE;
|
|
|
|
|
|
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
TapiLogDetail(DBUG_SHOW_PASS,
|
|
">> Test Case %ld: Go/No-Go Test",
|
|
dwTestCase+1);
|
|
|
|
//
|
|
// Set the line device capabilities
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwAddressID = 0;
|
|
|
|
lpTapiLineTestInfo->dwAgentState = LINEAGENTSTATE_READY;
|
|
lpTapiLineTestInfo->dwNextAgentState = LINEAGENTSTATE_READY;
|
|
|
|
if (! DoLineSetAgentState(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpMatch = (LPTAPIMSG) AllocFromTestHeap (sizeof(TAPIMSG));
|
|
|
|
lpMatch->dwMsg = LINE_PROXYREQUEST;
|
|
// lpMatch->dwParam1 = (DWORD) lpProxyBuffer;
|
|
lpMatch->dwParam2 = 0;
|
|
lpMatch->dwParam3 = 0;
|
|
lpMatch->dwFlags = TAPIMSG_DWMSG;
|
|
|
|
lret = FindReceivedMsgs(&lpTapiMsg, lpMatch, FALSE);
|
|
|
|
TapiLogDetail(DBUG_SHOW_DETAIL,"##lret = %lx", lret);
|
|
|
|
if(lret == 1)
|
|
{
|
|
lpTapiLineTestInfo->lpProxyRequest = (LPLINEPROXYREQUEST) lpTapiMsg->dwParam1;
|
|
lpTapiLineTestInfo->dwResult = 0;
|
|
TapiShowProxyBuffer(lpTapiLineTestInfo->lpProxyRequest);
|
|
|
|
if (! DoLineProxyResponse(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
AddMessage (LINE_REPLY,
|
|
0,
|
|
0,
|
|
0,
|
|
lpTapiLineTestInfo->dwResult,
|
|
0,
|
|
TAPIMSG_DWMSG | TAPIMSG_DWPARAM2);
|
|
WaitForAllMessages();
|
|
}
|
|
|
|
fTestPassed = ShowTestCase(fTestPassed);
|
|
|
|
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
|
|
//
|
|
// Shutdown
|
|
//
|
|
|
|
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
FreeTestHeap();
|
|
|
|
// ===================================================================
|
|
// ===================================================================
|
|
//
|
|
// 2. Test Case: Bad hLine.
|
|
//
|
|
// ===================================================================
|
|
// ===================================================================
|
|
|
|
TapiLineTestInit();
|
|
lpTapiLineTestInfo = GetLineTestInfo();
|
|
fTestPassed = TRUE;
|
|
|
|
|
|
//
|
|
// Initialize a line app
|
|
//
|
|
|
|
lpTapiLineTestInfo->lpLineInitializeExParams =
|
|
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
|
|
sizeof(LINEINITIALIZEEXPARAMS));
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
|
|
sizeof(LINEINITIALIZEEXPARAMS);
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
|
|
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
|
|
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
|
|
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
|
|
|
|
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwDeviceID =
|
|
(*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
|
|
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
|
|
|
|
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
|
|
{
|
|
TapiLogDetail(
|
|
DBUG_SHOW_DETAIL,
|
|
"## LineSetAgentState unimodem didn't support");
|
|
return fTestPassed;
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->lpdwExtVersion = &lpTapiLineTestInfo->dwExtVersion;
|
|
|
|
//
|
|
// Negotiate the API Ext Version
|
|
//
|
|
|
|
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
//
|
|
// Open a line
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
|
|
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
|
|
LINEOPENOPTION_PROXY;
|
|
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD));
|
|
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
|
|
sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
|
|
sizeof(LINECALLPARAMS);
|
|
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
|
|
*lpRequestBuf = LINEPROXYREQUEST_SETAGENTSTATE;
|
|
|
|
|
|
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
TapiLogDetail(DBUG_SHOW_PASS,
|
|
">> Test Case %ld: Bad hLine",
|
|
dwTestCase+1);
|
|
|
|
//
|
|
// Set the line device capabilities
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwAddressID = 0;
|
|
|
|
lpTapiLineTestInfo->dwAgentState = LINEAGENTSTATE_READY;
|
|
lpTapiLineTestInfo->dwNextAgentState = LINEAGENTSTATE_READY;
|
|
|
|
//
|
|
// save previous hLine
|
|
//
|
|
|
|
lpTapiLineTestInfo->hLine_Orig = lpTapiLineTestInfo->hLine1;
|
|
|
|
//
|
|
// Test invalid handles
|
|
//
|
|
|
|
for(i = 0; i < NUMINVALIDHANDLES; i++)
|
|
{
|
|
*lpTapiLineTestInfo->lphLine = (HLINE)gdwInvalidHandles[i];
|
|
if (! DoLineSetAgentState(lpTapiLineTestInfo,
|
|
LINEERR_INVALLINEHANDLE,
|
|
FALSE))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
}
|
|
|
|
//
|
|
// Reset hLine
|
|
//
|
|
|
|
lpTapiLineTestInfo->hLine1 = lpTapiLineTestInfo->hLine_Orig;
|
|
|
|
fTestPassed = ShowTestCase(fTestPassed);
|
|
|
|
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
|
|
//
|
|
// Shutdown
|
|
//
|
|
|
|
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
FreeTestHeap();
|
|
|
|
// ===================================================================
|
|
// ===================================================================
|
|
//
|
|
// 3. Test Case: BitVectorParamErrorTest for dwAgentState.
|
|
//
|
|
// ===================================================================
|
|
// ===================================================================
|
|
|
|
TapiLineTestInit();
|
|
lpTapiLineTestInfo = GetLineTestInfo();
|
|
fTestPassed = TRUE;
|
|
|
|
|
|
//
|
|
// Initialize a line app
|
|
//
|
|
|
|
lpTapiLineTestInfo->lpLineInitializeExParams =
|
|
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
|
|
sizeof(LINEINITIALIZEEXPARAMS));
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
|
|
sizeof(LINEINITIALIZEEXPARAMS);
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
|
|
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
|
|
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
|
|
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
|
|
|
|
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwDeviceID =
|
|
(*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
|
|
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
|
|
|
|
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
|
|
{
|
|
TapiLogDetail(
|
|
DBUG_SHOW_DETAIL,
|
|
"## LineSetAgentState unimodem didn't support");
|
|
return fTestPassed;
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->lpdwExtVersion = &lpTapiLineTestInfo->dwExtVersion;
|
|
|
|
//
|
|
// Negotiate the API Ext Version
|
|
//
|
|
|
|
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
//
|
|
// Open a line
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
|
|
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
|
|
LINEOPENOPTION_PROXY;
|
|
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD));
|
|
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
|
|
sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
|
|
sizeof(LINECALLPARAMS);
|
|
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
|
|
*lpRequestBuf = LINEPROXYREQUEST_SETAGENTSTATE;
|
|
|
|
|
|
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
TapiLogDetail(DBUG_SHOW_PASS,
|
|
">> Test Case %ld:BitVectorParamErrorTest for dwAgentState",
|
|
dwTestCase+1);
|
|
|
|
//
|
|
// Set the line device capabilities
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwAddressID = 0;
|
|
|
|
lpTapiLineTestInfo->dwAgentState = 0;
|
|
lpTapiLineTestInfo->dwNextAgentState = LINEAGENTSTATE_READY;
|
|
|
|
//
|
|
// BitVectorParamErrorTest for dwAgentState
|
|
//
|
|
|
|
if(! TestInvalidBitFlagsAsy(
|
|
lpTapiLineTestInfo,
|
|
DoLineSetAgentState,
|
|
(LPDWORD) &lpTapiLineTestInfo->dwAgentState,
|
|
LINEERR_INVALAGENTSTATE,
|
|
FIELDTYPE_NA,
|
|
FIELDTYPE_MUTEX,
|
|
FIELDSIZE_16,
|
|
ALLAGENTSTATE,
|
|
~dwBitVectorMasks[(int) FIELDSIZE_16],
|
|
0x00000000,
|
|
0xffffffff,
|
|
FALSE
|
|
))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
fTestPassed = ShowTestCase(fTestPassed);
|
|
|
|
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
|
|
//
|
|
// Shutdown
|
|
//
|
|
|
|
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
FreeTestHeap();
|
|
|
|
// ===================================================================
|
|
// ===================================================================
|
|
//
|
|
// 4. Test Case: BitVectorParamErrorTest for dwNextAgentState.
|
|
//
|
|
// ===================================================================
|
|
// ===================================================================
|
|
|
|
TapiLineTestInit();
|
|
lpTapiLineTestInfo = GetLineTestInfo();
|
|
fTestPassed = TRUE;
|
|
|
|
|
|
//
|
|
// Initialize a line app
|
|
//
|
|
|
|
lpTapiLineTestInfo->lpLineInitializeExParams =
|
|
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
|
|
sizeof(LINEINITIALIZEEXPARAMS));
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
|
|
sizeof(LINEINITIALIZEEXPARAMS);
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
|
|
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
|
|
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
|
|
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
|
|
|
|
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwDeviceID =
|
|
(*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
|
|
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
|
|
|
|
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
|
|
{
|
|
TapiLogDetail(
|
|
DBUG_SHOW_DETAIL,
|
|
"## LineSetAgentState unimodem didn't support");
|
|
return fTestPassed;
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->lpdwExtVersion = &lpTapiLineTestInfo->dwExtVersion;
|
|
|
|
//
|
|
// Negotiate the API Ext Version
|
|
//
|
|
|
|
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
//
|
|
// Open a line
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
|
|
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
|
|
LINEOPENOPTION_PROXY;
|
|
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD));
|
|
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
|
|
sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
|
|
sizeof(LINECALLPARAMS);
|
|
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
|
|
*lpRequestBuf = LINEPROXYREQUEST_SETAGENTSTATE;
|
|
|
|
|
|
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
TapiLogDetail(DBUG_SHOW_PASS,
|
|
">> Test Case %ld:BitVectorParamErrorTest for dwNextAgentState",
|
|
dwTestCase+1);
|
|
|
|
//
|
|
// Set the line device capabilities
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwAddressID = 0;
|
|
|
|
lpTapiLineTestInfo->dwAgentState = LINEAGENTSTATE_READY;
|
|
lpTapiLineTestInfo->dwNextAgentState = 0;
|
|
|
|
//
|
|
// BitVectorParamErrorTest for dwNextAgentState
|
|
//
|
|
|
|
if(! TestInvalidBitFlagsAsy(
|
|
lpTapiLineTestInfo,
|
|
DoLineSetAgentState,
|
|
(LPDWORD) &lpTapiLineTestInfo->dwNextAgentState,
|
|
LINEERR_INVALAGENTSTATE,
|
|
FIELDTYPE_NA,
|
|
FIELDTYPE_MUTEX,
|
|
FIELDSIZE_16,
|
|
ALLAGENTSTATE,
|
|
~dwBitVectorMasks[(int) FIELDSIZE_16],
|
|
0x00000000,
|
|
0xffffffff,
|
|
FALSE
|
|
))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
fTestPassed = ShowTestCase(fTestPassed);
|
|
|
|
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
|
|
//
|
|
// Shutdown
|
|
//
|
|
|
|
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
FreeTestHeap();
|
|
|
|
// ===================================================================
|
|
// ===================================================================
|
|
//
|
|
// 5. Test Case: BitVectorParamValidTest for dwAgentState.
|
|
//
|
|
// ===================================================================
|
|
// ===================================================================
|
|
|
|
TapiLineTestInit();
|
|
lpTapiLineTestInfo = GetLineTestInfo();
|
|
fTestPassed = TRUE;
|
|
|
|
|
|
//
|
|
// Initialize a line app
|
|
//
|
|
|
|
lpTapiLineTestInfo->lpLineInitializeExParams =
|
|
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
|
|
sizeof(LINEINITIALIZEEXPARAMS));
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
|
|
sizeof(LINEINITIALIZEEXPARAMS);
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
|
|
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
|
|
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
|
|
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
|
|
|
|
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwDeviceID =
|
|
(*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
|
|
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
|
|
|
|
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
|
|
{
|
|
TapiLogDetail(
|
|
DBUG_SHOW_DETAIL,
|
|
"## LineSetAgentState unimodem didn't support");
|
|
return fTestPassed;
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->lpdwExtVersion = &lpTapiLineTestInfo->dwExtVersion;
|
|
|
|
//
|
|
// Negotiate the API Ext Version
|
|
//
|
|
|
|
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
//
|
|
// Open a line
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
|
|
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
|
|
LINEOPENOPTION_PROXY;
|
|
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD));
|
|
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
|
|
sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
|
|
sizeof(LINECALLPARAMS);
|
|
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
|
|
*lpRequestBuf = LINEPROXYREQUEST_SETAGENTSTATE;
|
|
|
|
|
|
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
TapiLogDetail(DBUG_SHOW_PASS,
|
|
">> Test Case %ld:BitVectorParamValidTest for dwAgentState",
|
|
dwTestCase+1);
|
|
|
|
//
|
|
// Set the line device capabilities
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwAddressID = 0;
|
|
|
|
lpTapiLineTestInfo->dwAgentState = 0;
|
|
lpTapiLineTestInfo->dwNextAgentState = LINEAGENTSTATE_READY;
|
|
|
|
//
|
|
// BitVectorParamValidTest for dwAgentState
|
|
//
|
|
|
|
if(! TestValidBitFlagsAsy(
|
|
lpTapiLineTestInfo,
|
|
DoLineSetAgentState,
|
|
(LPDWORD) &lpTapiLineTestInfo->dwAgentState,
|
|
FIELDTYPE_MUTEX,
|
|
FIELDTYPE_MUTEX,
|
|
FIELDSIZE_32,
|
|
ALLAGENTSTATE,
|
|
~dwBitVectorMasks[(int) FIELDSIZE_32],
|
|
0x00000000,
|
|
0x00000000,
|
|
TRUE
|
|
))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
fTestPassed = ShowTestCase(fTestPassed);
|
|
|
|
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
|
|
//
|
|
// Shutdown
|
|
//
|
|
|
|
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
FreeTestHeap();
|
|
|
|
// ===================================================================
|
|
// ===================================================================
|
|
//
|
|
// 6. Test Case: BitVectorParamValidTest for dwNextAgentState.
|
|
//
|
|
// ===================================================================
|
|
// ===================================================================
|
|
|
|
TapiLineTestInit();
|
|
lpTapiLineTestInfo = GetLineTestInfo();
|
|
fTestPassed = TRUE;
|
|
|
|
|
|
//
|
|
// Initialize a line app
|
|
//
|
|
|
|
lpTapiLineTestInfo->lpLineInitializeExParams =
|
|
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
|
|
sizeof(LINEINITIALIZEEXPARAMS));
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
|
|
sizeof(LINEINITIALIZEEXPARAMS);
|
|
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
|
|
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
|
|
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
|
|
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
|
|
|
|
if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwDeviceID =
|
|
(*(lpTapiLineTestInfo->lpdwNumDevs) == 0 ?
|
|
0 : *(lpTapiLineTestInfo->lpdwNumDevs)-1);
|
|
|
|
if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
|
|
{
|
|
TapiLogDetail(
|
|
DBUG_SHOW_DETAIL,
|
|
"## LineSetAgentState unimodem didn't support");
|
|
return fTestPassed;
|
|
}
|
|
|
|
lpTapiLineTestInfo->dwAPIVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtLowVersion = LOW_APIVERSION;
|
|
lpTapiLineTestInfo->dwExtHighVersion = HIGH_APIVERSION;
|
|
lpTapiLineTestInfo->lpdwExtVersion = &lpTapiLineTestInfo->dwExtVersion;
|
|
|
|
//
|
|
// Negotiate the API Ext Version
|
|
//
|
|
|
|
if (! DoLineNegotiateExtVersion(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
//
|
|
// Open a line
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
|
|
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER |
|
|
LINEOPENOPTION_PROXY;
|
|
lpTapiLineTestInfo->lpCallParams = (LPLINECALLPARAMS) AllocFromTestHeap (
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD));
|
|
lpTapiLineTestInfo->lpCallParams->dwTotalSize =
|
|
sizeof(LINECALLPARAMS) + sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificSize =
|
|
sizeof(DWORD);
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset =
|
|
sizeof(LINECALLPARAMS);
|
|
lpRequestBuf = (LPDWORD) (((LPBYTE)lpTapiLineTestInfo->lpCallParams) +
|
|
lpTapiLineTestInfo->lpCallParams->dwDevSpecificOffset);
|
|
*lpRequestBuf = LINEPROXYREQUEST_SETAGENTSTATE;
|
|
|
|
|
|
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
TapiLogDetail(DBUG_SHOW_PASS,
|
|
">> Test Case %ld:BitVectorParamValidTest for dwNextAgentState",
|
|
dwTestCase+1);
|
|
|
|
//
|
|
// Set the line device capabilities
|
|
//
|
|
|
|
lpTapiLineTestInfo->dwAddressID = 0;
|
|
|
|
lpTapiLineTestInfo->dwAgentState = LINEAGENTSTATE_READY;
|
|
lpTapiLineTestInfo->dwNextAgentState = 0;
|
|
|
|
//
|
|
// BitVectorParamValidTest for dwNextAgentState
|
|
//
|
|
|
|
if(! TestValidBitFlagsAsy(
|
|
lpTapiLineTestInfo,
|
|
DoLineSetAgentState,
|
|
(LPDWORD) &lpTapiLineTestInfo->dwNextAgentState,
|
|
FIELDTYPE_MUTEX,
|
|
FIELDTYPE_MUTEX,
|
|
FIELDSIZE_32,
|
|
ALLAGENTSTATE,
|
|
~dwBitVectorMasks[(int) FIELDSIZE_32],
|
|
0x00000000,
|
|
0x00000000,
|
|
TRUE
|
|
))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
fTestPassed = ShowTestCase(fTestPassed);
|
|
|
|
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
|
|
//
|
|
// Shutdown
|
|
//
|
|
|
|
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
|
|
{
|
|
TLINE_FAIL();
|
|
}
|
|
|
|
FreeTestHeap();
|
|
|
|
//
|
|
// +----------------------edit above this line-------------------------
|
|
//
|
|
|
|
TapiLogDetail(
|
|
DBUG_SHOW_PASS,
|
|
"@@ LineSetAgentState: Total Test Case = %ld, Passed = %ld, Failed = %ld",
|
|
dwTestCase, dwTestCasePassed, dwTestCaseFailed);
|
|
TapiLogDetail(
|
|
DBUG_SHOW_PASS,
|
|
"@@ Total Test Case = %ld, Passed = %ld, Failed = %ld",
|
|
dwglTestCase, dwglTestCasePassed, dwglTestCaseFailed);
|
|
TapiLogDetail(
|
|
DBUG_SHOW_PASS,
|
|
">>>>>>>> End testing LineSetAgentState <<<<<<<<");
|
|
|
|
if(dwTestCaseFailed > 0)
|
|
fTestPassed = FALSE;
|
|
|
|
return fTestPassed;
|
|
}
|
|
|
|
|
|
|