This test and tests in last patch tested on Win7 laptop with DWM service both running and stopped Win7 testbots don`t have DWM service enabled so some tests will be skipped there. On win8 and higher DWM is enabled by default
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com --- configure | 1 + configure.ac | 1 + dlls/dwmapi/tests/Makefile.in | 5 ++ dlls/dwmapi/tests/dwmapi.c | 92 +++++++++++++++++++++++++++++++++++ include/dwmapi.h | 3 ++ include/winerror.h | 2 + 6 files changed, 104 insertions(+) create mode 100644 dlls/dwmapi/tests/Makefile.in create mode 100644 dlls/dwmapi/tests/dwmapi.c
diff --git a/configure b/configure index 9d4a7a8b78..0b780a3576 100755 --- a/configure +++ b/configure @@ -19411,6 +19411,7 @@ wine_fn_config_makefile dlls/dssenh/tests enable_tests wine_fn_config_makefile dlls/dswave enable_dswave wine_fn_config_makefile dlls/dswave/tests enable_tests wine_fn_config_makefile dlls/dwmapi enable_dwmapi +wine_fn_config_makefile dlls/dwmapi/tests enable_tests wine_fn_config_makefile dlls/dwrite enable_dwrite wine_fn_config_makefile dlls/dwrite/tests enable_tests wine_fn_config_makefile dlls/dx8vb enable_dx8vb diff --git a/configure.ac b/configure.ac index b64d99e9d1..ecb5b80e74 100644 --- a/configure.ac +++ b/configure.ac @@ -3264,6 +3264,7 @@ WINE_CONFIG_MAKEFILE(dlls/dssenh/tests) WINE_CONFIG_MAKEFILE(dlls/dswave) WINE_CONFIG_MAKEFILE(dlls/dswave/tests) WINE_CONFIG_MAKEFILE(dlls/dwmapi) +WINE_CONFIG_MAKEFILE(dlls/dwmapi/tests) WINE_CONFIG_MAKEFILE(dlls/dwrite) WINE_CONFIG_MAKEFILE(dlls/dwrite/tests) WINE_CONFIG_MAKEFILE(dlls/dx8vb) diff --git a/dlls/dwmapi/tests/Makefile.in b/dlls/dwmapi/tests/Makefile.in new file mode 100644 index 0000000000..f365f96c72 --- /dev/null +++ b/dlls/dwmapi/tests/Makefile.in @@ -0,0 +1,5 @@ +TESTDLL = dwmapi.dll +IMPORTS = dwmapi + +C_SRCS = \ + dwmapi.c diff --git a/dlls/dwmapi/tests/dwmapi.c b/dlls/dwmapi/tests/dwmapi.c new file mode 100644 index 0000000000..1307206362 --- /dev/null +++ b/dlls/dwmapi/tests/dwmapi.c @@ -0,0 +1,92 @@ +/* + * Unit tests for dwmapi + * + * Copyright 2018 Louis Lenders + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * + */ + +#include "dwmapi.h" + +#include "wine/test.h" + +static HRESULT (WINAPI *pDwmIsCompositionEnabled)(BOOL*); +static HRESULT (WINAPI *pDwmEnableComposition)(UINT); + +BOOL dwmenabled; + +static void test_isdwmenabled(void) +{ + HRESULT res; + BOOL ret; + + ret = -1; + res = pDwmIsCompositionEnabled(&ret); + ok((res == S_OK && ret == TRUE) || (res == S_OK && ret == FALSE), "got %x and %d\n", res, ret); + + if (res == S_OK && ret == TRUE) /*to test enable DWM service via services.msc*/ + dwmenabled = TRUE; + else /*to test disable DWM service via services.msc*/ + dwmenabled = FALSE; + + if (dwmenabled) /* disable and reenable dwm*/ + { + ret = -1; + res = pDwmEnableComposition(DWM_EC_DISABLECOMPOSITION); + ok(res == S_OK, "got %x expected S_OK\n", res); + + res = pDwmIsCompositionEnabled(&ret); + ok(res == S_OK && ret == FALSE, "got %x and %d\n", res, ret); + + ret = -1; + res = pDwmEnableComposition(DWM_EC_ENABLECOMPOSITION); + ok(res == S_OK, "got %x\n", res); + + res = pDwmIsCompositionEnabled(&ret); + todo_wine ok(res == S_OK && ret == TRUE, "got %x and %d\n", res, ret); + } + else + { + ret = -1; + res = pDwmEnableComposition(DWM_EC_ENABLECOMPOSITION); /*cannot enable DWM composition this way*/ + todo_wine ok(res == DWM_E_COMPOSITIONDISABLED, "got %x expected S_OK\n", res); + + res = pDwmIsCompositionEnabled(&ret); + ok(res == S_OK && ret == FALSE, "got %x and %d\n", res, ret); + } +} + +START_TEST(dwmapi) +{ + HMODULE hmod = LoadLibraryA("dwmapi.dll"); + + if (!hmod) + { + trace("dwmapi not found, skipping tests\n"); + return; + } + + pDwmIsCompositionEnabled = (void *)GetProcAddress(hmod, "DwmIsCompositionEnabled"); + pDwmEnableComposition = (void *)GetProcAddress(hmod, "DwmEnableComposition"); + + if (!pDwmIsCompositionEnabled || !pDwmEnableComposition) + { + trace("essential function pointers not found, skipping tests\n"); + return; + } + + test_isdwmenabled(); +} diff --git a/include/dwmapi.h b/include/dwmapi.h index b2f39deae5..12527aee62 100644 --- a/include/dwmapi.h +++ b/include/dwmapi.h @@ -101,6 +101,9 @@ typedef struct _MilMatrix3x2D DOUBLE DY; } MilMatrix3x2D;
+#define DWM_EC_DISABLECOMPOSITION 0 +#define DWM_EC_ENABLECOMPOSITION 1 + #define DWM_BB_ENABLE 0x00000001 #define DWM_BB_BLURREGION 0x00000002 #define DWM_BB_TRANSITIONONMAXIMIZED 0x00000004 diff --git a/include/winerror.h b/include/winerror.h index d78c91e84e..a97b405c34 100644 --- a/include/winerror.h +++ b/include/winerror.h @@ -3090,6 +3090,8 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x) #define WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY _HRESULT_TYPEDEF_(0x80072f8e) #define WININET_E_DECODING_FAILED _HRESULT_TYPEDEF_(0x80072f8f)
+#define DWM_E_COMPOSITIONDISABLED _HRESULT_TYPEDEF_(0x80263001) + #define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS _HRESULT_TYPEDEF_(0x887c0001) #define D3D11_ERROR_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x887c0002) #define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS _HRESULT_TYPEDEF_(0x887c0003)
Fix for https://bugs.winehq.org/show_bug.cgi?id=43177 Classic Shell uses this undocumented api, some tests are in last patch
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com --- dlls/dwmapi/dwmapi.spec | 2 +- dlls/dwmapi/dwmapi_main.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/dlls/dwmapi/dwmapi.spec b/dlls/dwmapi/dwmapi.spec index 37447195b3..efddf2bf9a 100644 --- a/dlls/dwmapi/dwmapi.spec +++ b/dlls/dwmapi/dwmapi.spec @@ -20,7 +20,7 @@ 124 stub @ 125 stub DwmpDxBindSwapChain 126 stub DwmpDxUnbindSwapChain -127 stub @ +127 stdcall DwmpGetColorizationParameters(ptr) 128 stub DwmpDxgiIsThreadDesktopComposited 129 stub @ 130 stub @ diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c index 76e225f791..e11b0fcaf1 100644 --- a/dlls/dwmapi/dwmapi_main.c +++ b/dlls/dwmapi/dwmapi_main.c @@ -286,3 +286,26 @@ HRESULT WINAPI DwmSetIconicThumbnail(HWND hwnd, HBITMAP hbmp, DWORD flags) FIXME("(%p %p %x) stub\n", hwnd, hbmp, flags); return S_OK; }; + +typedef struct _DWMCOLORIZATIONPARAMS { + DWORD color; + DWORD glow; + DWORD color_int; + DWORD glow_int; + DWORD blur_int; + DWORD refl_int; + DWORD opaque; +} DWMCOLORIZATIONPARAMS; + +/********************************************************************** + * DwmpGetColorizationParameters (DWMAPI.127) + */ +HRESULT WINAPI DwmpGetColorizationParameters(DWMCOLORIZATIONPARAMS *param) +{ + if (!param) + return E_INVALIDARG; + + memset(param, 0, sizeof(DWMCOLORIZATIONPARAMS)); + FIXME("(%p)\n", param); + return DWM_E_COMPOSITIONDISABLED; +}
Added stub for this api as well, mainly to make test for DwmpGetColorizationParameter useful. Google learns it is used for example in https://github.com/qJake/molten-core/blob/master/Molten.Core.WinApi/DwmColor...
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com --- dlls/dwmapi/dwmapi.spec | 2 +- dlls/dwmapi/dwmapi_main.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/dlls/dwmapi/dwmapi.spec b/dlls/dwmapi/dwmapi.spec index efddf2bf9a..2a07d1a82f 100644 --- a/dlls/dwmapi/dwmapi.spec +++ b/dlls/dwmapi/dwmapi.spec @@ -24,7 +24,7 @@ 128 stub DwmpDxgiIsThreadDesktopComposited 129 stub @ 130 stub @ -131 stub @ +131 stdcall DwmpSetColorizationParameters(ptr long) 132 stub @ 133 stub DwmpDxUpdateWindowRedirectionBltSurface 134 stub @ diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c index e11b0fcaf1..e9355e67a4 100644 --- a/dlls/dwmapi/dwmapi_main.c +++ b/dlls/dwmapi/dwmapi_main.c @@ -309,3 +309,17 @@ HRESULT WINAPI DwmpGetColorizationParameters(DWMCOLORIZATIONPARAMS *param) FIXME("(%p)\n", param); return DWM_E_COMPOSITIONDISABLED; } + +/********************************************************************** + * DwmpSetColorizationParameters (DWMAPI.131) + */ +HRESULT WINAPI DwmpSetColorizationParameters(DWMCOLORIZATIONPARAMS *param, BOOL ret) +{ + + if (!param) + return E_INVALIDARG; + + FIXME("(%p)->(%x, %x, %d, %d, %d, %d, %d) (%d)\n", param, param->color, param->glow, param->color_int, + param->glow_int, param->blur_int, param->refl_int, param->opaque, ret); + return DWM_E_COMPOSITIONDISABLED; +}
Tests for Dwmp{Get,Set}ColorizationParameters, I could verify that the first parameter is color RGB, and the 5th an 7th give a ``blur behind window`` and opacity effect. As for the others: i guess one have to have a trained/artistic eye to see the effects.
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com --- dlls/dwmapi/tests/dwmapi.c | 87 +++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-)
diff --git a/dlls/dwmapi/tests/dwmapi.c b/dlls/dwmapi/tests/dwmapi.c index 1307206362..7ede96ce8b 100644 --- a/dlls/dwmapi/tests/dwmapi.c +++ b/dlls/dwmapi/tests/dwmapi.c @@ -23,8 +23,20 @@
#include "wine/test.h"
+typedef struct _DWMCOLORIZATIONPARAMS { + DWORD color; + DWORD glow; + DWORD color_int; + DWORD glow_int; + DWORD blur_int; + DWORD refl_int; + DWORD opaque; +} DWMCOLORIZATIONPARAMS; + static HRESULT (WINAPI *pDwmIsCompositionEnabled)(BOOL*); static HRESULT (WINAPI *pDwmEnableComposition)(UINT); +static HRESULT (WINAPI *pDwmpGetColorizationParameters)(DWMCOLORIZATIONPARAMS*); +static HRESULT (WINAPI *pDwmpSetColorizationParameters)(DWMCOLORIZATIONPARAMS*,BOOL);
BOOL dwmenabled;
@@ -69,6 +81,76 @@ static void test_isdwmenabled(void) } }
+static void test_colorization(void) +{ + int i; + HRESULT res; + DWMCOLORIZATIONPARAMS p0 = {0}; /*to store initial values to restore desktop appearance later */ + + DWMCOLORIZATIONPARAMS p[] = + { + { 0, 0, 0, 0, 0, 0, 0}, + {0x00FF0000, 0, 0, 0, 0, 0, 0}, + {0x00FF0000, 0x00FF0000, 0, 0, 0, 0, 0}, + {0x00FF0000, 0, 0x00FF0000, 0, 0, 0, 0}, + {0x00FF0000, 0x00FF0000, 0x00FF0000, 0, 0, 0, 0}, + {0x00FF0000, 0 ,0x00FF0000, 0x00FF0000, 0, 0, 0}, + {0x00FF0000, 0, 0x00FF0000, 0, 0x00FF0000, 0, 0}, /* 5th parameter gives some kind of transparancy */ + {0x00FF0000, 0, 0x00FF0000, 0, 0, 0x00FF0000, 0}, + {0x00FF0000, 0, 0x00FF0000, 0, 0, 0, 0x00FF0000} + }; + + if (!pDwmpSetColorizationParameters || !pDwmpGetColorizationParameters) + win_skip("function pointer pDwmp{S,G}etColorizationParameters not found in dwmapi, skipping test\n"); + + res = pDwmpGetColorizationParameters(NULL); + ok(res == E_INVALIDARG, "got %x expected E_INVALIDARG\n", res); + + /*DwmpGetColorizationParameters returns success, whether DWM is enabled or not*/ + res = pDwmpGetColorizationParameters(&p0); + todo_wine ok(res == S_OK, "got %x expected S_OK\n", res); + + if (winetest_debug > 1) + trace("initial %x, %x, %d, %d, %d, %d, %d\n", p0.color, p0.glow, p0.color_int, p0.glow_int, + p0.blur_int, p0.refl_int, p0.opaque); + + for (i = 0; i < ARRAY_SIZE(p); i++) + { + res = pDwmpSetColorizationParameters(&p[i], FALSE); + + if (dwmenabled) + { + todo_wine ok(res == S_OK, "got %x expected S_OK\n", res); + + if (winetest_debug > 1) + { + trace("testing %x, %x, %d, %d, %d, %d, %d\n", p[i].color, p[i].glow, p[i].color_int, p[i].glow_int, + p[i].blur_int, p[i].refl_int, p[i].opaque); + Sleep(4000); + } + } + else + ok(res == DWM_E_COMPOSITIONDISABLED, "got %x expected DWM_E_COMPOSITIONDISABLED\n", res); + + res = pDwmpGetColorizationParameters(&p[i]); + todo_wine ok(res == S_OK, "got %x expected S_OK\n", res); + /* these parameters have max. value 120 -->intensity values (?) */ + ok(p[i].color_int <= 120 && p[i].glow_int <= 120 && p[i].blur_int <= 120 && p[i].refl_int <=120, \ + "test failed, got %d %d %d %d\n", p[i].color_int, p[i].glow_int, p[i].blur_int, p[i].refl_int); + + if (winetest_debug > 1) + trace("got %x, %x, %d, %d, %d, %d, %d\n", p[i].color, p[i].glow, p[i].color_int, p[i].glow_int, + p[i].blur_int, p[i].refl_int, p[i].opaque); + } + + /* restore initial values (note: if last param is TRUE, this somehow doesn`t work */ + res = pDwmpSetColorizationParameters(&p0, FALSE); + if (dwmenabled) + todo_wine ok(res == S_OK, "got %x expected S_OK\n", res); + else + ok(res == DWM_E_COMPOSITIONDISABLED, "got %x expected DWM_E_COMPOSITIONDISABLED\n", res); +} + START_TEST(dwmapi) { HMODULE hmod = LoadLibraryA("dwmapi.dll"); @@ -81,12 +163,15 @@ START_TEST(dwmapi)
pDwmIsCompositionEnabled = (void *)GetProcAddress(hmod, "DwmIsCompositionEnabled"); pDwmEnableComposition = (void *)GetProcAddress(hmod, "DwmEnableComposition"); + pDwmpGetColorizationParameters = (void *)GetProcAddress(hmod, (LPSTR)127); + pDwmpSetColorizationParameters = (void *)GetProcAddress(hmod, (LPSTR)131);
if (!pDwmIsCompositionEnabled || !pDwmEnableComposition) { - trace("essential function pointers not found, skipping tests\n"); + trace("essential function pointers not found, skipping all tests\n"); return; }
test_isdwmenabled(); + test_colorization(); }
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=43380
Your paranoid android.
=== wvistau64 (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== wvistau64_zh_CN (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== wvistau64_fr (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== wvistau64_he (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== w2008s64 (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== w7u (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK
=== w7pro64 (32 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK
=== w8 (32 bit Windows report) ===
dwmapi: dwmapi.c:64: Test failed: got 0 and 1 dwmapi.c:138: Test failed: test failed, got 120 0 0 16711680
=== w8adm (32 bit Windows report) ===
dwmapi: dwmapi.c:64: Test failed: got 0 and 1 dwmapi.c:138: Test failed: test failed, got 120 0 0 16711680
=== w864 (32 bit Windows report) ===
dwmapi: dwmapi.c:64: Test failed: got 0 and 1 dwmapi.c:138: Test failed: test failed, got 120 0 0 16711680
=== w1064 (32 bit Windows report) ===
dwmapi: dwmapi.c:64: Test failed: got 0 and 1 dwmapi.c:138: Test failed: test failed, got 120 0 0 16711680
=== wvistau64 (64 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== w2008s64 (64 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK dwmapi.c:111: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 16711680 0 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 16711680 0 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 16711680 dwmapi.c:133: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED dwmapi.c:136: Test failed: got 80070057 expected S_OK dwmapi.c:138: Test failed: test failed, got 16711680 0 0 0 dwmapi.c:151: Test failed: got 0 expected DWM_E_COMPOSITIONDISABLED
=== w7pro64 (64 bit Windows report) ===
dwmapi: dwmapi.c:77: Test failed: got 0 expected S_OK
=== w864 (64 bit Windows report) ===
dwmapi: dwmapi.c:64: Test failed: got 0 and 1 dwmapi.c:138: Test failed: test failed, got 120 0 0 16711680
=== w1064 (64 bit Windows report) ===
dwmapi: dwmapi.c:64: Test failed: got 0 and 1 dwmapi.c:138: Test failed: test failed, got 120 0 0 16711680
Hi,
While running your changed tests on Windows, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=43377
Your paranoid android.
=== wvistau64 (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== wvistau64_zh_CN (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== wvistau64_fr (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== wvistau64_he (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w2008s64 (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w7u (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w7pro64 (32 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w8 (32 bit Windows report) ===
dwmapi: dwmapi.c:52: Test failed: got 0 and 1
=== w8adm (32 bit Windows report) ===
dwmapi: dwmapi.c:52: Test failed: got 0 and 1
=== w864 (32 bit Windows report) ===
dwmapi: dwmapi.c:52: Test failed: got 0 and 1
=== w1064 (32 bit Windows report) ===
dwmapi: dwmapi.c:52: Test failed: got 0 and 1
=== wvistau64 (64 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w2008s64 (64 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w7pro64 (64 bit Windows report) ===
dwmapi: dwmapi.c:65: Test failed: got 0 expected S_OK
=== w864 (64 bit Windows report) ===
dwmapi: dwmapi.c:52: Test failed: got 0 and 1
=== w1064 (64 bit Windows report) ===
dwmapi: dwmapi.c:52: Test failed: got 0 and 1