[PATCH] d3dx9_36/tests: Fix broken line test

Detlef Riekenberg wine.dev at web.de
Mon Nov 26 18:11:10 CST 2012

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.

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);

More information about the wine-patches mailing list