2012/11/27 Detlef Riekenberg wine.dev@web.de:
While inspecting a test failure, i found only 3 possible results for the line test:
- d3dx9_36.dll not present
- all tests skipped line.c:146: Tests skipped: Failed to create IDirect3DDevice9 object 0x8876086c
- refcount test failed line.c:113: Test failed: Got 5 references to device 0023EA60, expected 2 (of course with different device pointer)
See: http://test.winehq.org/data/tests/d3dx9_36:line.html
I prefer to mark the refcount as implementation detail and remove the refcount test.
My second way to fix the test failure is the attached patch. Since the test was accepted to wine, there must be a machine somewhere with a refcount of 2, so i marked that result as broken.
I think the test was accepted simply because it passed on Wine while it wasn't actually executed on WineTestBot. So yeah, removing the refcount test or adding a todo_wine is probably the way to go, adding a broken(ref == 2) doesn't seem to make much sense.
Thanks for bringing this up.
d3d is not my area, so please comment.
-- By by ... Detlef
dlls/d3dx9_36/tests/line.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dx9_36/tests/line.c b/dlls/d3dx9_36/tests/line.c index dc0c747..6ed508b 100644 --- a/dlls/d3dx9_36/tests/line.c +++ b/dlls/d3dx9_36/tests/line.c @@ -110,7 +110,9 @@ static void test_create_line(IDirect3DDevice9* device) expect_mat(&world, &result);
ref = IDirect3DDevice9_Release(return_device);
- ok(ref == 2, "Got %x references to device %p, expected 2\n", ref, return_device);
todo_wine
ok(broken(ref == 2) || ref == 5,
"Got %x references to device %p, expected 5\n", ref, return_device);
ref = ID3DXLine_Release(line); ok(ref == 0, "Got %x references to line %p, expected 0\n", ref, line);
-- 1.7.5.4