summaryrefslogtreecommitdiffstats
path: root/private/tapi/qa/trapper/itest/tsline/itlpk.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/tapi/qa/trapper/itest/tsline/itlpk.c879
1 files changed, 879 insertions, 0 deletions
diff --git a/private/tapi/qa/trapper/itest/tsline/itlpk.c b/private/tapi/qa/trapper/itest/tsline/itlpk.c
new file mode 100644
index 000000000..83e778cf4
--- /dev/null
+++ b/private/tapi/qa/trapper/itest/tsline/itlpk.c
@@ -0,0 +1,879 @@
+
+/*++
+
+Copyright (c) 1995 Microsoft Corporation
+
+Module Name:
+
+ itlpk.c
+
+Abstract:
+
+ This module contains the test functions for linePickup
+
+Author:
+
+ Xiao Ying Ding (XiaoD) 31-Jan-1996
+
+Revision History:
+
+ Rama Koneru (a-ramako) 4/8/96 added unicode support
+
+--*/
+
+
+#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 "sline.h"
+
+
+
+
+// linePickup
+//
+// The following tests are made:
+//
+// Tested Notes
+// -------------------------------------------------------------------------
+// Go/No-Go test
+//
+// * = Stand-alone test case
+//
+//
+
+BOOL TestLinePickup(BOOL fQuietMode, BOOL fStandAlone)
+{
+ LPTAPILINETESTINFO lpTapiLineTestInfo;
+ INT n;
+ ESPDEVSPECIFICINFO info;
+ LPCALLBACKPARAMS lpCallbackParams;
+ BOOL fTestPassed = TRUE;
+ BOOL fUnimdm;
+#ifdef WUNICODE
+ WCHAR wszValidAddress[] = L"55555";
+#else
+ CHAR szValidAddress[] = "55555";
+#endif
+
+ InitTestNumber();
+ TapiLineTestInit();
+ lpTapiLineTestInfo = GetLineTestInfo();
+ lpCallbackParams = GetCallbackParams();
+
+ OutputTAPIDebugInfo(
+ DBUG_SHOW_DETAIL,
+ "\n*****************************************************************************************");
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">>>>>>>> Begin testing linePickup <<<<<<<<"
+ );
+
+ /*
+ // Initialize a line app
+ if(! DoLineInitializeEx (lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ }
+
+ lpTapiLineTestInfo->dwDeviceID = 0;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ if(IsUNIMDMLineDevice(lpTapiLineTestInfo))
+ {
+ fUnimdm = TRUE;
+ }
+ else
+ fUnimdm = FALSE;
+
+ if(fUnimdm)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_DETAIL,
+ "### Unimdm does not supported these apis");
+
+ // Shutdown and end the tests
+ if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ }
+ return fTestPassed;
+ }
+
+ // Shutdown and end the tests
+ if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ } */
+
+
+ lpTapiLineTestInfo->lphCall = &lpTapiLineTestInfo->hCall1;
+ lpTapiLineTestInfo->dwAddressID = 0;
+ lpTapiLineTestInfo->lpLineInitializeExParams =
+ (LPLINEINITIALIZEEXPARAMS) AllocFromTestHeap (
+ sizeof(LINEINITIALIZEEXPARAMS));
+ lpTapiLineTestInfo->lpLineInitializeExParams->dwTotalSize =
+ sizeof(LINEINITIALIZEEXPARAMS);
+ lpTapiLineTestInfo->lpLineInitializeExParams->dwOptions =
+ LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
+
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszDestAddress = L"55555";
+ lpTapiLineTestInfo->lpwszGroupID = NULL;
+#else
+ lpTapiLineTestInfo->lpszDestAddress = "55555";
+ lpTapiLineTestInfo->lpszGroupID = NULL;
+#endif
+
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: invalid hLine values", dwTestCase + 1
+ );
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ lpTapiLineTestInfo->hLine_Orig = *(lpTapiLineTestInfo->lphLine);
+ for (n = 0; n < NUMINVALIDHANDLES; n++)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_DETAIL,
+ "n= %ld", n);
+ *(lpTapiLineTestInfo->lphLine) = (HLINE) gdwInvalidHandles[n];
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_INVALLINEHANDLE, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ *(lpTapiLineTestInfo->lphLine) = lpTapiLineTestInfo->hLine_Orig;
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Bad dwAddressID -1", dwTestCase + 1
+ );
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ lpTapiLineTestInfo->dwAddressID = 0xffffffff;
+// SP didn't check dwAddressID
+// if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_INVALADDRESSID, TRUE))
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ else
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_OPERATIONUNAVAIL, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Bad dwAddressID, dwNumAddressID ", dwTestCase + 1
+ );
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+ lpTapiLineTestInfo->lpLineDevCaps = (LPLINEDEVCAPS)
+ AllocFromTestHeap(sizeof(LINEDEVCAPS));
+ lpTapiLineTestInfo->lpLineDevCaps->dwTotalSize = sizeof(LINEDEVCAPS);
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LGETDEVCAPS | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ lpTapiLineTestInfo->dwAddressID =
+ lpTapiLineTestInfo->lpLineDevCaps->dwNumAddresses;
+
+// if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_INVALADDRESSID, TRUE))
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ else
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_OPERATIONUNAVAIL, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ FreeTestHeap();
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: invalid lphCall values", dwTestCase + 1
+ );
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ 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;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ for (n = 0; n < NUMINVALIDHANDLES; n++)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_DETAIL,
+ "n= %ld", n);
+ lpTapiLineTestInfo->lphCall = (LPHCALL) gdwInvalidHandles[n];
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_INVALPOINTER, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ fTestPassed = ShowTestCase(fTestPassed);
+ lpTapiLineTestInfo->hCall1 = 0;
+ lpTapiLineTestInfo->lphCall = &lpTapiLineTestInfo->hCall1;
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+
+#ifdef WUNICODE
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: invalid lpwszDestAddress values", dwTestCase + 1
+ );
+#else
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: invalid lpszDestAddress values", dwTestCase + 1
+ );
+#endif
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ for (n = 1; n < NUMINVALIDHANDLES; n++)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_DETAIL,
+ "n= %ld", n);
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszDestAddress = (LPWSTR) gdwInvalidHandles[n];
+#else
+ lpTapiLineTestInfo->lpszDestAddress = (LPSTR) gdwInvalidHandles[n];
+#endif
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_INVALPOINTER, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ fTestPassed = ShowTestCase(fTestPassed);
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszDestAddress = L"55555";
+#else
+ lpTapiLineTestInfo->lpszDestAddress = "55555";
+#endif
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+#ifdef WUNICODE
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: invalid lpwszGroupID values", dwTestCase + 1
+ );
+#else
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: invalid lpszGroupID values", dwTestCase + 1
+ );
+#endif
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ for (n = 1; n < NUMINVALIDHANDLES; n++)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_DETAIL,
+ "n= %ld", n);
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszGroupID = (LPWSTR) gdwInvalidHandles[n];
+#else
+ lpTapiLineTestInfo->lpszGroupID = (LPSTR) gdwInvalidHandles[n];
+#endif
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_INVALPOINTER, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: verify hCall can't be used", dwTestCase + 1
+ );
+
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszDestAddress = wszValidAddress;
+#else
+ lpTapiLineTestInfo->lpszDestAddress = szValidAddress;
+#endif
+ lpTapiLineTestInfo->dwCountryCode = 0;
+
+ if (! DoLineDial(lpTapiLineTestInfo, LINEERR_INVALCALLHANDLE, TRUE))
+ {
+ TLINE_FAIL();
+ }
+
+ fTestPassed = ShowTestCase(fTestPassed);
+
+
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszGroupID = L"0";
+#else
+ lpTapiLineTestInfo->lpszGroupID = "0";
+#endif
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Success, verify LINE_CALLSTATE|UNKNOWN msg sent", dwTestCase + 1
+ );
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_MONITOR;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ if(fTestPassed)
+ {
+ AddMessage(
+ LINE_CALLSTATE,
+ (DWORD) lpTapiLineTestInfo->hLine1,
+ (DWORD) lpCallbackParams,
+ LINECALLSTATE_OFFERING,
+ 0x00000000,
+ 0x00000000,
+ TAPIMSG_DWMSG |
+// TAPIMSG_HDEVCALL |
+ TAPIMSG_DWCALLBACKINST |
+ TAPIMSG_DWPARAM1
+ );
+
+ if (! WaitForAllMessages())
+ {
+ TLINE_FAIL();
+ fTestPassed = FALSE;
+ }
+ else
+ fTestPassed = TRUE;
+ }
+ }
+ else
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_OPERATIONUNAVAIL, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+
+ fTestPassed = ShowTestCase(fTestPassed);
+
+
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+#ifdef WUNICODE
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Success, lpwszGroupID = null", dwTestCase + 1
+ );
+#else
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Success, lpszGroupID = null", dwTestCase + 1
+ );
+#endif
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_MONITOR;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszDestAddress = L"55555";
+ lpTapiLineTestInfo->lpwszGroupID = NULL;
+#else
+ lpTapiLineTestInfo->lpszDestAddress = "55555";
+ lpTapiLineTestInfo->lpszGroupID = NULL;
+#endif
+
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ else
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_OPERATIONUNAVAIL, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+#ifdef WUNICODE
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Success, lpwszDestAddress = null", dwTestCase + 1
+ );
+#else
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Success, lpszDestAddress = null", dwTestCase + 1
+ );
+#endif
+
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ lpTapiLineTestInfo->lpdwAPIVersion = &lpTapiLineTestInfo->dwAPIVersion;
+ lpTapiLineTestInfo->dwAPIVersion = TAPI_VERSION2_0;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_MONITOR;
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+#ifdef WUNICODE
+ lpTapiLineTestInfo->lpwszDestAddress = NULL;
+ lpTapiLineTestInfo->lpwszGroupID = L"123";
+#else
+ lpTapiLineTestInfo->lpszDestAddress = NULL;
+ lpTapiLineTestInfo->lpszGroupID = "123";
+#endif
+
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+ else
+ {
+ if (! DoLinePickup(lpTapiLineTestInfo, LINEERR_OPERATIONUNAVAIL, TRUE))
+ {
+ TLINE_FAIL();
+ }
+ }
+
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ // Shutdown to isolate the test case
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LSHUTDOWN
+ ))
+ {
+ TLINE_FAIL();
+
+ }
+ FreeTestHeap();
+
+ for(n = ESP_RESULT_CALLCOMPLPROCSYNC; n <= ESP_RESULT_CALLCOMPLPROCASYNC; n++)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Success, completionID = %d", dwTestCase + 1, n
+ );
+
+ TapiLineTestInit();
+ lpTapiLineTestInfo = GetLineTestInfo();
+ lpCallbackParams = GetCallbackParams();
+
+ lpTapiLineTestInfo->lphCall = &lpTapiLineTestInfo->hCall1;
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ 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;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->lpLineDevCaps = (LPLINEDEVCAPS) AllocFromTestHeap(
+ sizeof(LINEDEVCAPS)
+ );
+ lpTapiLineTestInfo->lpLineDevCaps->dwTotalSize = sizeof(LINEDEVCAPS);
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+
+ // Init a line
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LGETDEVCAPS | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ info.dwKey = ESPDEVSPECIFIC_KEY;
+ info.dwType = ESP_DEVSPEC_RESULT;
+ info.u.EspResult.lResult = TAPISUCCESS;
+ info.u.EspResult.dwCompletionType = n;
+ lpTapiLineTestInfo->lpParams = (LPVOID)&info;
+ lpTapiLineTestInfo->dwSize = sizeof(info);
+
+ if(! DoLineDevSpecific(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+
+ if ( ! DoLinePickup(lpTapiLineTestInfo, info.u.EspResult.lResult, TRUE))
+ {
+ TLINE_FAIL();
+ }
+
+ }
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ }
+
+ // Shutdown to isolate the test case
+ if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ }
+
+ // Free the memory allocated during the tests
+ FreeTestHeap();
+ }
+
+ for(n = ESP_RESULT_RETURNRESULT; n <= ESP_RESULT_CALLCOMPLPROCASYNC; n++)
+ {
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">> Test Case %ld: Error, completionID = %d", dwTestCase + 1, n
+ );
+
+ TapiLineTestInit();
+ lpTapiLineTestInfo = GetLineTestInfo();
+ lpCallbackParams = GetCallbackParams();
+
+ lpTapiLineTestInfo->lphCall = &lpTapiLineTestInfo->hCall1;
+ lpTapiLineTestInfo->lphLine = &lpTapiLineTestInfo->hLine1;
+ 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;
+ lpTapiLineTestInfo->dwAPILowVersion = LOW_APIVERSION;
+ lpTapiLineTestInfo->dwAPIHighVersion = HIGH_APIVERSION;
+ lpTapiLineTestInfo->lpLineDevCaps = (LPLINEDEVCAPS) AllocFromTestHeap(
+ sizeof(LINEDEVCAPS)
+ );
+ lpTapiLineTestInfo->lpLineDevCaps->dwTotalSize = sizeof(LINEDEVCAPS);
+ lpTapiLineTestInfo->dwMediaModes = LINEMEDIAMODE_DATAMODEM;
+ lpTapiLineTestInfo->dwPrivileges = LINECALLPRIVILEGE_OWNER;
+ lpTapiLineTestInfo->dwSelect = LINECALLSELECT_ADDRESS;
+
+ // Init a line
+ if (! DoTapiLineFuncs(
+ lpTapiLineTestInfo,
+ LINITIALIZEEX | LNEGOTIATEAPIVERSION | LGETDEVCAPS | LOPEN
+ ))
+ {
+ TLINE_FAIL();
+ }
+
+ if(IsESPLineDevice(lpTapiLineTestInfo))
+ {
+ info.dwKey = ESPDEVSPECIFIC_KEY;
+ info.dwType = ESP_DEVSPEC_RESULT;
+ info.u.EspResult.lResult = LINEERR_INVALADDRESSID;
+ info.u.EspResult.dwCompletionType = n;
+ lpTapiLineTestInfo->lpParams = (LPVOID)&info;
+ lpTapiLineTestInfo->dwSize = sizeof(info);
+
+ if(! DoLineDevSpecific(lpTapiLineTestInfo, TAPISUCCESS, TRUE))
+ {
+ TLINE_FAIL();
+ }
+
+ lpTapiLineTestInfo->fCompletionModeSet = TRUE;
+ if ( ! DoLinePickup(lpTapiLineTestInfo, info.u.EspResult.lResult, FALSE))
+ {
+ TLINE_FAIL();
+ }
+
+ AddMessage(
+ LINE_REPLY,
+ (DWORD) lpTapiLineTestInfo->hCall1,
+ (DWORD) lpCallbackParams,
+ 0x00000000,
+ info.u.EspResult.lResult,
+ 0x00000000,
+ TAPIMSG_DWMSG | TAPIMSG_DWPARAM2
+ );
+
+ if( !WaitForAllMessages())
+ {
+ TLINE_FAIL();
+ }
+
+
+ lpTapiLineTestInfo->fCompletionModeSet = FALSE;
+ }
+ fTestPassed = ShowTestCase(fTestPassed);
+
+ if (! DoLineClose(lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ }
+
+ // Shutdown to isolate the test case
+ if (! DoLineShutdown(lpTapiLineTestInfo, TAPISUCCESS))
+ {
+ TLINE_FAIL();
+ }
+
+ // Free the memory allocated during the tests
+ FreeTestHeap();
+ }
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ "@@ linePickup: 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);
+ if(dwTestCaseFailed > 0)
+ fTestPassed = FALSE;
+
+ TapiLogDetail(
+ DBUG_SHOW_PASS,
+ ">>>>>>>> End testing linePickup <<<<<<<<"
+ );
+
+ return fTestPassed;
+}
+
+