[ros-diffs] [mbosma] 26739: Start of ddraw test case.

mbosma at svn.reactos.org mbosma at svn.reactos.org
Sat May 12 21:43:01 CEST 2007


Author: mbosma
Date: Sat May 12 23:43:01 2007
New Revision: 26739

URL: http://svn.reactos.org/svn/reactos?rev=26739&view=rev
Log:
Start of ddraw test case.

Added:
    trunk/rostests/dxtest/ddraw/ddraw.rbuild
    trunk/rostests/dxtest/ddraw/ddraw_test.c   (with props)
    trunk/rostests/dxtest/ddraw/ddrawtest.h   (with props)
    trunk/rostests/dxtest/ddraw/testlist.cpp   (with props)
    trunk/rostests/dxtest/ddraw/tests/
    trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp   (with props)

Added: trunk/rostests/dxtest/ddraw/ddraw.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/dxtest/ddraw/ddraw.rbuild?rev=26739&view=auto
==============================================================================
--- trunk/rostests/dxtest/ddraw/ddraw.rbuild (added)
+++ trunk/rostests/dxtest/ddraw/ddraw.rbuild Sat May 12 23:43:01 2007
@@ -1,0 +1,12 @@
+<module name="ddraw_test" type="win32cui" allowwarnings="true">
+	<include base="ddraw_test">.</include>
+	<define name="__USE_W32API" />
+	<define name="_WIN32_WINNT">0x0501</define>
+	<library>kernel32</library>
+	<library>user32</library>
+	<library>gdi32</library>
+	<library>ddraw</library>
+	<library>dxguid</library>
+	<file>ddraw_test.c</file>
+	<file>testlist.cpp</file>
+</module>

Added: trunk/rostests/dxtest/ddraw/ddraw_test.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/dxtest/ddraw/ddraw_test.c?rev=26739&view=auto
==============================================================================
--- trunk/rostests/dxtest/ddraw/ddraw_test.c (added)
+++ trunk/rostests/dxtest/ddraw/ddraw_test.c Sat May 12 23:43:01 2007
@@ -1,0 +1,51 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "ddrawtest.h"
+
+INT NumTests(void);
+
+int main(int argc, char *argv[])
+{
+	INT Num = NumTests();
+	INT i, j;
+	INT passed, failed, opassed, ofailed;
+
+	opassed = 0;
+	ofailed = 0;
+	printf("DirectDraw tests\n");
+	if (argc > 1)
+	{
+		for (i = 1; i < argc; i++)
+		{
+			for (j = 0; j < NumTests(); j++)
+			{
+				if (stricmp(argv[i], TestList[j].Test) == 0)
+				{
+					passed = 0;
+					failed = 0;
+					TestList[j].Proc(&passed, &failed);
+					opassed += passed;
+					ofailed += failed;
+					printf(" tests: %d, passed: %d, failed: %d\n\n", passed+failed, passed, failed);
+				}
+			}
+		}
+	}
+	else
+	{
+		for (i = 0; i < Num; i++)
+		{
+			passed = 0;
+			failed = 0;
+			printf("Test: %s\n", TestList[i].Test);
+			TestList[i].Proc(&passed, &failed);
+			opassed += passed;
+			ofailed += failed;
+			printf(" tests: %d, passed: %d, failed: %d\n\n", passed+failed, passed, failed);
+		}
+	}
+	printf("\nOverall tests: %d, passed: %d, failed: %d\n", opassed+ofailed, opassed, ofailed);
+
+	return ofailed;
+}

Propchange: trunk/rostests/dxtest/ddraw/ddraw_test.c
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/rostests/dxtest/ddraw/ddraw_test.c
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: trunk/rostests/dxtest/ddraw/ddrawtest.h
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/dxtest/ddraw/ddrawtest.h?rev=26739&view=auto
==============================================================================
--- trunk/rostests/dxtest/ddraw/ddrawtest.h (added)
+++ trunk/rostests/dxtest/ddraw/ddrawtest.h Sat May 12 23:43:01 2007
@@ -1,0 +1,34 @@
+#ifndef _DDRAWTEST_H
+#define _DDRAWTEST_H
+
+#define WINVER 0x501
+
+#include <stdio.h>
+#include <windows.h>
+#include <ddraw.h>
+
+#define TEST(x) \
+	if (x)\
+	{\
+		(*passed)++;\
+	} else {\
+		(*failed)++;\
+		printf("Test failed in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
+	};
+
+
+/* The type definitions */
+typedef BOOL (*TESTPROC)(INT*, INT*);
+
+typedef struct tagTEST
+{
+	CHAR* Test;
+	TESTPROC Proc;
+} TEST, *PTEST;
+
+
+extern TEST TestList[];
+
+#endif /* _DDRAWTEST_H */
+
+/* EOF */

Propchange: trunk/rostests/dxtest/ddraw/ddrawtest.h
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/rostests/dxtest/ddraw/ddrawtest.h
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: trunk/rostests/dxtest/ddraw/testlist.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/dxtest/ddraw/testlist.cpp?rev=26739&view=auto
==============================================================================
--- trunk/rostests/dxtest/ddraw/testlist.cpp (added)
+++ trunk/rostests/dxtest/ddraw/testlist.cpp Sat May 12 23:43:01 2007
@@ -1,0 +1,23 @@
+#ifndef _DDRAWTESTLIST_H
+#define _DDRAWTESTLIST_H
+
+#include "ddrawtest.h"
+
+/* include the tests */
+#include "tests/CreateDDraw.cpp"
+
+/* The List of tests */
+TEST TestList[] =
+{
+	{ "CreateDDraw", Test_CreateDDraw }
+};
+
+/* The function that gives us the number of tests */
+extern "C" INT NumTests(void)
+{
+	return sizeof(TestList) / sizeof(TEST);
+}
+
+#endif /* _DDRAWTESTLIST_H */
+
+/* EOF */

Propchange: trunk/rostests/dxtest/ddraw/testlist.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/rostests/dxtest/ddraw/testlist.cpp
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp?rev=26739&view=auto
==============================================================================
--- trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp (added)
+++ trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp Sat May 12 23:43:01 2007
@@ -1,0 +1,19 @@
+#include "ddrawtest.h"
+
+PCHAR DDErrorString (HRESULT hResult);
+
+BOOL Test_CreateDDraw (INT* passed, INT* failed)
+{
+	LPDIRECTDRAW7 DirectDraw;
+	IDirectDraw* DirectDraw2;
+
+	// FIXME: Test first parameter 
+
+	TEST (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, (IUnknown*)0xdeadbeef) == CLASS_E_NOAGGREGATION);
+	TEST (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw4, NULL) == DDERR_INVALIDPARAMS);
+	TEST (DirectDrawCreateEx(NULL, NULL, IID_IDirectDraw7, NULL) == DDERR_INVALIDPARAMS); 
+	TEST (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) == DD_OK);
+	TEST (DirectDrawCreate(NULL ,&DirectDraw2, NULL) == DD_OK);
+
+	return TRUE;
+}

Propchange: trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/rostests/dxtest/ddraw/tests/CreateDDraw.cpp
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision




More information about the Ros-diffs mailing list