2 * PROJECT: ReactOS kernel
3 * FILE: regtests/shared/regtests.c
4 * PURPOSE: Regression testing framework
5 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
7 * 06-07-2003 CSH Created
10 #define NTOS_MODE_USER
38 InitializeListHead(&AllTests);
42 PerformTest(PROS_TEST Test)
48 memset(TestName, 0, sizeof(TestName));
49 memset(Buffer, 0, sizeof(Buffer));
51 if (!((Test->Routine)(TESTCMD_TESTNAME, TestName) == 0))
53 strcpy(TestName, "Unnamed");
59 Result = (Test->Routine)(TESTCMD_RUN, Buffer);
61 } __except(EXCEPTION_EXECUTE_HANDLER) {
63 strcpy(Buffer, "Failed due to exception");
69 DbgPrint("ROSREGTEST: (%s) Status: Failed (%s)\n", TestName, Buffer);
73 DbgPrint("ROSREGTEST: (%s) Status: Success\n", TestName);
80 PLIST_ENTRY CurrentEntry;
81 PLIST_ENTRY NextEntry;
84 CurrentEntry = AllTests.Flink;
85 while (CurrentEntry != &AllTests)
87 NextEntry = CurrentEntry->Flink;
88 Current = CONTAINING_RECORD(CurrentEntry, ROS_TEST, ListEntry);
90 CurrentEntry = NextEntry;
95 AddTest(TestRoutine Routine)
99 Test = (PROS_TEST) AllocateMemory(sizeof(ROS_TEST));
102 DbgPrint("Out of memory");
106 Test->Routine = Routine;
108 InsertTailList(&AllTests, &Test->ListEntry);