mirror of
https://github.com/reactos/reactos.git
synced 2024-08-20 18:35:32 +00:00
![Jérôme Gardou](/assets/img/avatar_default.png)
Also, put include directory next to the library and use target_include_directories(.. INTERFACE ..) to get this right. This is because : - Having includes & implementation in two different places buggers me - This makes sure that there is no "if it compiles everything is fine" behaviour from anyone because now even static libraries need it for GCC amd64 build Also add __USE_PSEH2__ define for the non SEH-aware compilers out there and use it in a few headers where we define macros involving __try
58 lines
2 KiB
C
58 lines
2 KiB
C
#ifndef _APITEST_H
|
|
#define _APITEST_H
|
|
|
|
// #define __ROS_LONG64__
|
|
|
|
/* The user must #define STANDALONE if it uses this header in testlist.c */
|
|
#define WIN32_NO_STATUS
|
|
#include <wine/test.h>
|
|
#undef WIN32_NO_STATUS
|
|
|
|
/* See kmtests/include/kmt_test.h */
|
|
#define InvalidPointer ((PVOID)0x5555555555555555ULL)
|
|
// #define InvalidPointer ((PVOID)0x0123456789ABCDEFULL)
|
|
|
|
#ifdef __USE_PSEH2__
|
|
#include <pseh/pseh2.h>
|
|
|
|
#define StartSeh() \
|
|
{ \
|
|
NTSTATUS ExceptionStatus = STATUS_SUCCESS; \
|
|
_SEH2_TRY \
|
|
{
|
|
|
|
#define EndSeh(ExpectedStatus) \
|
|
} \
|
|
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) \
|
|
{ \
|
|
ExceptionStatus = _SEH2_GetExceptionCode(); \
|
|
} \
|
|
_SEH2_END; \
|
|
ok(ExceptionStatus == (ExpectedStatus), \
|
|
"Exception 0x%08lx, expected 0x%08lx\n", \
|
|
ExceptionStatus, (ExpectedStatus)); \
|
|
}
|
|
#else
|
|
#define StartSeh() \
|
|
{ \
|
|
NTSTATUS ExceptionStatus = STATUS_SUCCESS; \
|
|
__try \
|
|
{
|
|
|
|
#define EndSeh(ExpectedStatus) \
|
|
} \
|
|
__except(EXCEPTION_EXECUTE_HANDLER) \
|
|
{ \
|
|
ExceptionStatus = GetExceptionCode(); \
|
|
} \
|
|
ok(ExceptionStatus == (ExpectedStatus), \
|
|
"Exception 0x%08lx, expected 0x%08lx\n", \
|
|
ExceptionStatus, (ExpectedStatus)); \
|
|
}
|
|
#endif
|
|
|
|
#define ok_hr(status, expected) ok_hex(status, expected)
|
|
#define ok_hr_(file, line, status, expected) ok_hex_(file, line, status, expected)
|
|
|
|
#endif /* _APITEST_H */
|