[2/2] oledb32/tests: Add the XP+ behaviour and mark it as todo_wine

André Hentschel nerv at dawncrow.de
Wed Nov 10 14:02:48 CST 2010


That's the behaviour of XP and up:
http://test.winehq.org/data/tests/oledb32:convert.html

It's tricky to fix in Wine as you really don't know how much space you have in dst and assuming space breaks other tests.

---
 dlls/oledb32/tests/convert.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/oledb32/tests/convert.c b/dlls/oledb32/tests/convert.c
index b9ef71f..cdae859 100644
--- a/dlls/oledb32/tests/convert.c
+++ b/dlls/oledb32/tests/convert.c
@@ -1469,10 +1469,15 @@ static void test_converttostr(void)
     memset(dst, 0xcc, sizeof(dst));
     dst_len = 0x1234;
     hr = IDataConvert_DataConvert(convert, DBTYPE_I2, DBTYPE_STR, 0, &dst_len, src, dst, 0, 0, &dst_status, 0, 0, 0);
-    ok(hr == DB_E_ERRORSOCCURRED, "got %08x\n", hr);
-    ok(dst_status == DBSTATUS_E_DATAOVERFLOW, "got %08x\n", dst_status);
+    todo_wine ok(hr == S_OK ||
+                 broken(hr == DB_E_ERRORSOCCURRED /* Win9x, WinMe, NT4 and 2k */),
+                 "got %08x\n", hr);
+    todo_wine ok(dst_status == DBSTATUS_S_OK ||
+                 broken(dst_status == DBSTATUS_E_DATAOVERFLOW /* Win9x, WinMe, NT4 and 2k */),
+                 "got %08x\n", dst_status);
     ok(dst_len == 4, "got %d\n", dst_len);
-    ok(dst[0] == (char)0xcc, "got %02x\n", dst[0]);
+    todo_wine ok(dst[0] == '4' ||
+                 broken(dst[0] == (char)0xcc /* Win9x, WinMe, NT4 and 2k */), "got %02x\n", dst[0]);
 
     *(short *)src = 4321;
     memset(dst, 0xcc, sizeof(dst));
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list