Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1898 lines
54 KiB

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
itlie.c
Abstract:
This module contains the test functions for lineInitializeEx
Author:
Xiao Ying Ding (XiaoD) 7-March-1996
Revision History:
--*/
#include "windows.h"
#include "malloc.h"
#include "string.h"
#include "stdlib.h"
#include "tapi.h"
#include "trapper.h"
#include "tcore.h"
#include "ttest.h"
#include "doline.h"
#include "vars.h"
#include "line20.h"
#define NUMTOTALSIZES 5
// lineInitializeEx
//
// The following tests are made:
//
// Tested Notes
// -------------------------------------------------------------------------
// 1. Go/No-Go test
// 2. Bad hLineApp
// 3. Bad hInstance
// 4. Bad lpfnCallback
// 5. Bad lpszFriendlyName
// 6. Inval lpszFriendlyAppName
// 7. Bad lpdwNumDevs
// 8. Bad lpdwAPIVersion
// 9. Bad lpLineInitializeExparams
// 10. Bad dwTotalSize
//
// * = Stand-alone test case
//
//
BOOL TestLineInitializeEx(BOOL fQuietMode, BOOL fStandAlone)
{
LPTAPILINETESTINFO lpTapiLineTestInfo;
INT i, n;
BOOL fTestPassed = TRUE;
TAPIRESULT lastTapiResult;
DWORD dwFixedSize = sizeof(LINEINITIALIZEEXPARAMS);
DWORD lExpected;
DWORD dwTotalSizes[NUMTOTALSIZES] = {
0,
(DWORD) dwFixedSize - 1,
0x70000000,
0x7FFFFFFF,
0xFFFFFFFF
};
InitTestNumber();
OutputTAPIDebugInfo(
DBUG_SHOW_PASS,
"\n**************************************************");
OutputTAPIDebugInfo(
DBUG_SHOW_PASS,
">> Test lineInitializeEx");
// ===================================================================
// ===================================================================
//
// 1. Test Case: Go/No-Go test for owner.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Go/No-Go test",
dwTestCase+1);
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();
}
fTestPassed = ShowTestCase(fTestPassed);
//
// Shutdown
//
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 2. Test Case: Bad hLineApp.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad hLineApp",
dwTestCase+1);
//
// Test invalid hLineApp
//
for(i = 0; i < NUMINVALIDPOINTERS; i++)
{
lpTapiLineTestInfo->lphLineApp = (LPHLINEAPP)gdwInvalidPointers[i];
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 3. Test Case: hLineApp == lpdwNumDevs
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: hLineApp == lpdwNumDevs",
dwTestCase+1);
//
// Test invalid hLineApp
//
lpTapiLineTestInfo->lphLineApp =
(LPHLINEAPP)lpTapiLineTestInfo->lpdwNumDevs;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 4. Test Case: hLineApp == lpdwAPIVersion
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: hLineApp == lpdwAPIVersion",
dwTestCase+1);
//
// Test invalid hLineApp
//
lpTapiLineTestInfo->lphLineApp =
(LPHLINEAPP)lpTapiLineTestInfo->lpdwAPIVersion;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 5. Test Case: hLineApp == lpLineInitializeExParams
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: hLineApp == lpLineInitializeExParams",
dwTestCase+1);
//
// Test invalid hLineApp
//
lpTapiLineTestInfo->lphLineApp =
(LPHLINEAPP)lpTapiLineTestInfo->lpLineInitializeExParams;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 6. Test Case: Bad hInstance.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad hInstance",
dwTestCase+1);
//
// save previous hInstance
//
lpTapiLineTestInfo->hInstance_Orig = lpTapiLineTestInfo->hInstance;
//
// Test invalid handles
//
for(i = 1; i < NUMINVALIDHANDLES; i++)
{
lpTapiLineTestInfo->hInstance = (HINSTANCE)gdwInvalidHandles[i];
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPARAM))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
//
// Reset hInstance
//
lpTapiLineTestInfo->hInstance = lpTapiLineTestInfo->hInstance_Orig;
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 7. Test Case: Bad lpfnCallback.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpfnCallback",
dwTestCase+1);
//
// Test invalid lpfnCallback
//
for(i = 1; i < NUMINVALIDPOINTERS; i++)
{
lpTapiLineTestInfo->lpfnCallback =
(LINECALLBACK)gdwInvalidPointers[i];
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 8. Test Case: Bad lpszFriendlyAppName.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
#ifdef WUNICODE
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpwszFriendlyAppName",
dwTestCase+1);
#else
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpszFriendlyAppName",
dwTestCase+1);
#endif
//
// Test invalid lpszFriendlyAppName
//
for(i = 1; i < NUMINVALIDPOINTERS; i++)
{
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszFriendlyAppName =
(LPWSTR)gdwInvalidPointers[i];
#else
lpTapiLineTestInfo->lpszFriendlyAppName =
(LPSTR)gdwInvalidPointers[i];
#endif
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 9. Test Case: Bad lpszFriendlyAppName.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
#ifdef WUNICODE
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpwszFriendlyAppName",
dwTestCase+1);
#else
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpszFriendlyAppName",
dwTestCase+1);
#endif
//
// Test invalid lpszAppName
//
for(i = 1; i < NUMINVALIDPOINTERS; i++)
{
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszFriendlyAppName =
(LPWSTR)gdwInvalidPointers[i];
#else
lpTapiLineTestInfo->lpszFriendlyAppName =
(LPSTR)gdwInvalidPointers[i];
#endif
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 10. Test Case: Bad lpdwNumDevs.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpdwNumDevs",
dwTestCase+1);
//
// Test invalid lpdwNumDevs
//
for(i = 0; i < NUMINVALIDPOINTERS; i++)
{
lpTapiLineTestInfo->lpdwNumDevs =
(LPDWORD)gdwInvalidPointers[i];
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 11. Test Case: lpdwNumDevs == lpdwAPIVersion
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: lpdwNumDevs == lpdwAPIVersion",
dwTestCase+1);
//
// Test invalid lpdwNumDevs
//
lpTapiLineTestInfo->lpdwNumDevs =
(LPDWORD) lpTapiLineTestInfo->lpdwAPIVersion;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 12. Test Case: lpdwNumDevs == lpLineInitializeExParams
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: lpdwNumDevs == lpLineInitializeExParams",
dwTestCase+1);
//
// Test invalid lpdwNumDevs
//
lpTapiLineTestInfo->lpdwNumDevs =
(LPDWORD) lpTapiLineTestInfo->lpLineInitializeExParams;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 13. Test Case: Bad lpdwAPIVersion.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpdwAPIVersion",
dwTestCase+1);
//
// Test invalid lpdwAPIVersion
//
for(i = 0; i < NUMINVALIDPOINTERS; i++)
{
lpTapiLineTestInfo->lpdwAPIVersion =
(LPDWORD)gdwInvalidPointers[i];
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 14. Test Case: lpdwAPIVersion == lpLineInitializeExParams
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: lpdwAPIVersion == lpLineInitializeExParams",
dwTestCase+1);
//
// Test invalid lpdwAPIVersion
//
lpTapiLineTestInfo->lpdwAPIVersion =
(LPDWORD) lpTapiLineTestInfo->lpLineInitializeExParams;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 15. Test Case: Bad lpLineInitializeExParams.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad lpLineInitializeExParams",
dwTestCase+1);
//
// Test invalid lpLineInitializeExParams
//
for(i = 1; i < NUMINVALIDPOINTERS; i++)
{
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS)gdwInvalidPointers[i];
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 16. Test Case: Bad dwTotalSize.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
// lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
// sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad dwTotalSize",
dwTestCase+1);
/*
//
// lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize = 0;
//
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize = 0;
if(! DoLineInitializeEx (lpTapiLineTestInfo, LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad dwTotalSize=fixedSize-1",
dwTestCase+1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS)-1;
if(! DoLineInitializeEx (lpTapiLineTestInfo, LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Bad dwTotalSize=real big",
dwTestCase+1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize = 0x7FFFFFFF;
if(! DoLineInitializeEx (lpTapiLineTestInfo, LINEERR_INVALPOINTER))
{
TLINE_FAIL();
//
// if we initialized successfully,i.e lineInitializeEx returned 0,
// then we better shutdown.
//
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
*/
for (n = 0; n < NUMTOTALSIZES; n++)
{
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
dwTotalSizes[n];
if(dwTotalSizes[n] < dwFixedSize)
lExpected = LINEERR_STRUCTURETOOSMALL;
else
lExpected = LINEERR_INVALPOINTER;
TapiLogDetail(
DBUG_SHOW_DETAIL,
"dwTotalSize = %lx", dwTotalSizes[n]);
if (! DoLineInitializeEx(lpTapiLineTestInfo, lExpected))
{
TLINE_FAIL();
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize = dwFixedSize;
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 17. Test Case:Null (valid) lpLineInitializeExParams.
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS));
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS);
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Null (valid) lpLineInitializeExParams",
dwTestCase+1);
//
// Test valid Null lpLineInitializeExParams
//
lpTapiLineTestInfo->lpLineInitializeExParams = NULL;
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 18. Test Case: forward compatibility
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020001;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0xfffffffc & LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Forward compatibility",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
TapiLogDetail(
DBUG_SHOW_PASS,
"dwAPIVersion = %lx",
lpTapiLineTestInfo->dwAPIVersion);
if(lpTapiLineTestInfo->dwAPIVersion == 0x00020000)
fTestPassed = TRUE;
else
fTestPassed = FALSE;
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = L"55555";
#else
lpTapiLineTestInfo->lpszDestAddress = "55555";
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 19. Test Case: verify 3 options in lpLineInitParam
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0xfffffffc & LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Verify 3 options: USECOMPLETIONPORT",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = L"55555";
#else
lpTapiLineTestInfo->lpszDestAddress = "55555";
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 20. Test Case: verify 3 options in lpLineInitParam
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0xfffffffc & LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Verify 3 options: USEHIDDENWINDOW",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = L"55555";
#else
lpTapiLineTestInfo->lpszDestAddress = "55555";
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 21. Test Case: verify 3 options in lpLineInitParam
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0xfffffffc & LINEINITIALIZEEXOPTION_USEEVENT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Verify 3 options: USEEVENT",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = L"55555";
#else
lpTapiLineTestInfo->lpszDestAddress = "55555";
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 22. Test Case: verify uppart bits in options ignor
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0xfffffff0;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Verify uppart bits in options ignor",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = L"55555";
#else
lpTapiLineTestInfo->lpszDestAddress = "55555";
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
//
// 23. Test Case: verify uppart bits in options ignor
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0x0000fff1;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Verify uppart bits in options ignor",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
TAPISUCCESS))
{
TLINE_FAIL();
}
lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
if (! DoLineOpen(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
#ifdef WUNICODE
lpTapiLineTestInfo->lpwszDestAddress = L"55555";
#else
lpTapiLineTestInfo->lpszDestAddress = "55555";
#endif
if (! DoLineMakeCall(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
{
TLINE_FAIL();
}
if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 24. Test Case: options 4, in lpLineInitParam should fail
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions = 4;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: options 4 should fail",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPARAM))
{
TLINE_FAIL();
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 25. Test Case: options 15, in lpLineInitParam should fail
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00020000;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions = 15;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: options 15 should fail",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INVALPARAM))
{
TLINE_FAIL();
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
// ===================================================================
// ===================================================================
//
// 26. Test Case: Anything < 20000 should fail
//
// ===================================================================
// ===================================================================
TapiLineTestInit();
lpTapiLineTestInfo = GetLineTestInfo();
fTestPassed = TRUE;
//
// Initialize a line app
//
lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
lpTapiLineTestInfo->dwAPIVersion = 0x00010004;
lpTapiLineTestInfo->lpLineInitializeExParams =
(LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
sizeof(LINEINITIALIZEEXPARAMS) + 1);
lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
sizeof(LINEINITIALIZEEXPARAMS) + 1;
lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
0xfffffffc & LINEINITIALIZEEXOPTION_USECOMPLETIONPORT;
TapiLogDetail(DBUG_SHOW_PASS,
">> Test Case %ld: Anything < 2000 should fail",
dwTestCase+1);
if (! DoLineInitializeEx(lpTapiLineTestInfo,
LINEERR_INCOMPATIBLEAPIVERSION))
{
TLINE_FAIL();
GetLastTapiResult(&lastTapiResult);
if(lastTapiResult.lActual == TAPISUCCESS)
{
if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
{
TLINE_FAIL();
}
}
}
fTestPassed = ShowTestCase(fTestPassed);
FreeTestHeap();
//
// +----------------------edit above this line-------------------------
//
TapiLogDetail(
DBUG_SHOW_PASS,
"@@ LineInitializeEx: 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 LineInitializeEx <<<<<<<<");
if(dwTestCaseFailed > 0)
fTestPassed = FALSE;
return fTestPassed;
}