include: Allow using debug.h in tests.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2019-12-17 15:54:38 +01:00
parent 7638682433
commit c8f3383696
8 changed files with 14 additions and 228 deletions

View File

@ -37,35 +37,6 @@ static IDxDiagContainer *pddc;
static const WCHAR DxDiag_SystemInfo[] = {'D','x','D','i','a','g','_','S','y','s','t','e','m','I','n','f','o',0}; static const WCHAR DxDiag_SystemInfo[] = {'D','x','D','i','a','g','_','S','y','s','t','e','m','I','n','f','o',0};
static const WCHAR DxDiag_DisplayDevices[] = {'D','x','D','i','a','g','_','D','i','s','p','l','a','y','D','e','v','i','c','e','s',0}; static const WCHAR DxDiag_DisplayDevices[] = {'D','x','D','i','a','g','_','D','i','s','p','l','a','y','D','e','v','i','c','e','s',0};
/* Based on debugstr_variant in dlls/jscript/jsutils.c. */
static const char *debugstr_variant(const VARIANT *var)
{
static char buf[400];
if (!var)
return "(null)";
switch (V_VT(var))
{
case VT_EMPTY:
return "{VT_EMPTY}";
case VT_BSTR:
sprintf(buf, "{VT_BSTR: %s}", wine_dbgstr_w(V_BSTR(var)));
break;
case VT_BOOL:
sprintf(buf, "{VT_BOOL: %x}", V_BOOL(var));
break;
case VT_UI4:
sprintf(buf, "{VT_UI4: %u}", V_UI4(var));
break;
default:
sprintf(buf, "{vt %d}", V_VT(var));
break;
}
return buf;
}
static BOOL create_root_IDxDiagContainer(void) static BOOL create_root_IDxDiagContainer(void)
{ {
HRESULT hr; HRESULT hr;

View File

@ -48,7 +48,7 @@ static LONG child_failures;
static HMODULE ntdll; static HMODULE ntdll;
static void WINAPIV WINETEST_PRINTF_ATTR(2, 3) test_child_ok(int condition, const char *msg, ...) static void WINAPIV __WINE_PRINTF_ATTR(2, 3) test_child_ok(int condition, const char *msg, ...)
{ {
__ms_va_list valist; __ms_va_list valist;

View File

@ -282,7 +282,7 @@ static void get_file_name(char* buf)
* static void childPrintf * static void childPrintf
* *
*/ */
static void WINAPIV WINETEST_PRINTF_ATTR(2,3) childPrintf(HANDLE h, const char* fmt, ...) static void WINAPIV __WINE_PRINTF_ATTR(2,3) childPrintf(HANDLE h, const char* fmt, ...)
{ {
__ms_va_list valist; __ms_va_list valist;
char buffer[1024+4*MAX_LISTED_ENV_VAR]; char buffer[1024+4*MAX_LISTED_ENV_VAR];

View File

@ -19,7 +19,6 @@
#define COBJMACROS #define COBJMACROS
#define CONST_VTABLE #define CONST_VTABLE
#include <wine/test.h>
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
@ -32,6 +31,7 @@
#include "docobj.h" #include "docobj.h"
#include "hlink.h" #include "hlink.h"
#include "dispex.h" #include "dispex.h"
#include "wine/test.h"
#include "mshtml_test.h" #include "mshtml_test.h"
#include "objsafe.h" #include "objsafe.h"
#include "htiface.h" #include "htiface.h"
@ -604,34 +604,6 @@ static BSTR a2bstr(const char *str)
return ret; return ret;
} }
static const char *debugstr_variant(const VARIANT *var)
{
static char buf[400];
if (!var)
return "(null)";
switch (V_VT(var))
{
case VT_EMPTY:
return "{VT_EMPTY}";
case VT_BSTR:
sprintf(buf, "{VT_BSTR: %s}", wine_dbgstr_w(V_BSTR(var)));
break;
case VT_BOOL:
sprintf(buf, "{VT_BOOL: %x}", V_BOOL(var));
break;
case VT_UI4:
sprintf(buf, "{VT_UI4: %u}", V_UI4(var));
break;
default:
sprintf(buf, "{vt %d}", V_VT(var));
break;
}
return buf;
}
static BOOL iface_cmp(IUnknown *iface1, IUnknown *iface2) static BOOL iface_cmp(IUnknown *iface1, IUnknown *iface2)
{ {
IUnknown *unk1, *unk2; IUnknown *unk1, *unk2;

View File

@ -18,7 +18,6 @@
#define COBJMACROS #define COBJMACROS
#include <wine/test.h>
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
@ -27,6 +26,7 @@
#include "ole2.h" #include "ole2.h"
#include "mshtml.h" #include "mshtml.h"
#include "objsafe.h" #include "objsafe.h"
#include "wine/test.h"
static BSTR a2bstr(const char *str) static BSTR a2bstr(const char *str)
{ {
@ -454,34 +454,6 @@ static void test_header(const struct HEADER_TYPE expect[], int num)
} }
} }
static const char *debugstr_variant(const VARIANT *var)
{
static char buf[400];
if (!var)
return "(null)";
switch (V_VT(var))
{
case VT_EMPTY:
return "{VT_EMPTY}";
case VT_BSTR:
sprintf(buf, "{VT_BSTR: %s}", wine_dbgstr_w(V_BSTR(var)));
break;
case VT_BOOL:
sprintf(buf, "{VT_BOOL: %x}", V_BOOL(var));
break;
case VT_UI4:
sprintf(buf, "{VT_UI4: %u}", V_UI4(var));
break;
default:
sprintf(buf, "{vt %d}", V_VT(var));
break;
}
return buf;
}
static void test_illegal_xml(IXMLDOMDocument *xmldom) static void test_illegal_xml(IXMLDOMDocument *xmldom)
{ {
IXMLDOMNode *first, *last; IXMLDOMNode *first, *last;
@ -500,7 +472,7 @@ static void test_illegal_xml(IXMLDOMDocument *xmldom)
ok(hres == E_INVALIDARG, "Expect E_INVALIDARG, got %08x\n", hres); ok(hres == E_INVALIDARG, "Expect E_INVALIDARG, got %08x\n", hres);
hres = IXMLDOMDocument_get_dataType(xmldom, &variant); hres = IXMLDOMDocument_get_dataType(xmldom, &variant);
ok(hres == S_FALSE, "get_dataType failed: %08x\n", hres); ok(hres == S_FALSE, "get_dataType failed: %08x\n", hres);
ok(V_VT(&variant) == VT_NULL, "got %s\n", debugstr_variant(&variant)); ok(V_VT(&variant) == VT_NULL, "got %s\n", wine_dbgstr_variant(&variant));
VariantClear(&variant); VariantClear(&variant);
hres = IXMLDOMDocument_get_text(xmldom, &bstr); hres = IXMLDOMDocument_get_text(xmldom, &bstr);

View File

@ -60,7 +60,7 @@ static const struct
static LONG obj_ref, class_ref, server_locks; static LONG obj_ref, class_ref, server_locks;
static const char *debugstr_guid(const GUID *guid) static const char *debugstr_ole_guid(const GUID *guid)
{ {
int i; int i;
@ -92,7 +92,7 @@ static HRESULT WINAPI UnknownImpl_QueryInterface(IUnknown *iface,
{ {
UnknownImpl *This = impl_from_IUnknown(iface); UnknownImpl *This = impl_from_IUnknown(iface);
trace("server: unknown_QueryInterface: %p,%s,%p\n", iface, debugstr_guid(iid), ppv); trace("server: unknown_QueryInterface: %p,%s,%p\n", iface, debugstr_ole_guid(iid), ppv);
if (!ppv) return E_INVALIDARG; if (!ppv) return E_INVALIDARG;
@ -153,7 +153,7 @@ static HRESULT WINAPI ClassFactoryImpl_QueryInterface(IClassFactory *iface,
{ {
ClassFactoryImpl *This = impl_from_IClassFactory(iface); ClassFactoryImpl *This = impl_from_IClassFactory(iface);
trace("server: factory_QueryInterface: %p,%s,%p\n", iface, debugstr_guid(iid), ppv); trace("server: factory_QueryInterface: %p,%s,%p\n", iface, debugstr_ole_guid(iid), ppv);
if (!ppv) return E_INVALIDARG; if (!ppv) return E_INVALIDARG;
@ -197,7 +197,7 @@ static HRESULT WINAPI ClassFactoryImpl_CreateInstance(IClassFactory *iface,
UnknownImpl *unknown; UnknownImpl *unknown;
HRESULT hr; HRESULT hr;
trace("server: factory_CreateInstance: %p,%s,%p\n", iface, debugstr_guid(iid), ppv); trace("server: factory_CreateInstance: %p,%s,%p\n", iface, debugstr_ole_guid(iid), ppv);
if (punkouter) return CLASS_E_NOAGGREGATION; if (punkouter) return CLASS_E_NOAGGREGATION;

View File

@ -29,10 +29,6 @@
#include <guiddef.h> #include <guiddef.h>
#endif #endif
#ifdef __WINE_WINE_TEST_H
#error This file should not be used in Wine tests
#endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif

View File

@ -25,6 +25,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <windef.h> #include <windef.h>
#include <winbase.h> #include <winbase.h>
#include <wine/debug.h>
#ifdef __WINE_CONFIG_H #ifdef __WINE_CONFIG_H
#error config.h should not be used in Wine tests #error config.h should not be used in Wine tests
@ -35,9 +36,6 @@
#ifdef __WINE_WINE_UNICODE_H #ifdef __WINE_WINE_UNICODE_H
#error wine/unicode.h should not be used in Wine tests #error wine/unicode.h should not be used in Wine tests
#endif #endif
#ifdef __WINE_WINE_DEBUG_H
#error wine/debug.h should not be used in Wine tests
#endif
#ifndef INVALID_FILE_ATTRIBUTES #ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES (~0u) #define INVALID_FILE_ATTRIBUTES (~0u)
@ -77,12 +75,6 @@ extern LONG winetest_get_failures(void);
extern void winetest_add_failures( LONG new_failures ); extern void winetest_add_failures( LONG new_failures );
extern void winetest_wait_child_process( HANDLE process ); extern void winetest_wait_child_process( HANDLE process );
extern const char *wine_dbgstr_wn( const WCHAR *str, int n );
extern const char *wine_dbgstr_guid( const GUID *guid );
extern const char *wine_dbgstr_rect( const RECT *rect );
static inline const char *wine_dbgstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); }
extern const char *wine_dbgstr_longlong( ULONGLONG ll );
#ifdef STANDALONE #ifdef STANDALONE
#define START_TEST(name) \ #define START_TEST(name) \
static void func_##name(void); \ static void func_##name(void); \
@ -104,16 +96,10 @@ extern int broken( int condition );
extern int winetest_vok( int condition, const char *msg, __winetest_va_list ap ); extern int winetest_vok( int condition, const char *msg, __winetest_va_list ap );
extern void winetest_vskip( const char *msg, __winetest_va_list ap ); extern void winetest_vskip( const char *msg, __winetest_va_list ap );
#ifdef __GNUC__ extern void __winetest_cdecl winetest_ok( int condition, const char *msg, ... ) __WINE_PRINTF_ATTR(2,3);
# define WINETEST_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args))) extern void __winetest_cdecl winetest_skip( const char *msg, ... ) __WINE_PRINTF_ATTR(1,2);
#else extern void __winetest_cdecl winetest_win_skip( const char *msg, ... ) __WINE_PRINTF_ATTR(1,2);
# define WINETEST_PRINTF_ATTR(fmt,args) extern void __winetest_cdecl winetest_trace( const char *msg, ... ) __WINE_PRINTF_ATTR(1,2);
#endif
extern void __winetest_cdecl winetest_ok( int condition, const char *msg, ... ) WINETEST_PRINTF_ATTR(2,3);
extern void __winetest_cdecl winetest_skip( const char *msg, ... ) WINETEST_PRINTF_ATTR(1,2);
extern void __winetest_cdecl winetest_win_skip( const char *msg, ... ) WINETEST_PRINTF_ATTR(1,2);
extern void __winetest_cdecl winetest_trace( const char *msg, ... ) WINETEST_PRINTF_ATTR(1,2);
#ifdef WINETEST_NO_LINE_NUMBERS #ifdef WINETEST_NO_LINE_NUMBERS
# define subtest_(file, line) (winetest_set_location(file, 0), 0) ? (void)0 : winetest_subtest # define subtest_(file, line) (winetest_set_location(file, 0), 0) ? (void)0 : winetest_subtest
@ -266,24 +252,6 @@ static struct tls_data *get_tls_data(void)
return data; return data;
} }
/* allocate some tmp space for a string */
static char *get_temp_buffer( size_t n )
{
struct tls_data *data = get_tls_data();
char *res = data->str_pos;
if (res + n >= &data->strings[sizeof(data->strings)]) res = data->strings;
data->str_pos = res + n;
return res;
}
/* release extra space that we requested in get_temp_buffer() */
static void release_temp_buffer( char *ptr, size_t size )
{
struct tls_data *data = get_tls_data();
data->str_pos = ptr + size;
}
static void exit_process( int code ) static void exit_process( int code )
{ {
fflush( stdout ); fflush( stdout );
@ -488,99 +456,6 @@ void winetest_wait_child_process( HANDLE process )
} }
} }
const char *wine_dbgstr_wn( const WCHAR *str, int n )
{
char *dst, *res;
size_t size;
if (!((ULONG_PTR)str >> 16))
{
if (!str) return "(null)";
res = get_temp_buffer( 6 );
sprintf( res, "#%04x", LOWORD(str) );
return res;
}
if (n == -1)
{
const WCHAR *end = str;
while (*end) end++;
n = end - str;
}
if (n < 0) n = 0;
size = 12 + min( 300, n * 5 );
dst = res = get_temp_buffer( size );
*dst++ = 'L';
*dst++ = '"';
while (n-- > 0 && dst <= res + size - 10)
{
WCHAR c = *str++;
switch (c)
{
case '\n': *dst++ = '\\'; *dst++ = 'n'; break;
case '\r': *dst++ = '\\'; *dst++ = 'r'; break;
case '\t': *dst++ = '\\'; *dst++ = 't'; break;
case '"': *dst++ = '\\'; *dst++ = '"'; break;
case '\\': *dst++ = '\\'; *dst++ = '\\'; break;
default:
if (c >= ' ' && c <= 126)
*dst++ = (char)c;
else
{
*dst++ = '\\';
sprintf(dst,"%04x",c);
dst+=4;
}
}
}
*dst++ = '"';
if (n > 0)
{
*dst++ = '.';
*dst++ = '.';
*dst++ = '.';
}
*dst++ = 0;
release_temp_buffer( res, dst - res );
return res;
}
const char *wine_dbgstr_guid( const GUID *guid )
{
char *res;
if (!guid) return "(null)";
res = get_temp_buffer( 39 ); /* CHARS_IN_GUID */
sprintf( res, "{%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
guid->Data1, guid->Data2, guid->Data3, guid->Data4[0],
guid->Data4[1], guid->Data4[2], guid->Data4[3], guid->Data4[4],
guid->Data4[5], guid->Data4[6], guid->Data4[7] );
return res;
}
const char *wine_dbgstr_rect( const RECT *rect )
{
char *res;
if (!rect) return "(null)";
res = get_temp_buffer( 60 );
sprintf( res, "(%d,%d)-(%d,%d)", rect->left, rect->top, rect->right, rect->bottom );
release_temp_buffer( res, strlen(res) + 1 );
return res;
}
const char *wine_dbgstr_longlong( ULONGLONG ll )
{
char *res;
res = get_temp_buffer( 17 );
if (sizeof(ll) > sizeof(unsigned long) && ll >> 32)
sprintf( res, "%lx%08lx", (unsigned long)(ll >> 32), (unsigned long)ll );
else
sprintf( res, "%lx", (unsigned long)ll );
release_temp_buffer( res, strlen(res) + 1 );
return res;
}
/* Find a test by name */ /* Find a test by name */
static const struct test *find_test( const char *name ) static const struct test *find_test( const char *name )
{ {