[PATCH 1/2] kernel32/tests: Add test for FormatMessage with HRESULT

Catalin Patulea catalinp at google.com
Mon Oct 20 12:05:58 CDT 2014


This test passes (crosstest) on XP SP3 x64, fails under wine.

Signed-off-by: Catalin Patulea <catalinp at google.com>
---
 dlls/kernel32/tests/format_msg.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dlls/kernel32/tests/format_msg.c b/dlls/kernel32/tests/format_msg.c
index e98e083..4a1ae7d 100644
--- a/dlls/kernel32/tests/format_msg.c
+++ b/dlls/kernel32/tests/format_msg.c
@@ -1552,6 +1552,11 @@ static void test_message_from_hmodule(void)
                          MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL);
     ok(ret != 0, "FormatMessageA returned 0\n");
 
+    /* Test HRESULT. It's not documented but in practice _com_error::ErrorMessage relies on this. */
+    ret = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE, h, 0x80070005 /* E_ACCESSDENIED */,
+                         MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL);
+    ok(ret != 0, "FormatMessageA returned 0\n");
+
     /* Test a message string with an insertion without passing any variadic arguments. */
     ret = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE, h, 193 /* ERROR_BAD_EXE_FORMAT */,
                          MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), out, sizeof(out)/sizeof(CHAR), NULL);
-- 
2.1.0.rc2.206.gedb03e5




More information about the wine-patches mailing list