AUTOTEST.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //*---------------------------------------------------------------------------------
  2. //|  Title: AUTOTEST.H
  3. //|
  4. //| This file contains constants and prototypes required to compile an 
  5. //| Auto Test DLL.
  6. //*---------------------------------------------------------------------------------
  7. #ifndef AUTOTEST_DEFS
  8. #define AUTOTEST_DEFS
  9. #include <windows.h>
  10. #include <stdlib.h>
  11. #include <string.h>
  12. #include "sql.h"
  13. #include "sqlext.h"
  14. #ifdef __cplusplus
  15. extern "C" { 
  16. #endif /* __cplusplus */
  17. extern HINSTANCE hLoadedInst;
  18. //----------------------------------------------------------------------------------
  19. // Defines and Macros
  20. //----------------------------------------------------------------------------------
  21. #define TEST_ABORTED (-1)
  22. #define AUTO_MAX_TEST_NAME 35
  23. #define AUTO_MAX_TESTCASE_NAME 35
  24. #define AUTO_MAX_TESTDESC_NAME 75
  25. #define MAXFLUSH       300
  26. #define MAX_USER_INFO    50
  27. #define MAX_KEYWORD_LEN     149
  28. #ifdef WIN32
  29. #define EXTFUNCDECL _stdcall
  30. #define EXTFUN _stdcall
  31. #else
  32. #define EXTFUNCDECL
  33. #define EXTFUN __export FAR PASCAL
  34. #endif
  35. #define InitTest(lps)
  36. {  lps->cErrors=0; }
  37. #define AbortTest(lps)
  38. { lps->cErrors=TEST_ABORTED; }
  39. #define     AllocateMemory(cb)
  40.                 (GlobalLock(GlobalAlloc((GMEM_FIXED | GMEM_ZEROINIT), (cb))))
  41. #ifdef WIN32
  42. #define     ReleaseMemory(lp)
  43.  (GlobalUnlock((HGLOBAL)GlobalHandle(lp)), (BOOL)GlobalFree((HGLOBAL)GlobalHandle(lp)))
  44. #else
  45. #define     ReleaseMemory(lp)
  46.                 (GlobalUnlock(((HGLOBAL)LOWORD(GlobalHandle(SELECTOROF(lp))))), 
  47.                 (BOOL)GlobalFree(((HGLOBAL)LOWORD(GlobalHandle(SELECTOROF(lp))))))
  48. #endif
  49. #define NumItems(s) (sizeof(s) / sizeof(s[0]))
  50. // Following will access bit number pos in a bit array and return
  51. // TRUE if it is set, FALSE if it is not
  52. #define CQBITS (sizeof(UINT) * 8)
  53. #define getqbit(lpa, pos)
  54. (lpa[((pos) / CQBITS)] & (1 << ((pos) - (CQBITS * ((pos) / CQBITS)))))
  55. #define GETBIT(p1,p2) getqbit(p1,(p2)-1)
  56. //
  57. // This structure contains the information found in the .INI file for a 
  58. // data source.  The filled out structure is in turn passed to AutoTestFunc
  59. // to drive the individual tests.
  60. //
  61. typedef struct tagSERVERINFO {
  62. HWND   hwnd; // Output edit window
  63. TCHAR    szLogFile[_MAX_PATH]; // Output log file
  64. HENV  henv; // .EXE's henv
  65. HDBC  hdbc; // .EXE's hdbc
  66. HSTMT hstmt; // .EXE's hstmt
  67. // The following items are gathered from the .INI file and may be defined
  68. // via the "Manage Test Sources" menu item from ODBC Test
  69. TCHAR  szSource[SQL_MAX_DSN_LENGTH+1];
  70. TCHAR  szValidServer0[SQL_MAX_DSN_LENGTH+1];
  71. TCHAR  szValidLogin0[MAX_USER_INFO+1];
  72. TCHAR  szValidPassword0[MAX_USER_INFO+1];
  73. TCHAR szKeywords[MAX_KEYWORD_LEN+1];
  74. // Following are used for run-time
  75. UINT FAR *  rglMask;   // Run test mask
  76. int   failed; // Track failures on a test case basis
  77. int   cErrors; // Count of errors
  78. BOOL  fDebug; // TRUE if debugging is to be enabled
  79. BOOL  fScreen; // TRUE if test output goes to screen
  80. BOOL  fLog; // TRUE if test output goes to log
  81. BOOL  fIsolate; // TRUE to isolate output
  82. UDWORD vCursorLib; // Value for SQL_ODBC_CURSOR on SQLSetConnectOption
  83. HINSTANCE hLoadedInst; // Instance handle of loaded test
  84. // Following are used for buffering output to edit window
  85. TCHAR szBuff[MAXFLUSH]; // Hold temporary results
  86. UINT cBuff; // Number of TCHARs in szBuff
  87. } SERVERINFO;
  88. typedef SERVERINFO FAR * lpSERVERINFO;
  89. //----------------------------------------------------------------------------------
  90. // Function prototypes
  91. //----------------------------------------------------------------------------------
  92. BOOL EXTFUNCDECL FAR szLogPrintf(lpSERVERINFO lps, BOOL fForce, LPTSTR szFmt, ...);
  93. int EXTFUNCDECL FAR szMessageBox(HWND hwnd, UINT style, LPTSTR szTitle, LPTSTR szFmt, ...);
  94. LPTSTR EXTFUN GetRCString(HINSTANCE hInst, LPTSTR buf, int cbbuf, UINT ids);
  95. #ifdef __cplusplus
  96. }
  97. #endif
  98. #endif