Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
February 2022
- 87 participants
- 3239 messages
ntdll: Check __WINE_PE_BUILD instead of compiler macros.
by Saulius Krasuckas
Fixes compilation on Cygwin, undeclared identifiers: _alldiv, _allmul,
_allrem, _aulldiv, _aullrem.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52607
Signed-off-by: Saulius Krasuckas <saulius2(a)ar-fi.lt>
---
dlls/ntdll/large_int.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ntdll/large_int.c b/dlls/ntdll/large_int.c
index 20ffd646a3e..b38074158c8 100644
--- a/dlls/ntdll/large_int.c
+++ b/dlls/ntdll/large_int.c
@@ -520,7 +520,7 @@ NTSTATUS WINAPI RtlInt64ToUnicodeString(
#ifdef __i386__
/* those builtin functions use stdcall calling convention, but
compilers reference them without stdcall declarations */
-#if defined(__MINGW32__) || defined(_MSC_VER)
+#ifdef __WINE_PE_BUILD
LONGLONG WINAPI _alldiv( LONGLONG a, LONGLONG b )
asm(__ASM_NAME("_alldiv"));
LONGLONG WINAPI _allmul( LONGLONG a, LONGLONG b )
asm(__ASM_NAME("_allmul"));
LONGLONG WINAPI _allrem( LONGLONG a, LONGLONG b )
asm(__ASM_NAME("_allrem"));
--
2.34.1
Feb. 28, 2022
Re: [PATCH 6/6] dinput/tests: Add tests for IGameControllerFactoryManagerStatics_RegisterCustomFactoryForHardwareId.
by Marvin
Hi,
While running your changed tests, 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=109445
Your paranoid android.
=== debian11 (32 bit report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit Arabic:Morocco report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit German report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit French report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit Hebrew:Israel report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit Hindi:India report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit Japanese:Japan report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (32 bit Chinese:China report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044104b).
=== debian11 (64 bit WoW report) ===
dinput:
hotplug.c:704: Test failed: RoGetActivationFactory failed, hr 0x80040154
hotplug.c:706: Test failed: RoGetActivationFactory failed, hr 0x80040154
Unhandled exception: page fault on read access to 0x0000000000000000 in 64-bit code (0x000000000043a4e0).
Feb. 28, 2022
[PATCH v3] combase: Add RoSetErrorReportingFlags stub
by Alistair Leslie-Hughes
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
---
dlls/combase/combase.spec | 2 +-
dlls/combase/roapi.c | 10 ++++++++++
include/roerrorapi.h | 1 +
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index c2fafacdea3..b3f4d25b42c 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -312,7 +312,7 @@
@ stub RoReportUnhandledError
@ stub RoResolveRestrictedErrorInfoReference
@ stub RoRevokeActivationFactories
-@ stub RoSetErrorReportingFlags
+@ stdcall RoSetErrorReportingFlags(long)
@ stub RoTransformError
@ stub RoTransformErrorW
@ stdcall RoUninitialize()
diff --git a/dlls/combase/roapi.c b/dlls/combase/roapi.c
index 0a17f02b776..d764137e512 100644
--- a/dlls/combase/roapi.c
+++ b/dlls/combase/roapi.c
@@ -316,3 +316,13 @@ HRESULT WINAPI DllGetActivationFactory(HSTRING classid, IActivationFactory **fac
return REGDB_E_CLASSNOTREG;
}
+
+/***********************************************************************
+ * RoSetErrorReportingFlags (combase.@)
+ */
+HRESULT WINAPI RoSetErrorReportingFlags(UINT32 flags)
+{
+ FIXME("%x\n", flags);
+ return S_OK;
+}
+
diff --git a/include/roerrorapi.h b/include/roerrorapi.h
index 454e1a6c2e9..de23537fd9b 100644
--- a/include/roerrorapi.h
+++ b/include/roerrorapi.h
@@ -26,5 +26,6 @@
HRESULT WINAPI GetRestrictedErrorInfo(IRestrictedErrorInfo **info);
BOOL WINAPI RoOriginateError(HRESULT error, HSTRING message);
BOOL WINAPI RoOriginateLanguageException(HRESULT error, HSTRING message, IUnknown *language_exception);
+HRESULT WINAPI RoSetErrorReportingFlags(UINT32 flags);
#endif /* _ROERROR_H */
--
2.34.1
Feb. 28, 2022
Re: [PATCH 22/27] dlls/kernel32/tests: enable compilation with long types
by Marvin
Hi,
While running your changed tests, 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=109434
Your paranoid android.
=== w7u_el (32 bit report) ===
kernel32:
comm.c:886: Test failed: WaitCommEvent used 1514 ms for waiting
=== w8adm (32 bit report) ===
kernel32:
comm.c:886: Test failed: WaitCommEvent used 1531 ms for waiting
=== w1064v1507 (32 bit report) ===
kernel32:
comm.c:859: Test failed: WaitCommEvent failed with a timeout
comm.c:880: Test failed: WaitCommEvent error 0
comm.c:881: Test failed: WaitCommEvent: expected EV_TXEMPTY, got 0
comm.c:886: Test failed: WaitCommEvent used 1500 ms for waiting
=== w10pro64_zh_CN (64 bit report) ===
kernel32:
comm.c:886: Test failed: WaitCommEvent used 1531 ms for waiting
=== w7u_2qxl (32 bit report) ===
kernel32:
debugger.c:1027: Test failed: ole32.dll was not reported
=== w7u_adm (32 bit report) ===
kernel32:
debugger.c:1027: Test failed: ole32.dll was not reported
=== w7u_el (32 bit report) ===
kernel32:
debugger.c:1027: Test failed: ole32.dll was not reported
=== w1064v1507 (32 bit report) ===
kernel32:
debugger.c:1776: Test failed: dwDebugEventCode = 1
=== w1064_tsign (32 bit report) ===
kernel32:
debugger.c:155: Test failed: unable to open 'C:\Users\winetest\AppData\Local\Temp\wt5D81.tmp'
debugger.c:155: Test failed: failed to open: C:\Users\winetest\AppData\Local\Temp\wt5D81.tmp
debugger.c:676: Test failed: the child and debugged pids don't match: 4340 != 4352
debugger: Timeout
=== w1064_tsign (64 bit report) ===
kernel32:
debugger.c:155: Test failed: unable to open 'C:\Users\winetest\AppData\Local\Temp\wt5B3F.tmp'
debugger.c:155: Test failed: failed to open: C:\Users\winetest\AppData\Local\Temp\wt5B3F.tmp
debugger.c:676: Test failed: the child and debugged pids don't match: 6916 != 4336
=== w1064 (32 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4070.
=== w1064_tsign (32 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4070.
=== w10pro64 (32 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4070.
=== w1064 (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w1064_2qxl (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w1064_tsign (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w10pro64 (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w10pro64_ar (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w10pro64_he (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w10pro64_ja (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w10pro64_zh_CN (64 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4070.
=== w10pro64 (32 bit report) ===
kernel32:
loader.c:2834: Test failed: attached thread count should be 2
=== w10pro64_he (64 bit report) ===
kernel32:
loader.c:720: Test failed: 1192: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c0000131
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c0000130
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1197: wrong status c000012f/c000011b
loader.c:720: Test failed: 1214: wrong status c000012f/c0000130
loader.c:720: Test failed: 1219: wrong status c000012f/c0000130
loader.c:720: Test failed: 1224: wrong status c000012f/c000007b
loader.c:720: Test failed: 1229: wrong status c000012f/c000007b
loader.c:720: Test failed: 1234: wrong status c000012f/c000007b
loader.c:720: Test failed: 1239: wrong status c000012f/c000007b
loader.c:720: Test failed: 1244: wrong status c000012f/c000007b
loader.c:720: Test failed: 1260: wrong status c000012f/0
loader.c:720: Test failed: 1264: wrong status c000012f/0
loader.c:720: Test failed: 1269: wrong status c000012f/0
loader.c:720: Test failed: 1273: wrong status c000012f/0
loader.c:720: Test failed: 1277: wrong status c000012f/0
loader.c:720: Test failed: 1431: wrong status c000012f/c000007b
loader.c:720: Test failed: 1439: wrong status c000012f/c000007b
loader.c:720: Test failed: 1444: wrong status c000012f/0
loader.c:724: Test failed: 1444: failed with c000012f expected fallback
loader.c:720: Test failed: 1450: wrong status c000012f/0
loader.c:724: Test failed: 1450: failed with c000012f expected fallback
loader.c:720: Test failed: 1456: wrong status c000012f/0
loader.c:724: Test failed: 1456: failed with c000012f expected fallback
loader.c:720: Test failed: 1463: wrong status c000012f/0
loader.c:724: Test failed: 1463: failed with c000012f expected fallback
loader.c:720: Test failed: 1469: wrong status c000012f/0
loader.c:720: Test failed: 1478: wrong status c000012f/0
loader.c:720: Test failed: 1482: wrong status c000012f/0
loader.c:720: Test failed: 1486: wrong status c000012f/0
loader.c:720: Test failed: 1490: wrong status c000012f/0
loader.c:720: Test failed: 1494: wrong status c000012f/0
=== debian11 (32 bit report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit Arabic:Morocco report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit German report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit French report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit Hebrew:Israel report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit Hindi:India report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit Japanese:Japan report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit Chinese:China report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (32 bit WoW report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 00000028, i 16.
fiber.c:530: Test failed: Got unexpected val 00000011, i 4078.
=== debian11 (64 bit WoW report) ===
kernel32:
fiber.c:530: Test failed: Got unexpected val 0000000000000028, i 16.
fiber.c:530: Test failed: Got unexpected val 0000000000000011, i 4078.
Feb. 28, 2022
[PATCH] mscoree: Add an override option for skipping the AppDomain search path.
by Esme Povirk
Signed-off-by: Esme Povirk <esme(a)codeweavers.com>
---
This allows for skipping dll's shipped with an application.
Combined with the Gac=n option this can force a specific library
to be loaded from Wine Mono's GAC.
This also requires a Wine Mono change to function:
https://github.com/madewokherd/mono/pull/30
The use case for this is applications that ship with broken dll's
for which Wine Mono has a replacement. These dll's were generally
copied from .NET Framework (which probably isn't technically
allowed), and depend on impelmentation details.
dlls/mscoree/metahost.c | 36 +++++++++++++++++++++++++++++++---
dlls/mscoree/mscoree_private.h | 2 ++
2 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/dlls/mscoree/metahost.c b/dlls/mscoree/metahost.c
index 8e28ad2f8db..c72f510c8ac 100644
--- a/dlls/mscoree/metahost.c
+++ b/dlls/mscoree/metahost.c
@@ -130,10 +130,12 @@ MonoThread* (CDECL *mono_thread_attach)(MonoDomain *domain);
void (CDECL *mono_thread_manage)(void);
void (CDECL *mono_trace_set_print_handler)(MonoPrintCallback callback);
void (CDECL *mono_trace_set_printerr_handler)(MonoPrintCallback callback);
+static void (CDECL *wine_mono_install_assembly_preload_hook)(WineMonoAssemblyPreLoadFunc func, void *user_data);
static BOOL find_mono_dll(LPCWSTR path, LPWSTR dll_path);
static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
+static MonoAssembly* CDECL wine_mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, int *search_path, void *user_data);
static void CDECL mono_shutdown_callback_fn(MonoProfiler *prof);
@@ -249,6 +251,7 @@ static HRESULT load_mono(LPCWSTR mono_path)
LOAD_OPT_MONO_FUNCTION(mono_set_crash_chaining, set_crash_chaining_dummy);
LOAD_OPT_MONO_FUNCTION(mono_trace_set_print_handler, set_print_handler_dummy);
LOAD_OPT_MONO_FUNCTION(mono_trace_set_printerr_handler, set_print_handler_dummy);
+ LOAD_OPT_MONO_FUNCTION(wine_mono_install_assembly_preload_hook, NULL);
#undef LOAD_OPT_MONO_FUNCTION
@@ -279,7 +282,10 @@ static HRESULT load_mono(LPCWSTR mono_path)
mono_config_parse(NULL);
- mono_install_assembly_preload_hook(mono_assembly_preload_hook_fn, NULL);
+ if (wine_mono_install_assembly_preload_hook)
+ wine_mono_install_assembly_preload_hook(wine_mono_assembly_preload_hook_fn, NULL);
+ else
+ mono_install_assembly_preload_hook(mono_assembly_preload_hook_fn, NULL);
aot_size = GetEnvironmentVariableA("WINE_MONO_AOT", aot_setting, sizeof(aot_setting));
@@ -1366,6 +1372,9 @@ HRESULT CLRMetaHostPolicy_CreateInstance(REFIID riid, void **ppobj)
* WINE_MONO_OVERRIDES=*,Gac=n
* Never search the GAC for libraries.
*
+ * WINE_MONO_OVERRIDES=*,PrivatePath=n
+ * Never search the AppDomain search path for libraries.
+ *
* WINE_MONO_OVERRIDES=Microsoft.Xna.Framework,Gac=n
* Never search the GAC for Microsoft.Xna.Framework
*
@@ -1377,7 +1386,8 @@ HRESULT CLRMetaHostPolicy_CreateInstance(REFIID riid, void **ppobj)
/* assembly search override flags */
#define ASSEMBLY_SEARCH_GAC 1
#define ASSEMBLY_SEARCH_UNDEFINED 2
-#define ASSEMBLY_SEARCH_DEFAULT ASSEMBLY_SEARCH_GAC
+#define ASSEMBLY_SEARCH_PRIVATEPATH 4
+#define ASSEMBLY_SEARCH_DEFAULT (ASSEMBLY_SEARCH_GAC|ASSEMBLY_SEARCH_PRIVATEPATH)
typedef struct override_entry {
char *name;
@@ -1426,6 +1436,14 @@ static void parse_override_entry(override_entry *entry, const char *string, int
entry->flags &= ~ASSEMBLY_SEARCH_GAC;
}
break;
+ case 11:
+ if (!_strnicmp(string, "privatepath", 11)) {
+ if (IS_OPTION_TRUE(*value))
+ entry->flags |= ASSEMBLY_SEARCH_PRIVATEPATH;
+ else if (IS_OPTION_FALSE(*value))
+ entry->flags &= ~ASSEMBLY_SEARCH_PRIVATEPATH;
+ }
+ break;
default:
break;
}
@@ -1688,6 +1706,12 @@ static MonoAssembly* mono_assembly_try_load(WCHAR *path)
}
static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, void *user_data)
+{
+ int dummy;
+ return wine_mono_assembly_preload_hook_fn(aname, assemblies_path, &dummy, user_data);
+}
+
+static MonoAssembly* CDECL wine_mono_assembly_preload_hook_fn(MonoAssemblyName *aname, char **assemblies_path, int *halt_search, void *user_data)
{
HRESULT hr;
MonoAssembly *result=NULL;
@@ -1720,7 +1744,7 @@ static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname
if (!stringname || !assemblyname) return NULL;
search_flags = get_assembly_search_flags(aname);
- if (private_path)
+ if (private_path && (search_flags & ASSEMBLY_SEARCH_PRIVATEPATH) != 0)
{
stringnameW_size = MultiByteToWideChar(CP_UTF8, 0, assemblyname, -1, NULL, 0);
stringnameW = HeapAlloc(GetProcessHeap(), 0, stringnameW_size * sizeof(WCHAR));
@@ -1798,6 +1822,12 @@ static MonoAssembly* CDECL mono_assembly_preload_hook_fn(MonoAssemblyName *aname
else
TRACE("skipping Windows GAC search due to override setting\n");
+ if ((search_flags & ASSEMBLY_SEARCH_PRIVATEPATH) == 0)
+ {
+ TRACE("skipping AppDomain search path due to override setting\n");
+ *halt_search = 1;
+ }
+
done:
HeapFree(GetProcessHeap(), 0, cultureW);
mono_free(stringname);
diff --git a/dlls/mscoree/mscoree_private.h b/dlls/mscoree/mscoree_private.h
index 67b37482c5a..8f3441cd84e 100644
--- a/dlls/mscoree/mscoree_private.h
+++ b/dlls/mscoree/mscoree_private.h
@@ -143,6 +143,8 @@ typedef enum {
typedef MonoAssembly* (CDECL *MonoAssemblyPreLoadFunc)(MonoAssemblyName *aname, char **assemblies_path, void *user_data);
+typedef MonoAssembly* (CDECL *WineMonoAssemblyPreLoadFunc)(MonoAssemblyName *aname, char **assemblies_path, int *halt_search, void *user_data);
+
typedef void (CDECL *MonoProfileFunc)(MonoProfiler *prof);
typedef void (CDECL *MonoPrintCallback) (const char *string, INT is_stdout);
--
2.30.2
Feb. 28, 2022
Re: [PATCH 6/6] dinput/tests: Add tests for IGameControllerFactoryManagerStatics_RegisterCustomFactoryForHardwareId.
by Rémi Bernon
I just found that this last patch is actually causing a segfault, please
ignore it. Patches 1-5 should be fine.
--
Rémi Bernon <rbernon(a)codeweavers.com>
Feb. 28, 2022
Re: [PATCH vkd3d v2 5/5] vkd3d-shader/hlsl: Correctly calculate offsets for array elements.
by Francisco Casas
Signed-off-by: Francisco Casas <fcasas(a)codeweavers.com>
However, the previous patch
vkd3d-shader/hlsl: Remove trivial swizzles after each copy prop pass.
is required first, otherwise hlsl-nested-arrays.shader_test and
hlsl-struct-array.shader_test fail.
Which I guess is why Matteo wrote it.
Best regards,
Francisco.
February 24, 2022 11:06 AM, "Matteo Bruni" <mbruni(a)codeweavers.com> wrote:
> From: Zebediah Figura <zfigura(a)codeweavers.com>
>
> Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com>
> ---
> v2: Improve comment in the shader test.
>
> Makefile.am | 2 +-
> libs/vkd3d-shader/hlsl.c | 7 +++++++
> libs/vkd3d-shader/hlsl.h | 1 +
> libs/vkd3d-shader/hlsl.y | 2 +-
> libs/vkd3d-shader/hlsl_codegen.c | 2 +-
> tests/hlsl-struct-array.shader_test | 19 +++++++++++++++++++
> 6 files changed, 30 insertions(+), 3 deletions(-)
> create mode 100644 tests/hlsl-struct-array.shader_test
>
> diff --git a/Makefile.am b/Makefile.am
> index f3db6d06..85fadd38 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -93,6 +93,7 @@ vkd3d_shader_tests = \
> tests/hlsl-state-block-syntax.shader_test \
> tests/hlsl-static-initializer.shader_test \
> tests/hlsl-storage-qualifiers.shader_test \
> + tests/hlsl-struct-array.shader_test \
> tests/hlsl-struct-assignment.shader_test \
> tests/hlsl-struct-semantics.shader_test \
> tests/hlsl-vector-indexing.shader_test \
> @@ -325,7 +326,6 @@ XFAIL_TESTS = \
> tests/hlsl-majority-pragma.shader_test \
> tests/hlsl-majority-typedef.shader_test \
> tests/hlsl-mul.shader_test \
> - tests/hlsl-nested-arrays.shader_test \
> tests/hlsl-numeric-constructor-truncation.shader_test \
> tests/hlsl-numeric-types.shader_test \
> tests/hlsl-operations.shader_test \
> diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c
> index a9a42770..a5aafdb9 100644
> --- a/libs/vkd3d-shader/hlsl.c
> +++ b/libs/vkd3d-shader/hlsl.c
> @@ -202,6 +202,13 @@ static void hlsl_type_calculate_reg_size(struct hlsl_ctx *ctx, struct
> hlsl_type
> }
> }
>
> +/* Returns the size of a type, considered as part of an array of that type.
> + * As such it includes padding after the type. */
> +unsigned int hlsl_type_get_array_element_reg_size(const struct hlsl_type *type)
> +{
> + return align(type->reg_size, 4);
> +}
> +
> static struct hlsl_type *hlsl_new_type(struct hlsl_ctx *ctx, const char *name, enum hlsl_type_class
> type_class,
> enum hlsl_base_type base_type, unsigned dimx, unsigned dimy)
> {
> diff --git a/libs/vkd3d-shader/hlsl.h b/libs/vkd3d-shader/hlsl.h
> index 043d7fb3..8cce1273 100644
> --- a/libs/vkd3d-shader/hlsl.h
> +++ b/libs/vkd3d-shader/hlsl.h
> @@ -782,6 +782,7 @@ bool hlsl_scope_add_type(struct hlsl_scope *scope, struct hlsl_type *type);
> struct hlsl_type *hlsl_type_clone(struct hlsl_ctx *ctx, struct hlsl_type *old,
> unsigned int default_majority, unsigned int modifiers);
> unsigned int hlsl_type_component_count(struct hlsl_type *type);
> +unsigned int hlsl_type_get_array_element_reg_size(const struct hlsl_type *type);
> unsigned int hlsl_type_get_sm4_offset(const struct hlsl_type *type, unsigned int offset);
> bool hlsl_types_are_equal(const struct hlsl_type *t1, const struct hlsl_type *t2);
>
> diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y
> index 459ad03b..70109780 100644
> --- a/libs/vkd3d-shader/hlsl.y
> +++ b/libs/vkd3d-shader/hlsl.y
> @@ -607,7 +607,7 @@ static struct hlsl_ir_load *add_array_load(struct hlsl_ctx *ctx, struct list
> *in
> return NULL;
> }
>
> - if (!(c = hlsl_new_uint_constant(ctx, data_type->reg_size, loc)))
> + if (!(c = hlsl_new_uint_constant(ctx, hlsl_type_get_array_element_reg_size(data_type), loc)))
> return NULL;
> list_add_tail(instrs, &c->node.entry);
> if (!(mul = hlsl_new_binary_expr(ctx, HLSL_OP2_MUL, index, &c->node)))
> diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c
> index 2aa13427..6a8c512f 100644
> --- a/libs/vkd3d-shader/hlsl_codegen.c
> +++ b/libs/vkd3d-shader/hlsl_codegen.c
> @@ -621,7 +621,7 @@ static bool split_array_copies(struct hlsl_ctx *ctx, struct hlsl_ir_node
> *instr,
> if (type->type != HLSL_CLASS_ARRAY)
> return false;
> element_type = type->e.array.type;
> - element_size = element_type->reg_size;
> + element_size = hlsl_type_get_array_element_reg_size(element_type);
>
> for (i = 0; i < type->e.array.elements_count; ++i)
> {
> diff --git a/tests/hlsl-struct-array.shader_test b/tests/hlsl-struct-array.shader_test
> new file mode 100644
> index 00000000..a5df9cdb
> --- /dev/null
> +++ b/tests/hlsl-struct-array.shader_test
> @@ -0,0 +1,19 @@
> +% In SM4, array elements are always aligned to the next vec4, although structs are not.
> +
> +[pixel shader]
> +uniform struct
> +{
> + float p, q;
> +} colours[3];
> +
> +float4 main() : sv_target
> +{
> + return float4(colours[0].q, colours[1].p, colours[2].q, colours[2].p);
> +}
> +
> +[test]
> +uniform 0 float4 0.1 0.2 0.0 0.0
> +uniform 4 float4 0.3 0.4 0.0 0.0
> +uniform 8 float4 0.5 0.6 0.0 0.0
> +draw quad
> +probe all rgba (0.2, 0.3, 0.6, 0.5)
> --
> 2.34.1
Feb. 28, 2022
Re: [PATCH vkd3d 5/5] vkd3d-shader/hlsl: Correctly calculate offsets for array elements.
by Francisco Casas
February 25, 2022 3:11 AM, "Zebediah Figura (she/her)" <zfigura(a)codeweavers.com> wrote:
> Well, sort of. The "align(element_size, 4)" there is basically an
> open-coded hlsl_type_get_array_element_reg_size(), and could I guess get
> replaced with that.
>
> Note that sm4 structs, unlike C structs, never have padding on the end.
> We should have tests for that in d3dcompiler.
>
> Note also that in sm1, *all* uniforms are aligned to the nearest whole
> register, and we set reg_size accordingly. So the answer to "does this
> apply to sm1" is basically "it's a moot point".
Thank you! I understand now.
I should also update the array initializers patch in the same way.
Best regards,
Francisco.
Feb. 28, 2022
[PATCH] httpapi/tests: Build without -DWINE_NO_LONG_TYPES.
by Zebediah Figura
Signed-off-by: Zebediah Figura <zfigura(a)codeweavers.com>
---
dlls/httpapi/tests/Makefile.in | 1 -
dlls/httpapi/tests/httpapi.c | 181 ++++++++++++++++-----------------
2 files changed, 89 insertions(+), 93 deletions(-)
diff --git a/dlls/httpapi/tests/Makefile.in b/dlls/httpapi/tests/Makefile.in
index 7a078277448..20210a34510 100644
--- a/dlls/httpapi/tests/Makefile.in
+++ b/dlls/httpapi/tests/Makefile.in
@@ -1,4 +1,3 @@
-EXTRADEFS = -DWINE_NO_LONG_TYPES
TESTDLL = httpapi.dll
IMPORTS = httpapi ws2_32
diff --git a/dlls/httpapi/tests/httpapi.c b/dlls/httpapi/tests/httpapi.c
index b0431b0f3fd..be1d31c12ad 100644
--- a/dlls/httpapi/tests/httpapi.c
+++ b/dlls/httpapi/tests/httpapi.c
@@ -77,7 +77,7 @@ static SOCKET create_client_socket(unsigned short port)
};
SOCKET s = socket(AF_INET, SOCK_STREAM, 0), ret;
ret = connect(s, (struct sockaddr *)&sockaddr, sizeof(sockaddr));
- ok(!ret, "Failed to connect socket, error %u.\n", GetLastError());
+ ok(!ret, "Failed to connect socket, error %lu.\n", GetLastError());
return s;
}
@@ -101,7 +101,7 @@ static unsigned short add_url_v1(HANDLE queue)
{
unsigned short port;
WCHAR url[50];
- ULONG ret;
+ int ret;
for (port = 50000; port < 51000; ++port)
{
@@ -114,11 +114,11 @@ static unsigned short add_url_v1(HANDLE queue)
return 0;
}
-static ULONG add_url_v2(HTTP_URL_GROUP_ID group)
+static unsigned short add_url_v2(HTTP_URL_GROUP_ID group)
{
unsigned short port;
WCHAR url[50];
- ULONG ret;
+ int ret;
for (port = 50010; port < 51000; ++port)
{
@@ -158,9 +158,8 @@ static void test_v1_server(void)
OVERLAPPED ovl;
DWORD ret_size;
WCHAR url[50];
- ULONG ret;
+ int ret, len;
SOCKET s;
- int len;
ovl.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
memset(req_buffer, 0xcc, sizeof(req_buffer));
@@ -179,7 +178,7 @@ static void test_v1_server(void)
ok(!ret, "Unexpected ret value %u.\n", ret);
ok(queue2 && queue2 != queue, "Unexpected handle %p.\n", queue2);
ret = CloseHandle(queue2);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
ret_size = 0xdeadbeef;
ret = HttpReceiveHttpRequest(NULL, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), &ret_size, NULL);
@@ -194,7 +193,7 @@ static void test_v1_server(void)
SetLastError(0xdeadbeef);
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %lu.\n", GetLastError());
ret = HttpAddUrl(NULL, L"http://localhost:50000/", NULL);
ok(ret == ERROR_INVALID_HANDLE || ret == ERROR_INVALID_PARAMETER /* < Vista */, "Got error %u.\n", ret);
@@ -223,15 +222,15 @@ static void test_v1_server(void)
SetLastError(0xdeadbeef);
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %lu.\n", GetLastError());
sprintf(req_text, simple_req, port);
ret = send(s, req_text, strlen(req_text), 0);
ok(ret == strlen(req_text), "send() returned %d.\n", ret);
ret = GetOverlappedResult(queue, &ovl, &ret_size, TRUE);
- ok(ret, "Got error %u.\n", GetLastError());
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(ret, "Got error %lu.\n", GetLastError());
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
/* Various versions of Windows (observed on 64-bit Windows 8 and Windows 10
* version 1507, but probably affecting others) suffer from a bug where the
@@ -240,7 +239,7 @@ static void test_v1_server(void)
* around this. */
Sleep(100);
- ok(!req->Flags, "Got flags %#x.\n", req->Flags);
+ ok(!req->Flags, "Got flags %#lx.\n", req->Flags);
ok(req->ConnectionId, "Expected nonzero connection ID.\n");
ok(req->RequestId, "Expected nonzero connection ID.\n");
ok(!req->UrlContext, "Got URL context %s.\n", wine_dbgstr_longlong(req->UrlContext));
@@ -265,7 +264,7 @@ static void test_v1_server(void)
sin = (SOCKADDR_IN *)req->Address.pLocalAddress;
ok(sin->sin_family == AF_INET, "Got family %u.\n", sin->sin_family);
ok(ntohs(sin->sin_port) == port, "Got wrong port %u.\n", ntohs(sin->sin_port));
- ok(sin->sin_addr.S_un.S_addr == inet_addr("127.0.0.1"), "Got address %08x.\n", sin->sin_addr.S_un.S_addr);
+ ok(sin->sin_addr.S_un.S_addr == inet_addr("127.0.0.1"), "Got address %08lx.\n", sin->sin_addr.S_un.S_addr);
ok(!req->Headers.UnknownHeaderCount, "Got %u unknown headers.\n", req->Headers.UnknownHeaderCount);
ok(!req->Headers.pUnknownHeaders, "Got unknown headers %p.\n", req->Headers.pUnknownHeaders);
for (i = 0; i < ARRAY_SIZE(req->Headers.KnownHeaders); ++i)
@@ -317,10 +316,10 @@ static void test_v1_server(void)
ret = HttpSendHttpResponse(queue, req->RequestId, 0, (HTTP_RESPONSE *)&response, NULL, NULL, NULL, 0, &ovl, NULL);
ok(!ret, "Got error %u.\n", ret);
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
- ok(ret, "Got error %u.\n", GetLastError());
+ ok(ret, "Got error %lu.\n", GetLastError());
ret = recv(s, response_buffer, sizeof(response_buffer), 0);
- ok(ret == ret_size, "Expected size %u, got %u.\n", ret_size, ret);
+ ok(ret == ret_size, "Expected size %lu, got %u.\n", ret_size, ret);
if (winetest_debug > 1)
trace("%.*s\n", ret, response_buffer);
@@ -347,20 +346,20 @@ static void test_v1_server(void)
ok(ret == ERROR_IO_PENDING, "Got error %u.\n", ret);
ret = CancelIo(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
ret = WaitForSingleObject(ovl.hEvent, 100);
ok(!ret, "Got %u.\n", ret);
ret_size = 0xdeadbeef;
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == ERROR_OPERATION_ABORTED, "Got error %u.\n", GetLastError());
- ok(!ret_size, "Got size %u.\n", ret_size);
+ ok(GetLastError() == ERROR_OPERATION_ABORTED, "Got error %lu.\n", GetLastError());
+ ok(!ret_size, "Got size %lu.\n", ret_size);
closesocket(s);
CloseHandle(ovl.hEvent);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
ret = HttpAddUrl(queue, L"http://localhost:50000/", NULL);
ok(ret == ERROR_INVALID_HANDLE, "Got error %u.\n", ret);
@@ -377,8 +376,8 @@ static void test_v1_completion_port(void)
char req_text[200];
DWORD ret_size;
ULONG_PTR key;
- ULONG ret;
SOCKET s;
+ int ret;
ovl.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
@@ -386,11 +385,11 @@ static void test_v1_completion_port(void)
ok(!ret, "Got error %u.\n", ret);
port = CreateIoCompletionPort(queue, NULL, 123, 0);
- ok(!!port, "Failed to create completion port, error %u.\n", GetLastError());
+ ok(!!port, "Failed to create completion port, error %lu.\n", GetLastError());
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 0);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == WAIT_TIMEOUT, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == WAIT_TIMEOUT, "Got error %lu.\n", GetLastError());
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), NULL, &ovl);
ok(ret == ERROR_IO_PENDING, "Got error %u.\n", ret);
@@ -400,7 +399,7 @@ static void test_v1_completion_port(void)
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 0);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == WAIT_TIMEOUT, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == WAIT_TIMEOUT, "Got error %lu.\n", GetLastError());
sprintf(req_text, simple_req, tcp_port);
ret = send(s, req_text, strlen(req_text), 0);
@@ -408,14 +407,14 @@ static void test_v1_completion_port(void)
ret_size = key = 0xdeadbeef;
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 1000);
- ok(ret, "Got error %u.\n", GetLastError());
+ ok(ret, "Got error %lu.\n", GetLastError());
ok(povl == &ovl, "OVERLAPPED pointers didn't match.\n");
- ok(key == 123, "Got unexpected key %lu.\n", key);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(key == 123, "Got unexpected key %Iu.\n", key);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 0);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == WAIT_TIMEOUT, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == WAIT_TIMEOUT, "Got error %lu.\n", GetLastError());
response.StatusCode = 418;
response.pReason = "I'm a teapot";
@@ -425,12 +424,12 @@ static void test_v1_completion_port(void)
ret_size = key = 0xdeadbeef;
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 1000);
- ok(ret, "Got error %u.\n", GetLastError());
+ ok(ret, "Got error %lu.\n", GetLastError());
ok(povl == &ovl, "OVERLAPPED pointers didn't match.\n");
- ok(key == 123, "Got unexpected key %lu.\n", key);
+ ok(key == 123, "Got unexpected key %Iu.\n", key);
ret = recv(s, response_buffer, sizeof(response_buffer), 0);
- ok(ret == ret_size, "Expected size %u, got %u.\n", ret_size, ret);
+ ok(ret == ret_size, "Expected size %lu, got %u.\n", ret_size, ret);
ret = remove_url_v1(queue, tcp_port);
ok(!ret, "Got error %u.\n", ret);
@@ -438,7 +437,7 @@ static void test_v1_completion_port(void)
CloseHandle(port);
CloseHandle(ovl.hEvent);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_multiple_requests(void)
@@ -454,8 +453,7 @@ static void test_v1_multiple_requests(void)
DWORD ret_size;
SOCKET s1, s2;
HANDLE queue;
- ULONG ret;
- int len;
+ int ret, len;
ovl1.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
ovl2.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
@@ -472,7 +470,7 @@ static void test_v1_multiple_requests(void)
SetLastError(0xdeadbeef);
ret = GetOverlappedResult(queue, &ovl1, &ret_size, FALSE);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %lu.\n", GetLastError());
s1 = create_client_socket(port);
sprintf(req_text, simple_req, port);
@@ -545,7 +543,7 @@ static void test_v1_multiple_requests(void)
CloseHandle(ovl1.hEvent);
CloseHandle(ovl2.hEvent);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_short_buffer(void)
@@ -559,8 +557,8 @@ static void test_v1_short_buffer(void)
OVERLAPPED ovl;
DWORD ret_size;
HANDLE queue;
- ULONG ret;
SOCKET s;
+ int ret;
ovl.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
@@ -578,7 +576,7 @@ static void test_v1_short_buffer(void)
ok(ret == ERROR_INSUFFICIENT_BUFFER, "Got error %u.\n", ret);
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(HTTP_REQUEST_V1), &ret_size, NULL);
ok(ret == ERROR_MORE_DATA, "Got error %u.\n", ret);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
ok(!!req->ConnectionId, "Got connection ID %s.\n", wine_dbgstr_longlong(req->ConnectionId));
ok(!!req->RequestId, "Got request ID %s.\n", wine_dbgstr_longlong(req->RequestId));
ok(!req->Version.MajorVersion || req->Version.MajorVersion == 0xcccc /* < Vista */,
@@ -608,7 +606,7 @@ static void test_v1_short_buffer(void)
closesocket(s);
CloseHandle(ovl.hEvent);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_entity_body(void)
@@ -617,8 +615,8 @@ static void test_v1_entity_body(void)
HTTP_REQUEST_V1 *req = (HTTP_REQUEST_V1 *)req_buffer;
HTTP_RESPONSE_V1 response = {};
HTTP_DATA_CHUNK chunks[2] = {};
- ULONG ret, chunk_size;
unsigned short port;
+ int ret, chunk_size;
char req_text[200];
unsigned int i;
OVERLAPPED ovl;
@@ -664,8 +662,8 @@ static void test_v1_entity_body(void)
memset(req_buffer, 0xcc, sizeof(req_buffer));
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
- ok(req->Flags == HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, "Got flags %#x.\n", req->Flags);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
+ ok(req->Flags == HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, "Got flags %#lx.\n", req->Flags);
ok(req->BytesReceived == strlen(req_text) + 1, "Got %s bytes.\n", wine_dbgstr_longlong(req->BytesReceived));
ok(req->Headers.KnownHeaders[HttpHeaderContentLength].RawValueLength == 1,
"Got header length %u.\n", req->Headers.KnownHeaders[HttpHeaderContentLength].RawValueLength);
@@ -737,8 +735,8 @@ static void test_v1_entity_body(void)
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY,
(HTTP_REQUEST *)req, sizeof(req_buffer), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
- ok(!req->Flags, "Got flags %#x.\n", req->Flags);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
+ ok(!req->Flags, "Got flags %#lx.\n", req->Flags);
ok(req->BytesReceived == strlen(req_text) + 1, "Got %s bytes.\n", wine_dbgstr_longlong(req->BytesReceived));
ok(req->Headers.KnownHeaders[HttpHeaderContentLength].RawValueLength == 1,
"Got header length %u.\n", req->Headers.KnownHeaders[HttpHeaderContentLength].RawValueLength);
@@ -748,7 +746,7 @@ static void test_v1_entity_body(void)
ok(req->pEntityChunks[0].DataChunkType == HttpDataChunkFromMemory,
"Got chunk type %u.\n", req->pEntityChunks[0].DataChunkType);
ok(req->pEntityChunks[0].FromMemory.BufferLength == 5,
- "Got chunk length %u.\n", req->pEntityChunks[0].FromMemory.BufferLength);
+ "Got chunk length %lu.\n", req->pEntityChunks[0].FromMemory.BufferLength);
ok(!memcmp(req->pEntityChunks[0].FromMemory.pBuffer, "ping", 5),
"Got chunk data '%s'.\n", (char *)req->pEntityChunks[0].FromMemory.pBuffer);
@@ -765,8 +763,8 @@ static void test_v1_entity_body(void)
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY,
(HTTP_REQUEST *)req, 2000, &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size == 2000, "Got size %u.\n", ret_size);
- ok(req->Flags == HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, "Got flags %#x.\n", req->Flags);
+ ok(ret_size == 2000, "Got size %lu.\n", ret_size);
+ ok(req->Flags == HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, "Got flags %#lx.\n", req->Flags);
ok(req->BytesReceived == strlen(req_text) + 2048, "Got %s bytes.\n", wine_dbgstr_longlong(req->BytesReceived));
ok(req->Headers.KnownHeaders[HttpHeaderContentLength].RawValueLength == 4,
"Got header length %u.\n", req->Headers.KnownHeaders[HttpHeaderContentLength].RawValueLength);
@@ -803,13 +801,13 @@ static void test_v1_entity_body(void)
ret_size = 0xdeadbeef;
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, sizeof(recv_body), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size == 5, "Got size %u.\n", ret_size);
+ ok(ret_size == 5, "Got size %lu.\n", ret_size);
ok(!memcmp(recv_body, "ping", 5), "Entity body didn't match.\n");
ret_size = 0xdeadbeef;
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, sizeof(recv_body), &ret_size, NULL);
ok(ret == ERROR_HANDLE_EOF, "Got error %u.\n", ret);
- ok(ret_size == 0xdeadbeef || !ret_size /* Win10+ */, "Got size %u.\n", ret_size);
+ ok(ret_size == 0xdeadbeef || !ret_size /* Win10+ */, "Got size %lu.\n", ret_size);
send_response_v1(queue, req->RequestId, s);
@@ -827,19 +825,19 @@ static void test_v1_entity_body(void)
ret_size = 0xdeadbeef;
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, 2, &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size == 2, "Got size %u.\n", ret_size);
+ ok(ret_size == 2, "Got size %lu.\n", ret_size);
ok(!memcmp(recv_body, "pi", 2), "Entity body didn't match.\n");
ret_size = 0xdeadbeef;
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, 4, &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size == 3, "Got size %u.\n", ret_size);
+ ok(ret_size == 3, "Got size %lu.\n", ret_size);
ok(!memcmp(recv_body, "ng", 3), "Entity body didn't match.\n");
ret_size = 0xdeadbeef;
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, sizeof(recv_body), &ret_size, NULL);
ok(ret == ERROR_HANDLE_EOF, "Got error %u.\n", ret);
- ok(ret_size == 0xdeadbeef || !ret_size /* Win10+ */, "Got size %u.\n", ret_size);
+ ok(ret_size == 0xdeadbeef || !ret_size /* Win10+ */, "Got size %lu.\n", ret_size);
send_response_v1(queue, req->RequestId, s);
@@ -855,8 +853,8 @@ static void test_v1_entity_body(void)
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, sizeof(recv_body), NULL, &ovl);
ok(!ret || ret == ERROR_IO_PENDING, "Got error %u.\n", ret);
ret = GetOverlappedResult(queue, &ovl, &ret_size, TRUE);
- ok(ret, "Got error %u.\n", GetLastError());
- ok(ret_size == 5, "Got size %u.\n", ret_size);
+ ok(ret, "Got error %lu.\n", GetLastError());
+ ok(ret_size == 5, "Got size %lu.\n", ret_size);
ok(!memcmp(recv_body, "ping", 5), "Entity body didn't match.\n");
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, sizeof(recv_body), NULL, &ovl);
@@ -888,15 +886,15 @@ static void test_v1_entity_body(void)
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY,
(HTTP_REQUEST *)req, 2000, &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size == 2000, "Got size %u.\n", ret_size);
- ok(req->Flags == HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, "Got flags %#x.\n", req->Flags);
+ ok(ret_size == 2000, "Got size %lu.\n", ret_size);
+ ok(req->Flags == HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, "Got flags %#lx.\n", req->Flags);
chunk_size = req->pEntityChunks[0].FromMemory.BufferLength;
memset(recv_body, 0xcc, sizeof(recv_body));
ret_size = 0xdeadbeef;
ret = HttpReceiveRequestEntityBody(queue, req->RequestId, 0, recv_body, sizeof(recv_body), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size == 2048 - chunk_size, "Got size %u.\n", ret_size);
+ ok(ret_size == 2048 - chunk_size, "Got size %lu.\n", ret_size);
ok(!memcmp(recv_body, req_body + chunk_size, ret_size), "Entity body didn't match.\n");
send_response_v1(queue, req->RequestId, s);
@@ -906,7 +904,7 @@ static void test_v1_entity_body(void)
ok(!ret, "Got error %u.\n", ret);
closesocket(s);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_bad_request(void)
@@ -914,8 +912,8 @@ static void test_v1_bad_request(void)
char response_buffer[2048];
unsigned short port;
HANDLE queue;
- ULONG ret;
SOCKET s;
+ int ret;
ret = HttpCreateHttpHandle(&queue, 0);
ok(!ret, "Got error %u.\n", ret);
@@ -946,7 +944,7 @@ static void test_v1_bad_request(void)
ok(!ret, "Got error %u.\n", ret);
closesocket(s);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_cooked_url(void)
@@ -958,8 +956,8 @@ static void test_v1_cooked_url(void)
WCHAR expectW[50];
DWORD ret_size;
HANDLE queue;
- ULONG ret;
SOCKET s;
+ int ret;
static const char req1[] =
"GET /foobar?a=b HTTP/1.1\r\n"
@@ -985,7 +983,7 @@ static void test_v1_cooked_url(void)
memset(req_buffer, 0xcc, sizeof(req_buffer));
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
ok(req->RawUrlLength == 11, "Got raw URL length %u.\n", req->RawUrlLength);
ok(!strcmp(req->pRawUrl, "/foobar?a=b"), "Got raw URL %s.\n", req->pRawUrl);
ok(req->CookedUrl.FullUrlLength == 66, "Got full URL length %u.\n", req->CookedUrl.FullUrlLength);
@@ -1010,7 +1008,7 @@ static void test_v1_cooked_url(void)
memset(req_buffer, 0xcc, sizeof(req_buffer));
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
ok(req->RawUrlLength == 23, "Got raw URL length %u.\n", req->RawUrlLength);
sprintf(expect, "http://localhost:%u/", port);
ok(!strcmp(req->pRawUrl, expect), "Expected raw URL \"%s\", got \"%s\".\n", expect, req->pRawUrl);
@@ -1032,7 +1030,7 @@ static void test_v1_cooked_url(void)
ok(!ret, "Got error %u.\n", ret);
closesocket(s);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_unknown_tokens(void)
@@ -1043,8 +1041,8 @@ static void test_v1_unknown_tokens(void)
char req_text[200];
DWORD ret_size;
HANDLE queue;
- ULONG ret;
SOCKET s;
+ int ret;
static const char req1[] =
"xyzzy / HTTP/1.1\r\n"
@@ -1082,7 +1080,7 @@ static void test_v1_unknown_tokens(void)
ok(!ret, "Got error %u.\n", ret);
closesocket(s);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_v1_urls(void)
@@ -1094,8 +1092,8 @@ static void test_v1_urls(void)
DWORD ret_size;
WCHAR url[50];
HANDLE queue;
- ULONG ret;
SOCKET s;
+ int ret;
ret = HttpCreateHttpHandle(&queue, 0);
ok(!ret, "Got error %u.\n", ret);
@@ -1124,7 +1122,7 @@ static void test_v1_urls(void)
memset(req_buffer, 0xcc, sizeof(req_buffer));
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), &ret_size, NULL);
ok(!ret, "Got error %u.\n", ret);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
send_response_v1(queue, req->RequestId, s);
@@ -1132,14 +1130,14 @@ static void test_v1_urls(void)
ok(!ret, "Got error %u.\n", ret);
closesocket(s);
ret = CloseHandle(queue);
- ok(ret, "Failed to close queue handle, error %u.\n", GetLastError());
+ ok(ret, "Failed to close queue handle, error %lu.\n", GetLastError());
}
static void test_HttpCreateServerSession(void)
{
HTTP_SERVER_SESSION_ID session;
HTTPAPI_VERSION version;
- ULONG ret;
+ int ret;
version.HttpApiMajorVersion = 1;
version.HttpApiMinorVersion = 0;
@@ -1179,7 +1177,7 @@ static void test_HttpCreateUrlGroup(void)
HTTP_SERVER_SESSION_ID session;
HTTP_URL_GROUP_ID group_id;
HTTPAPI_VERSION version;
- ULONG ret;
+ int ret;
group_id = 1;
ret = pHttpCreateUrlGroup(0, &group_id, 0);
@@ -1238,9 +1236,8 @@ static void test_v2_server(void)
DWORD ret_size;
WCHAR url[50];
HANDLE queue;
- ULONG ret;
+ int ret, len;
SOCKET s;
- int len;
ovl.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
memset(req_buffer, 0xcc, sizeof(req_buffer));
@@ -1266,7 +1263,7 @@ static void test_v2_server(void)
SetLastError(0xdeadbeef);
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %lu.\n", GetLastError());
port = add_url_v2(group);
@@ -1294,7 +1291,7 @@ static void test_v2_server(void)
SetLastError(0xdeadbeef);
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == ERROR_IO_INCOMPLETE, "Got error %lu.\n", GetLastError());
sprintf(req_text, simple_req, port);
ret = send(s, req_text, strlen(req_text), 0);
@@ -1306,10 +1303,10 @@ static void test_v2_server(void)
Sleep(100);
ret = GetOverlappedResult(queue, &ovl, &ret_size, TRUE);
- ok(ret, "Got error %u.\n", GetLastError());
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(ret, "Got error %lu.\n", GetLastError());
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
- ok(!req->Flags, "Got flags %#x.\n", req->Flags);
+ ok(!req->Flags, "Got flags %#lx.\n", req->Flags);
ok(req->ConnectionId, "Expected nonzero connection ID.\n");
ok(req->RequestId, "Expected nonzero connection ID.\n");
ok(req->UrlContext == 0xdeadbeef, "Got URL context %s.\n", wine_dbgstr_longlong(req->UrlContext));
@@ -1335,7 +1332,7 @@ static void test_v2_server(void)
sin = (SOCKADDR_IN *)req->Address.pLocalAddress;
ok(sin->sin_family == AF_INET, "Got family %u.\n", sin->sin_family);
ok(ntohs(sin->sin_port) == port, "Got wrong port %u.\n", ntohs(sin->sin_port));
- ok(sin->sin_addr.S_un.S_addr == inet_addr("127.0.0.1"), "Got address %08x.\n", sin->sin_addr.S_un.S_addr);
+ ok(sin->sin_addr.S_un.S_addr == inet_addr("127.0.0.1"), "Got address %08lx.\n", sin->sin_addr.S_un.S_addr);
ok(!req->Headers.UnknownHeaderCount, "Got %u unknown headers.\n", req->Headers.UnknownHeaderCount);
ok(!req->Headers.pUnknownHeaders, "Got unknown headers %p.\n", req->Headers.pUnknownHeaders);
for (i = 0; i < ARRAY_SIZE(req->Headers.KnownHeaders); ++i)
@@ -1388,10 +1385,10 @@ static void test_v2_server(void)
ret = HttpSendHttpResponse(queue, req->RequestId, 0, (HTTP_RESPONSE *)&response, NULL, NULL, NULL, 0, &ovl, NULL);
ok(!ret, "Got error %u.\n", ret);
ret = GetOverlappedResult(queue, &ovl, &ret_size, FALSE);
- ok(ret, "Got error %u.\n", GetLastError());
+ ok(ret, "Got error %lu.\n", GetLastError());
ret = recv(s, response_buffer, sizeof(response_buffer), 0);
- ok(ret == ret_size, "Expected size %u, got %u.\n", ret_size, ret);
+ ok(ret == ret_size, "Expected size %lu, got %u.\n", ret_size, ret);
if (winetest_debug > 1)
trace("%.*s\n", ret, response_buffer);
@@ -1433,8 +1430,8 @@ static void test_v2_completion_port(void)
char req_text[100];
DWORD ret_size;
ULONG_PTR key;
- ULONG ret;
SOCKET s;
+ int ret;
ovl.hEvent = CreateEventA(NULL, TRUE, FALSE, NULL);
@@ -1450,11 +1447,11 @@ static void test_v2_completion_port(void)
ok(!ret, "Failed to bind request queue, error %u.\n", ret);
port = CreateIoCompletionPort(queue, NULL, 123, 0);
- ok(!!port, "Failed to create completion port, error %u.\n", GetLastError());
+ ok(!!port, "Failed to create completion port, error %lu.\n", GetLastError());
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 0);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == WAIT_TIMEOUT, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == WAIT_TIMEOUT, "Got error %lu.\n", GetLastError());
ret = HttpReceiveHttpRequest(queue, HTTP_NULL_ID, 0, (HTTP_REQUEST *)req, sizeof(req_buffer), NULL, &ovl);
ok(ret == ERROR_IO_PENDING, "Got error %u.\n", ret);
@@ -1464,7 +1461,7 @@ static void test_v2_completion_port(void)
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 0);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == WAIT_TIMEOUT, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == WAIT_TIMEOUT, "Got error %lu.\n", GetLastError());
sprintf(req_text, simple_req, tcp_port);
ret = send(s, req_text, strlen(req_text), 0);
@@ -1472,14 +1469,14 @@ static void test_v2_completion_port(void)
ret_size = key = 0xdeadbeef;
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 1000);
- ok(ret, "Got error %u.\n", GetLastError());
+ ok(ret, "Got error %lu.\n", GetLastError());
ok(povl == &ovl, "OVERLAPPED pointers didn't match.\n");
- ok(key == 123, "Got unexpected key %lu.\n", key);
- ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
+ ok(key == 123, "Got unexpected key %Iu.\n", key);
+ ok(ret_size > sizeof(*req), "Got size %lu.\n", ret_size);
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 0);
ok(!ret, "Expected failure.\n");
- ok(GetLastError() == WAIT_TIMEOUT, "Got error %u.\n", GetLastError());
+ ok(GetLastError() == WAIT_TIMEOUT, "Got error %lu.\n", GetLastError());
response.s.StatusCode = 418;
response.s.pReason = "I'm a teapot";
@@ -1489,12 +1486,12 @@ static void test_v2_completion_port(void)
ret_size = key = 0xdeadbeef;
ret = GetQueuedCompletionStatus(port, &ret_size, &key, &povl, 1000);
- ok(ret, "Got error %u.\n", GetLastError());
+ ok(ret, "Got error %lu.\n", GetLastError());
ok(povl == &ovl, "OVERLAPPED pointers didn't match.\n");
- ok(key == 123, "Got unexpected key %lu.\n", key);
+ ok(key == 123, "Got unexpected key %Iu.\n", key);
ret = recv(s, response_buffer, sizeof(response_buffer), 0);
- ok(ret == ret_size, "Expected size %u, got %u.\n", ret_size, ret);
+ ok(ret == ret_size, "Expected size %lu, got %u.\n", ret_size, ret);
ret = remove_url_v2(group, tcp_port);
ok(!ret, "Got error %u.\n", ret);
@@ -1513,7 +1510,7 @@ START_TEST(httpapi)
{
HTTPAPI_VERSION version = { 1, 0 };
WSADATA wsadata;
- ULONG ret;
+ int ret;
init();
--
2.35.1
Feb. 28, 2022
Re: [PATCH v4 7/9] tests/kernel32: Add MAX_PATH test for CreateBoundaryDescriptorA.
by Marvin
Hi,
While running your changed tests, 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=109431
Your paranoid android.
=== w8adm (32 bit report) ===
kernel32:
comm.c:1586: Test failed: comm.c:1523: SetCommMask changed
=== w10pro64 (32 bit report) ===
kernel32:
comm.c:859: Test failed: WaitCommEvent failed with a timeout
comm.c:880: Test failed: WaitCommEvent error 0
comm.c:881: Test failed: WaitCommEvent: expected EV_TXEMPTY, got 0
comm.c:886: Test failed: WaitCommEvent used 1516 ms for waiting
=== w7u_2qxl (32 bit report) ===
kernel32:
debugger.c:1027: Test failed: ole32.dll was not reported
=== w7u_adm (32 bit report) ===
kernel32:
debugger.c:1027: Test failed: ole32.dll was not reported
=== w7u_el (32 bit report) ===
kernel32:
debugger.c:1027: Test failed: ole32.dll was not reported
=== w8 (32 bit report) ===
kernel32:
debugger.c:2136: Test failed: no debug port
debugger.c:2140: Test failed: NtSetInformationDebugObject failed c0000008
debugger.c:2144: Test failed: NtSetInformationDebugObject failed c0000008
=== w1064_tsign (32 bit report) ===
kernel32:
debugger.c:155: Test failed: unable to open 'C:\Users\winetest\AppData\Local\Temp\wt5C58.tmp'
debugger.c:155: Test failed: failed to open: C:\Users\winetest\AppData\Local\Temp\wt5C58.tmp
debugger.c:676: Test failed: the child and debugged pids don't match: 6208 != 5572
=== w10pro64 (32 bit report) ===
kernel32:
debugger.c:681: Test failed: debugger reported 7 failures
=== w1064_tsign (64 bit report) ===
kernel32:
debugger.c:155: Test failed: unable to open 'C:\Users\winetest\AppData\Local\Temp\wt5CB6.tmp'
debugger.c:155: Test failed: failed to open: C:\Users\winetest\AppData\Local\Temp\wt5CB6.tmp
debugger.c:676: Test failed: the child and debugged pids don't match: 3548 != 5740
=== w1064_tsign (32 bit report) ===
kernel32:
loader.c:2834: Test failed: attached thread count should be 2
loader.c:720: Test failed: 1224: wrong status c000011b/c000007b
=== w10pro64 (64 bit report) ===
kernel32:
loader.c:720: Test failed: 1219: wrong status c000011b/c0000130
loader.c:720: Test failed: 1224: wrong status c000011b/c000007b
loader.c:720: Test failed: 1229: wrong status c000011b/c000007b
loader.c:720: Test failed: 1234: wrong status c000011b/c000007b
loader.c:720: Test failed: 1239: wrong status c000011b/c000007b
loader.c:720: Test failed: 1244: wrong status c000011b/c000007b
loader.c:720: Test failed: 1260: wrong status c000011b/0
loader.c:720: Test failed: 1264: wrong status c000011b/0
loader.c:720: Test failed: 1269: wrong status c000011b/0
loader.c:720: Test failed: 1273: wrong status c000011b/0
loader.c:720: Test failed: 1277: wrong status c000011b/0
loader.c:720: Test failed: 1431: wrong status c000011b/c000007b
loader.c:720: Test failed: 1439: wrong status c000011b/c000007b
loader.c:720: Test failed: 1444: wrong status c000011b/0
loader.c:724: Test failed: 1444: failed with c000011b expected fallback
loader.c:720: Test failed: 1450: wrong status c000011b/0
loader.c:724: Test failed: 1450: failed with c000011b expected fallback
loader.c:720: Test failed: 1456: wrong status c000011b/0
loader.c:724: Test failed: 1456: failed with c000011b expected fallback
loader.c:720: Test failed: 1463: wrong status c000011b/0
loader.c:724: Test failed: 1463: failed with c000011b expected fallback
loader.c:720: Test failed: 1469: wrong status c000011b/0
loader.c:720: Test failed: 1478: wrong status c000011b/0
loader.c:720: Test failed: 1482: wrong status c000011b/0
loader.c:720: Test failed: 1486: wrong status c000011b/0
loader.c:720: Test failed: 1490: wrong status c000011b/0
loader.c:720: Test failed: 1494: wrong status c000011b/0
=== w10pro64_he (64 bit report) ===
kernel32:
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c0000130
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1214: wrong status c0000131/c0000130
loader.c:720: Test failed: 1219: wrong status c0000131/c0000130
loader.c:720: Test failed: 1224: wrong status c0000131/c000007b
loader.c:720: Test failed: 1229: wrong status c0000131/c000007b
loader.c:720: Test failed: 1234: wrong status c0000131/c000007b
loader.c:720: Test failed: 1239: wrong status c0000131/c000007b
loader.c:720: Test failed: 1244: wrong status c0000131/c000007b
loader.c:720: Test failed: 1260: wrong status c0000131/0
loader.c:720: Test failed: 1264: wrong status c0000131/0
loader.c:720: Test failed: 1269: wrong status c0000131/0
loader.c:720: Test failed: 1273: wrong status c0000131/0
loader.c:720: Test failed: 1277: wrong status c0000131/0
loader.c:720: Test failed: 1431: wrong status c0000131/c000007b
loader.c:720: Test failed: 1439: wrong status c0000131/c000007b
loader.c:720: Test failed: 1444: wrong status c0000131/0
loader.c:724: Test failed: 1444: failed with c0000131 expected fallback
loader.c:720: Test failed: 1450: wrong status c0000131/0
loader.c:724: Test failed: 1450: failed with c0000131 expected fallback
loader.c:720: Test failed: 1456: wrong status c0000131/0
loader.c:724: Test failed: 1456: failed with c0000131 expected fallback
loader.c:720: Test failed: 1463: wrong status c0000131/0
loader.c:724: Test failed: 1463: failed with c0000131 expected fallback
loader.c:720: Test failed: 1469: wrong status c0000131/0
loader.c:720: Test failed: 1478: wrong status c0000131/0
loader.c:720: Test failed: 1482: wrong status c0000131/0
loader.c:720: Test failed: 1486: wrong status c0000131/0
loader.c:720: Test failed: 1490: wrong status c0000131/0
loader.c:720: Test failed: 1494: wrong status c0000131/0
=== w10pro64_ja (64 bit report) ===
kernel32:
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c0000130
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1197: wrong status c0000131/c000011b
loader.c:720: Test failed: 1214: wrong status c0000131/c0000130
loader.c:720: Test failed: 1219: wrong status c0000131/c0000130
loader.c:720: Test failed: 1224: wrong status c0000131/c000007b
loader.c:720: Test failed: 1229: wrong status c0000131/c000007b
loader.c:720: Test failed: 1234: wrong status c0000131/c000007b
loader.c:720: Test failed: 1239: wrong status c0000131/c000007b
loader.c:720: Test failed: 1244: wrong status c0000131/c000007b
loader.c:720: Test failed: 1260: wrong status c0000131/0
loader.c:720: Test failed: 1264: wrong status c0000131/0
loader.c:720: Test failed: 1269: wrong status c0000131/0
loader.c:720: Test failed: 1273: wrong status c0000131/0
loader.c:720: Test failed: 1277: wrong status c0000131/0
loader.c:720: Test failed: 1431: wrong status c0000131/c000007b
loader.c:720: Test failed: 1439: wrong status c0000131/c000007b
loader.c:720: Test failed: 1444: wrong status c0000131/0
loader.c:724: Test failed: 1444: failed with c0000131 expected fallback
loader.c:720: Test failed: 1450: wrong status c0000131/0
loader.c:724: Test failed: 1450: failed with c0000131 expected fallback
loader.c:720: Test failed: 1456: wrong status c0000131/0
loader.c:724: Test failed: 1456: failed with c0000131 expected fallback
loader.c:720: Test failed: 1463: wrong status c0000131/0
loader.c:724: Test failed: 1463: failed with c0000131 expected fallback
loader.c:720: Test failed: 1469: wrong status c0000131/0
loader.c:720: Test failed: 1478: wrong status c0000131/0
loader.c:720: Test failed: 1482: wrong status c0000131/0
loader.c:720: Test failed: 1486: wrong status c0000131/0
loader.c:720: Test failed: 1490: wrong status c0000131/0
loader.c:720: Test failed: 1494: wrong status c0000131/0
=== w10pro64_zh_CN (64 bit report) ===
kernel32:
loader.c:720: Test failed: 1219: wrong status c000011b/c0000130
loader.c:720: Test failed: 1224: wrong status c000011b/c000007b
loader.c:720: Test failed: 1229: wrong status c000011b/c000007b
loader.c:720: Test failed: 1234: wrong status c000011b/c000007b
loader.c:720: Test failed: 1239: wrong status c000011b/c000007b
loader.c:720: Test failed: 1244: wrong status c000011b/c000007b
loader.c:720: Test failed: 1260: wrong status c000011b/0
loader.c:720: Test failed: 1264: wrong status c000011b/0
loader.c:720: Test failed: 1269: wrong status c000011b/0
loader.c:720: Test failed: 1273: wrong status c000011b/0
loader.c:720: Test failed: 1277: wrong status c000011b/0
loader.c:720: Test failed: 1431: wrong status c000011b/c000007b
loader.c:720: Test failed: 1439: wrong status c000011b/c000007b
loader.c:720: Test failed: 1444: wrong status c000011b/0
loader.c:724: Test failed: 1444: failed with c000011b expected fallback
loader.c:720: Test failed: 1450: wrong status c000011b/0
loader.c:724: Test failed: 1450: failed with c000011b expected fallback
loader.c:720: Test failed: 1456: wrong status c000011b/0
loader.c:724: Test failed: 1456: failed with c000011b expected fallback
loader.c:720: Test failed: 1463: wrong status c000011b/0
loader.c:724: Test failed: 1463: failed with c000011b expected fallback
loader.c:720: Test failed: 1469: wrong status c000011b/0
loader.c:720: Test failed: 1478: wrong status c000011b/0
loader.c:720: Test failed: 1482: wrong status c000011b/0
=== w8adm (32 bit report) ===
kernel32:
path: Timeout
Feb. 28, 2022