diff options
Diffstat (limited to 'private/oleutest/oletest/letests.cpp')
-rw-r--r-- | private/oleutest/oletest/letests.cpp | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/private/oleutest/oletest/letests.cpp b/private/oleutest/oletest/letests.cpp new file mode 100644 index 000000000..7f1534360 --- /dev/null +++ b/private/oleutest/oletest/letests.cpp @@ -0,0 +1,155 @@ +//+------------------------------------------------------------------------- +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1992 - 1993. +// +// File: letests.cpp +// +// Contents: upper layer tests +// +// Classes: +// +// Functions: LETest1 +// +// History: dd-mmm-yy Author Comment +// 06-Feb-94 alexgo author +// +//-------------------------------------------------------------------------- + +#include "oletest.h" +#include "letest.h" + +// Test1 information +SLETestInfo letiInsertObjectTest1 = { "simpdnd", WM_TEST1 }; + +SLETestInfo letiInplaceTest1 = { "simpcntr", WM_TEST1 }; +SLETestInfo letiOle1Test1 = { "simpdnd", WM_TEST2 }; + +// Test2 information +SLETestInfo letiInsertObjectTest2 = { "spdnd16", WM_TEST1 }; + +SLETestInfo letiOle1Test2 = { "spdnd16", WM_TEST2 }; + + + +//+------------------------------------------------------------------------- +// +// Function: LETestCallback +// +// Synopsis: generic callback function for running L&E tests. +// +// Effects: +// +// Arguments: pvArg -- the test message to send to the app +// +// Requires: +// +// Returns: void +// +// Signals: +// +// Modifies: +// +// Algorithm: Create the process and wait for it to finish. The exit +// status is then returned. +// +// History: dd-mmm-yy Author Comment +// 06-Feb-94 alexgo author +// Notes: +// +//-------------------------------------------------------------------------- + +void LETestCallback( void *pvArg ) +{ + //the test app (simpdnd) should have just sent us a WM_TESTREG message. + + assert(vApp.m_message == WM_TESTREG); + + vApp.m_rgTesthwnd[0] = (HWND)vApp.m_wparam; + + //now tell the app to start the requested test + OutputString( "Tell LETest to Start\r\n"); + + PostMessage(vApp.m_rgTesthwnd[0], (UINT)pvArg, 0, 0); + + return; +} + +//+------------------------------------------------------------------------- +// +// Function: LETest1 +// +// Synopsis: Runs the app specified in the argument +// +// Effects: +// +// Arguments: pvArg -- unused +// +// Requires: +// +// Returns: void +// +// Signals: +// +// Modifies: +// +// Algorithm: Create the process and wait for it to finish. The exit +// status is then returned. +// +// History: dd-mmm-yy Author Comment +// 06-Feb-94 alexgo author +// Notes: +// +//-------------------------------------------------------------------------- + +void LETest1( void *pvArg ) +{ + SLETestInfo *pleti = (SLETestInfo *) pvArg; + +#ifdef WIN32 + + PROCESS_INFORMATION procinfo; + static STARTUPINFO startinfo; //to make it all zero + char szBuf[128]; + + //initialize the command line + + sprintf(szBuf, "%s%s -driver %lu", + vApp.m_pszDebuggerOption, + pleti->pszPgm, + vApp.m_hwndMain); + + startinfo.cb = sizeof(startinfo); + + if( CreateProcess(NULL, szBuf, NULL, NULL, NULL, NULL, NULL, + NULL, &startinfo, &procinfo) ) + { + //simpdnd launched, stuff a callback function in the stack + vApp.m_TaskStack.Push(LETestCallback, + (void *)((ULONG)pleti->dwMsgId)); + } + else + { + vApp.m_wparam = TEST_FAILURE; + vApp.m_lparam = (LPARAM)GetLastError(); + vApp.m_message = WM_TESTEND; + + HandleTestEnd(); + } + + return; + +#else + // 16bit Version!! + + vApp.m_wparam = TEST_SUCCESS; + vApp.m_lparam = 0; + vApp.m_message = WM_TESTEND; + + HandleTestEnd(); + + return; + +#endif // WIN32 + +} |