mirror of
https://github.com/reactos/reactos.git
synced 2024-07-15 08:56:08 +00:00
[KMTESTS]
- put driver files into 'bin' with the other tests instead of system32\drivers - globally define NTDDI_VERSION=NTDDI_WS03_SP1 instead of doing it in each test - fix testlist sorting (ASCII-order, but ignore leading minus) svn path=/branches/GSoC_2011/KMTestSuite/; revision=52780
This commit is contained in:
parent
270b3045e7
commit
7eb0e89e51
|
@ -36,9 +36,9 @@ add_library(kmtest_drv SHARED ${KMTEST_DRV_SOURCE})
|
||||||
set_module_type(kmtest_drv kernelmodedriver)
|
set_module_type(kmtest_drv kernelmodedriver)
|
||||||
target_link_libraries(kmtest_drv kmtest_printf ${PSEH_LIB})
|
target_link_libraries(kmtest_drv kmtest_printf ${PSEH_LIB})
|
||||||
add_importlibs(kmtest_drv ntoskrnl hal)
|
add_importlibs(kmtest_drv ntoskrnl hal)
|
||||||
set_property(TARGET kmtest_drv PROPERTY COMPILE_DEFINITIONS KMT_KERNEL_MODE)
|
set_property(TARGET kmtest_drv PROPERTY COMPILE_DEFINITIONS KMT_KERNEL_MODE NTDDI_VERSION=NTDDI_WS03SP1)
|
||||||
|
|
||||||
add_cd_file(TARGET kmtest_drv DESTINATION reactos/system32/drivers FOR all)
|
add_cd_file(TARGET kmtest_drv DESTINATION reactos/bin FOR all)
|
||||||
|
|
||||||
add_library(kmtest_printf
|
add_library(kmtest_printf
|
||||||
kmtest_drv/printf_stubs.c
|
kmtest_drv/printf_stubs.c
|
||||||
|
|
|
@ -12,4 +12,4 @@ target_link_libraries(example_drv kmtest_printf ${PSEH_LIB})
|
||||||
add_importlibs(example_drv ntoskrnl hal)
|
add_importlibs(example_drv ntoskrnl hal)
|
||||||
set_property(TARGET example_drv PROPERTY COMPILE_DEFINITIONS KMT_STANDALONE_DRIVER)
|
set_property(TARGET example_drv PROPERTY COMPILE_DEFINITIONS KMT_STANDALONE_DRIVER)
|
||||||
|
|
||||||
add_cd_file(TARGET example_drv DESTINATION reactos/system32/drivers FOR all)
|
add_cd_file(TARGET example_drv DESTINATION reactos/bin FOR all)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<module name="example_drv" type="kernelmodedriver" installbase="system32/drivers" installname="example_drv.sys">
|
<module name="example_drv" type="kernelmodedriver" installbase="bin" installname="example_drv.sys">
|
||||||
<include base="kmtest_drv">include</include>
|
<include base="kmtest_drv">include</include>
|
||||||
<library>ntoskrnl</library>
|
<library>ntoskrnl</library>
|
||||||
<library>hal</library>
|
<library>hal</library>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<module name="kmtest" type="win32cui" installbase="system32" installname="kmtest.exe">
|
<module name="kmtest" type="win32cui" installbase="bin" installname="kmtest.exe">
|
||||||
<include base="kmtest">include</include>
|
<include base="kmtest">include</include>
|
||||||
<library>advapi32</library>
|
<library>advapi32</library>
|
||||||
<define name="KMT_USER_MODE" />
|
<define name="KMT_USER_MODE" />
|
||||||
|
|
|
@ -73,6 +73,33 @@ OutputError(
|
||||||
LocalFree(Message);
|
LocalFree(Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name CompareTestNames
|
||||||
|
*
|
||||||
|
* strcmp that skips a leading '-' on either string if present
|
||||||
|
*
|
||||||
|
* @param Str1
|
||||||
|
* @param Str2
|
||||||
|
* @return see strcmp
|
||||||
|
*/
|
||||||
|
static
|
||||||
|
INT
|
||||||
|
CompareTestNames(
|
||||||
|
IN PCSTR Str1,
|
||||||
|
IN PCSTR Str2)
|
||||||
|
{
|
||||||
|
if (*Str1 == '-')
|
||||||
|
++Str1;
|
||||||
|
if (*Str2 == '-')
|
||||||
|
++Str2;
|
||||||
|
while (*Str1 && *Str1 == *Str2)
|
||||||
|
{
|
||||||
|
++Str1;
|
||||||
|
++Str2;
|
||||||
|
}
|
||||||
|
return *Str1 - *Str2;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @name ListTests
|
* @name ListTests
|
||||||
*
|
*
|
||||||
|
@ -118,7 +145,7 @@ ListTests(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int Result = strcmp(TestEntry->TestName, TestName);
|
INT Result = CompareTestNames(TestEntry->TestName, TestName);
|
||||||
|
|
||||||
if (Result == 0)
|
if (Result == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
<module name="kmtest_drv" type="kernelmodedriver" installbase="system32/drivers" installname="kmtest_drv.sys">
|
<module name="kmtest_drv" type="kernelmodedriver" installbase="bin" installname="kmtest_drv.sys">
|
||||||
<include base="kmtest_drv">include</include>
|
<include base="kmtest_drv">include</include>
|
||||||
<library>ntoskrnl</library>
|
<library>ntoskrnl</library>
|
||||||
<library>hal</library>
|
<library>hal</library>
|
||||||
<library>pseh</library>
|
<library>pseh</library>
|
||||||
<library>kmtest_printf</library>
|
<library>kmtest_printf</library>
|
||||||
<define name="KMT_KERNEL_MODE" />
|
<define name="KMT_KERNEL_MODE" />
|
||||||
|
<define name="NTDDI_VERSION">NTDDI_WS03SP1</define>
|
||||||
<directory name="kmtest_drv">
|
<directory name="kmtest_drv">
|
||||||
<file>kmtest_drv.c</file>
|
<file>kmtest_drv.c</file>
|
||||||
<file>testlist.c</file>
|
<file>testlist.c</file>
|
||||||
|
|
|
@ -27,13 +27,13 @@ KMT_TESTFUNC Test_ObCreate;
|
||||||
|
|
||||||
const KMT_TEST TestList[] =
|
const KMT_TEST TestList[] =
|
||||||
{
|
{
|
||||||
{ "Example", Test_Example },
|
|
||||||
{ "ExHardError", Test_ExHardError },
|
{ "ExHardError", Test_ExHardError },
|
||||||
{ "-ExHardErrorInteractive", Test_ExHardErrorInteractive },
|
{ "-ExHardErrorInteractive", Test_ExHardErrorInteractive },
|
||||||
{ "ExInterlocked", Test_ExInterlocked },
|
{ "ExInterlocked", Test_ExInterlocked },
|
||||||
{ "ExPools", Test_ExPools },
|
{ "ExPools", Test_ExPools },
|
||||||
{ "ExResource", Test_ExResource },
|
{ "ExResource", Test_ExResource },
|
||||||
{ "ExTimer", Test_ExTimer },
|
{ "ExTimer", Test_ExTimer },
|
||||||
|
{ "Example", Test_Example },
|
||||||
{ "FsRtlExpression", Test_FsRtlExpression },
|
{ "FsRtlExpression", Test_FsRtlExpression },
|
||||||
{ "IoDeviceInterface", Test_IoDeviceInterface },
|
{ "IoDeviceInterface", Test_IoDeviceInterface },
|
||||||
{ "IoIrp", Test_IoIrp },
|
{ "IoIrp", Test_IoIrp },
|
||||||
|
|
|
@ -25,8 +25,6 @@ __declspec(dllimport) int __stdcall ExInterlockedDecrementLong(l
|
||||||
__declspec(dllimport) int __stdcall Exi386InterlockedIncrementLong(long *);
|
__declspec(dllimport) int __stdcall Exi386InterlockedIncrementLong(long *);
|
||||||
__declspec(dllimport) int __stdcall Exi386InterlockedDecrementLong(long *);
|
__declspec(dllimport) int __stdcall Exi386InterlockedDecrementLong(long *);
|
||||||
|
|
||||||
#undef NTDDI_VERSION
|
|
||||||
#define NTDDI_VERSION NTDDI_WS03SP1
|
|
||||||
#include <ntddk.h>
|
#include <ntddk.h>
|
||||||
#include <pseh/pseh2.h>
|
#include <pseh/pseh2.h>
|
||||||
|
|
||||||
|
@ -213,7 +211,7 @@ TestInterlockedFunctional(VOID)
|
||||||
PKSPIN_LOCK pSpinLock = &SpinLock;
|
PKSPIN_LOCK pSpinLock = &SpinLock;
|
||||||
PROCESSOR_STATE OldState, NewState;
|
PROCESSOR_STATE OldState, NewState;
|
||||||
|
|
||||||
/* on x86, most of these are supported intrinsicly and don't need a spinlock! */
|
/* on x86, most of these are supported intrinsically and don't need a spinlock! */
|
||||||
#if defined _M_IX86 || defined _M_AMD64
|
#if defined _M_IX86 || defined _M_AMD64
|
||||||
pSpinLock = NULL;
|
pSpinLock = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef NTDDI_VERSION
|
|
||||||
#define NTDDI_VERSION NTDDI_WS03SP1
|
|
||||||
#include <ntddk.h>
|
#include <ntddk.h>
|
||||||
#include <ntifs.h>
|
#include <ntifs.h>
|
||||||
#include <ndk/extypes.h>
|
#include <ndk/extypes.h>
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef NTDDI_VERSION
|
|
||||||
#define NTDDI_VERSION NTDDI_WS03SP1
|
|
||||||
#include <ntddk.h>
|
#include <ntddk.h>
|
||||||
#include <kmt_test.h>
|
#include <kmt_test.h>
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,7 @@ DpcHandler(
|
||||||
IN PVOID SystemArgument1,
|
IN PVOID SystemArgument1,
|
||||||
IN PVOID SystemArgument2)
|
IN PVOID SystemArgument2)
|
||||||
{
|
{
|
||||||
PKPCR Pcr = KeGetPcr();
|
PKPRCB Prcb = KeGetCurrentPrcb();
|
||||||
PKPRCB Prcb = Pcr->Prcb;
|
|
||||||
|
|
||||||
ok_irql(DISPATCH_LEVEL);
|
ok_irql(DISPATCH_LEVEL);
|
||||||
InterlockedIncrement(&DpcCount);
|
InterlockedIncrement(&DpcCount);
|
||||||
|
@ -58,7 +57,7 @@ DpcHandler(
|
||||||
ok_eq_pointer(Dpc->SystemArgument1, SystemArgument1);
|
ok_eq_pointer(Dpc->SystemArgument1, SystemArgument1);
|
||||||
ok_eq_pointer(Dpc->SystemArgument2, SystemArgument2);
|
ok_eq_pointer(Dpc->SystemArgument2, SystemArgument2);
|
||||||
ok_eq_pointer(Dpc->DpcData, NULL);
|
ok_eq_pointer(Dpc->DpcData, NULL);
|
||||||
|
|
||||||
ok_eq_uint(Prcb->DpcRoutineActive, 1);
|
ok_eq_uint(Prcb->DpcRoutineActive, 1);
|
||||||
/* this DPC is not in the list anymore, but it was at the head! */
|
/* this DPC is not in the list anymore, but it was at the head! */
|
||||||
ok_eq_pointer(Prcb->DpcData[DPC_NORMAL].DpcListHead.Flink, Dpc->DpcListEntry.Flink);
|
ok_eq_pointer(Prcb->DpcData[DPC_NORMAL].DpcListHead.Flink, Dpc->DpcListEntry.Flink);
|
||||||
|
|
Loading…
Reference in a new issue