summaryrefslogtreecommitdiffstats
path: root/private/oleutest/oletest/letests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'private/oleutest/oletest/letests.cpp')
-rw-r--r--private/oleutest/oletest/letests.cpp155
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
+
+}