Re: [usrmarshal] Adjust new tests to pass on win9x platforms.
Hi Jeremy, On 12/17/09 12:13 AM, Jeremy White wrote:
--- dlls/oleaut32/tests/usrmarshal.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/oleaut32/tests/usrmarshal.c b/dlls/oleaut32/tests/usrmarshal.c index e9c53e9..1c770de 100644 --- a/dlls/oleaut32/tests/usrmarshal.c +++ b/dlls/oleaut32/tests/usrmarshal.c @@ -306,7 +306,8 @@ static void test_marshal_LPSAFEARRAY(void) buffer = HeapAlloc(GetProcessHeap(), 0, size); init_user_marshal_cb(&umcb,&stub_msg,&rpc_msg, buffer, size, MSHCTX_DIFFERENTMACHINE); next = LPSAFEARRAY_UserMarshal(&umcb.Flags, buffer,&lpsa); - ok(next - buffer == expected, "Marshaled %u bytes, expected %u\n", (ULONG) (next - buffer), expected); + ok(next - buffer == expected || next - buffer + sizeof(DWORD) == expected /*win9x*/, + "Marshaled %u bytes, expected %u\n", (ULONG) (next - buffer), expected);
It looks like a good place to use broken(). Thanks, Jacek
It looks like a good place to use broken().
I don't think it's broken on win98; it looks as though they do 4 byte alignment prior to the data structure in win9x, and winnt and on seem to do 8 byte alignment prior to the data chunk. That results in a 4 byte difference. Cheers, Jeremy
Jeremy White <jwhite(a)codeweavers.com> writes:
It looks like a good place to use broken().
I don't think it's broken on win98; it looks as though they do 4 byte alignment prior to the data structure in win9x, and winnt and on seem to do 8 byte alignment prior to the data chunk. That results in a 4 byte difference.
It should really do 8 byte alignment for 64-bit types. I think that qualifies as broken. -- Alexandre Julliard julliard(a)winehq.org
participants (3)
-
Alexandre Julliard -
Jacek Caban -
Jeremy White