Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- include/wine/test.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/wine/test.h b/include/wine/test.h index 4ec66d5391..3d47bfbce2 100644 --- a/include/wine/test.h +++ b/include/wine/test.h @@ -126,6 +126,14 @@ extern void __winetest_cdecl winetest_trace( const char *msg, ... ) WINETEST_PRI #define todo_wine todo_if(!strcmp(winetest_platform, "wine")) #define todo_wine_if(is_todo) todo_if((is_todo) && !strcmp(winetest_platform, "wine"))
+#ifdef _WIN64 +#define todo_wine32 +#define todo_wine64 todo_wine +#else +#define todo_wine32 todo_wine +#define todo_wine64 +#endif +
#ifdef NONAMELESSUNION # define U(x) (x).u
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ieframe/tests/ie.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/ieframe/tests/ie.c b/dlls/ieframe/tests/ie.c index cb901d7763..a4f4eb9a82 100644 --- a/dlls/ieframe/tests/ie.c +++ b/dlls/ieframe/tests/ie.c @@ -261,6 +261,7 @@ static void test_InternetExplorer(void) return;
hres = IUnknown_QueryInterface(unk, &IID_IWebBrowser2, (void**)&wb); +todo_wine64 ok(hres == S_OK, "Could not get IWebBrowser2 interface: %08x\n", hres); if (hres != S_OK) { IUnknown_Release(unk);
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- I imitated the existing code style in each function.
dlls/oleaut32/tests/tmarshal.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-)
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c index 67b8e22642..77192dc1b1 100644 --- a/dlls/oleaut32/tests/tmarshal.c +++ b/dlls/oleaut32/tests/tmarshal.c @@ -1305,7 +1305,7 @@ static void test_typelibmarshal(void)
IStream_Seek(pStream, ullZero, STREAM_SEEK_SET, NULL); hr = CoUnmarshalInterface(pStream, &IID_IKindaEnumWidget, (void **)&pKEW); - ok_ole_success(hr, CoUnmarshalInterface); + todo_wine64 ok_ole_success(hr, CoUnmarshalInterface); IStream_Release(pStream);
hr = IKindaEnumWidget_Next(pKEW, &pWidget); @@ -1331,7 +1331,7 @@ static void test_typelibmarshal(void) VariantInit(&varresult); hr = IDispatch_Invoke(pDispatch, DISPID_TM_NAME, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYPUT, &dispparams, &varresult, &excepinfo, NULL); ok_ole_success(hr, IDispatch_Invoke); - ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode); VariantClear(&varresult); @@ -1350,7 +1350,7 @@ static void test_typelibmarshal(void) VariantInit(&varresult); hr = IDispatch_Invoke(pDispatch, DISPID_TM_NAME, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYGET, &dispparams, &varresult, &excepinfo, NULL); ok_ole_success(hr, IDispatch_Invoke); - ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode); trace("Name = %s\n", wine_dbgstr_w(V_BSTR(&varresult))); @@ -1481,7 +1481,7 @@ static void test_typelibmarshal(void) hr = IDispatch_Invoke(pDispatch, DISPID_TM_CLONEDISPATCH, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYGET, &dispparams, &varresult, &excepinfo, NULL); ok_ole_success(hr, IDispatch_Invoke);
- ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode);
@@ -1498,7 +1498,7 @@ static void test_typelibmarshal(void) hr = IDispatch_Invoke(pDispatch, DISPID_TM_CLONECOCLASS, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYGET, &dispparams, &varresult, &excepinfo, NULL); ok_ole_success(hr, IDispatch_Invoke);
- ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode);
@@ -1514,7 +1514,7 @@ static void test_typelibmarshal(void) VariantInit(&varresult); hr = IDispatch_Invoke(pDispatch, DISPID_TM_COCLASS, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL); todo_wine ok_ole_success(hr, IDispatch_Invoke); - ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode); VariantClear(&varresult); @@ -1533,7 +1533,7 @@ static void test_typelibmarshal(void) hr = IDispatch_Invoke(pDispatch, DISPID_VALUE, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_PROPERTYGET, &dispparams, &varresult, &excepinfo, NULL); ok_ole_success(hr, IDispatch_Invoke);
- ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode);
@@ -1588,10 +1588,10 @@ static void test_typelibmarshal(void) V_I4(&vararg[1]) = 2; hr = IWidget_VariantCArray(pWidget, 2, vararg); ok_ole_success(hr, IWidget_VariantCArray); - todo_wine - ok(V_VT(&vararg[0]) == VT_I4 && V_I4(&vararg[0]) == 2, "vararg[0] = %d[%d]\n", V_VT(&vararg[0]), V_I4(&vararg[0])); - todo_wine - ok(V_VT(&vararg[1]) == VT_I4 && V_I4(&vararg[1]) == 3, "vararg[1] = %d[%d]\n", V_VT(&vararg[1]), V_I4(&vararg[1])); + todo_wine32 ok(V_VT(&vararg[0]) == VT_I4 && V_I4(&vararg[0]) == 2, + "vararg[0] = %d[%d]\n", V_VT(&vararg[0]), V_I4(&vararg[0])); + todo_wine32 ok(V_VT(&vararg[1]) == VT_I4 && V_I4(&vararg[1]) == 3, + "vararg[1] = %d[%d]\n", V_VT(&vararg[1]), V_I4(&vararg[1]));
/* call VarArg */ VariantInit(&vararg[3]); @@ -1661,7 +1661,7 @@ static void test_typelibmarshal(void) VariantInit(&varresult); hr = IDispatch_Invoke(pDispatch, DISPID_TM_ERROR, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, NULL, &excepinfo, NULL); ok(hr == DISP_E_EXCEPTION, "IDispatch_Invoke should have returned DISP_E_EXCEPTION instead of 0x%08x\n", hr); - ok(excepinfo.wCode == 0x0 && excepinfo.scode == E_NOTIMPL, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == E_NOTIMPL, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode); VariantClear(&varresult); @@ -1687,7 +1687,7 @@ static void test_typelibmarshal(void) hr = ITypeInfo_Invoke(pTypeInfo, &NonOleAutomation, DISPID_NOA_ERROR, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL); ok(hr == DISP_E_EXCEPTION, "ITypeInfo_Invoke should have returned DISP_E_EXCEPTION instead of 0x%08x\n", hr); ok(V_VT(&varresult) == VT_EMPTY, "V_VT(&varresult) should be VT_EMPTY instead of %d\n", V_VT(&varresult)); - ok(excepinfo.wCode == 0x0 && excepinfo.scode == E_NOTIMPL, + todo_wine64 ok(excepinfo.wCode == 0x0 && excepinfo.scode == E_NOTIMPL, "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", excepinfo.wCode, excepinfo.scode); VariantClear(&varresult); @@ -1998,6 +1998,7 @@ static void test_external_connection(void)
IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); hres = CoUnmarshalInterface(stream, &IID_ItestDual, (void**)&iface); + todo_wine64 ok(hres == S_OK, "CoUnmarshalInterface failed: %08x\n", hres); ok(external_connections == 1, "external_connections = %d\n", external_connections);
@@ -2006,6 +2007,7 @@ static void test_external_connection(void)
/* Creating a stub for new iface causes new external connection. */ hres = ItestDual_QueryInterface(iface, &IID_ITestSecondDisp, (void**)&second); + todo_wine64 ok(hres == S_OK, "Could not get ITestSecondDisp iface: %08x\n", hres); todo_wine ok(external_connections == 2, "external_connections = %d\n", external_connections); @@ -2017,6 +2019,7 @@ static void test_external_connection(void)
expect_last_release_closes = TRUE; ItestDual_Release(iface); + todo_wine64 ok(external_connections == 0, "external_connections = %d\n", external_connections);
end_host_object(tid, thread); @@ -2028,12 +2031,14 @@ static void test_external_connection(void) expect_last_release_closes = FALSE; hres = CoMarshalInterface(stream, &IID_ItestDual, (IUnknown*)&TestDual, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL); ok(hres == S_OK, "CoMarshalInterface failed: %08x\n", hres); + todo_wine64 ok(external_connections == 1, "external_connections = %d\n", external_connections);
expect_last_release_closes = TRUE; IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); hres = CoReleaseMarshalData(stream); ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres); + todo_wine64 ok(external_connections == 0, "external_connections = %d\n", external_connections);
/* Two separated marshal data are still one external connection. */ @@ -2044,21 +2049,25 @@ static void test_external_connection(void) IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); hres = CoMarshalInterface(stream, &IID_ItestDual, (IUnknown*)&TestDual, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL); ok(hres == S_OK, "CoMarshalInterface failed: %08x\n", hres); + todo_wine64 ok(external_connections == 1, "external_connections = %d\n", external_connections);
hres = CoMarshalInterface(stream2, &IID_ItestDual, (IUnknown*)&TestDual, MSHCTX_INPROC, NULL, MSHLFLAGS_NORMAL); ok(hres == S_OK, "CoMarshalInterface failed: %08x\n", hres); + todo_wine64 ok(external_connections == 1, "external_connections = %d\n", external_connections);
IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); hres = CoReleaseMarshalData(stream); ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres); + todo_wine64 ok(external_connections == 1, "external_connections = %d\n", external_connections);
expect_last_release_closes = TRUE; IStream_Seek(stream2, zero, STREAM_SEEK_SET, NULL); hres = CoReleaseMarshalData(stream2); ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres); + todo_wine64 ok(external_connections == 0, "external_connections = %d\n", external_connections);
IStream_Release(stream); @@ -2070,17 +2079,20 @@ static void test_external_connection(void)
hres = CoMarshalInterface(stream, &IID_ItestDual, (IUnknown*)&TestDual, MSHCTX_INPROC, NULL, MSHLFLAGS_TABLEWEAK); ok(hres == S_OK, "CoMarshalInterface failed: %08x\n", hres); + todo_wine64 ok(external_connections == 0, "external_connections = %d\n", external_connections);
IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); hres = CoUnmarshalInterface(stream, &IID_ItestDual, (void**)&iface); ok(hres == S_OK, "CoUnmarshalInterface failed: %08x\n", hres); + todo_wine64 ok(external_connections == 0, "external_connections = %d\n", external_connections); ItestDual_Release(iface);
IStream_Seek(stream, zero, STREAM_SEEK_SET, NULL); hres = CoReleaseMarshalData(stream); ok(hres == S_OK, "CoReleaseMarshalData failed: %08x\n", hres); + todo_wine64 ok(external_connections == 0, "external_connections = %d\n", external_connections);
IStream_Release(stream);
Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/shell32/tests/shelldispatch.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/shell32/tests/shelldispatch.c b/dlls/shell32/tests/shelldispatch.c index 64a695dc0d..788df6a970 100644 --- a/dlls/shell32/tests/shelldispatch.c +++ b/dlls/shell32/tests/shelldispatch.c @@ -1008,6 +1008,7 @@ static void test_ShellWindows(void)
hr = CoCreateInstance(&CLSID_ShellWindows, NULL, CLSCTX_LOCAL_SERVER, &IID_IShellWindows, (void**)&shellwindows); +todo_wine64 ok(hr == S_OK, "got 0x%08x\n", hr); /* TODO: remove when explorer startup with clean prefix is fixed */ if (hr != S_OK)
Alex Henrie alexhenrie24@gmail.com writes:
Signed-off-by: Alex Henrie alexhenrie24@gmail.com
include/wine/test.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/wine/test.h b/include/wine/test.h index 4ec66d5391..3d47bfbce2 100644 --- a/include/wine/test.h +++ b/include/wine/test.h @@ -126,6 +126,14 @@ extern void __winetest_cdecl winetest_trace( const char *msg, ... ) WINETEST_PRI #define todo_wine todo_if(!strcmp(winetest_platform, "wine")) #define todo_wine_if(is_todo) todo_if((is_todo) && !strcmp(winetest_platform, "wine"))
+#ifdef _WIN64 +#define todo_wine32 +#define todo_wine64 todo_wine +#else +#define todo_wine32 todo_wine +#define todo_wine64 +#endif
That doesn't look like something that would be used enough to justify new global macros, especially now that we have todo_wine_if() that can be used for this.
On 12/02/18 04:29, Alexandre Julliard wrote:
Alex Henrie alexhenrie24@gmail.com writes:
Signed-off-by: Alex Henrie alexhenrie24@gmail.com
include/wine/test.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/wine/test.h b/include/wine/test.h index 4ec66d5391..3d47bfbce2 100644 --- a/include/wine/test.h +++ b/include/wine/test.h @@ -126,6 +126,14 @@ extern void __winetest_cdecl winetest_trace( const char *msg, ... ) WINETEST_PRI #define todo_wine todo_if(!strcmp(winetest_platform, "wine")) #define todo_wine_if(is_todo) todo_if((is_todo) && !strcmp(winetest_platform, "wine"))
+#ifdef _WIN64 +#define todo_wine32 +#define todo_wine64 todo_wine +#else +#define todo_wine32 todo_wine +#define todo_wine64 +#endif
That doesn't look like something that would be used enough to justify new global macros, especially now that we have todo_wine_if() that can be used for this.
Why not just do
#ifndef __i386__ todo_wine #endif
inside each relevant test? Especially since the marshalling tests will fail also on ARM.