2012/11/27 Detlef Riekenberg <wine.dev(a)web.de>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