mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 12:40:33 +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
11 changed files with 39 additions and 18 deletions
|
@ -36,9 +36,9 @@ add_library(kmtest_drv SHARED ${KMTEST_DRV_SOURCE})
|
|||
set_module_type(kmtest_drv kernelmodedriver)
|
||||
target_link_libraries(kmtest_drv kmtest_printf ${PSEH_LIB})
|
||||
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
|
||||
kmtest_drv/printf_stubs.c
|
||||
|
|
|
@ -12,4 +12,4 @@ target_link_libraries(example_drv kmtest_printf ${PSEH_LIB})
|
|||
add_importlibs(example_drv ntoskrnl hal)
|
||||
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>
|
||||
<library>ntoskrnl</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>
|
||||
<library>advapi32</library>
|
||||
<define name="KMT_USER_MODE" />
|
||||
|
|
|
@ -73,6 +73,33 @@ OutputError(
|
|||
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
|
||||
*
|
||||
|
@ -118,7 +145,7 @@ ListTests(
|
|||
}
|
||||
else
|
||||
{
|
||||
int Result = strcmp(TestEntry->TestName, TestName);
|
||||
INT Result = CompareTestNames(TestEntry->TestName, TestName);
|
||||
|
||||
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>
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<library>pseh</library>
|
||||
<library>kmtest_printf</library>
|
||||
<define name="KMT_KERNEL_MODE" />
|
||||
<define name="NTDDI_VERSION">NTDDI_WS03SP1</define>
|
||||
<directory name="kmtest_drv">
|
||||
<file>kmtest_drv.c</file>
|
||||
<file>testlist.c</file>
|
||||
|
|
|
@ -27,13 +27,13 @@ KMT_TESTFUNC Test_ObCreate;
|
|||
|
||||
const KMT_TEST TestList[] =
|
||||
{
|
||||
{ "Example", Test_Example },
|
||||
{ "ExHardError", Test_ExHardError },
|
||||
{ "-ExHardErrorInteractive", Test_ExHardErrorInteractive },
|
||||
{ "ExInterlocked", Test_ExInterlocked },
|
||||
{ "ExPools", Test_ExPools },
|
||||
{ "ExResource", Test_ExResource },
|
||||
{ "ExTimer", Test_ExTimer },
|
||||
{ "Example", Test_Example },
|
||||
{ "FsRtlExpression", Test_FsRtlExpression },
|
||||
{ "IoDeviceInterface", Test_IoDeviceInterface },
|
||||
{ "IoIrp", Test_IoIrp },
|
||||
|
|
|
@ -25,8 +25,6 @@ __declspec(dllimport) int __stdcall ExInterlockedDecrementLong(l
|
|||
__declspec(dllimport) int __stdcall Exi386InterlockedIncrementLong(long *);
|
||||
__declspec(dllimport) int __stdcall Exi386InterlockedDecrementLong(long *);
|
||||
|
||||
#undef NTDDI_VERSION
|
||||
#define NTDDI_VERSION NTDDI_WS03SP1
|
||||
#include <ntddk.h>
|
||||
#include <pseh/pseh2.h>
|
||||
|
||||
|
@ -213,7 +211,7 @@ TestInterlockedFunctional(VOID)
|
|||
PKSPIN_LOCK pSpinLock = &SpinLock;
|
||||
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
|
||||
pSpinLock = NULL;
|
||||
#endif
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
||||
*/
|
||||
|
||||
#undef NTDDI_VERSION
|
||||
#define NTDDI_VERSION NTDDI_WS03SP1
|
||||
#include <ntddk.h>
|
||||
#include <ntifs.h>
|
||||
#include <ndk/extypes.h>
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
||||
*/
|
||||
|
||||
#undef NTDDI_VERSION
|
||||
#define NTDDI_VERSION NTDDI_WS03SP1
|
||||
#include <ntddk.h>
|
||||
#include <kmt_test.h>
|
||||
|
||||
|
|
|
@ -30,8 +30,7 @@ DpcHandler(
|
|||
IN PVOID SystemArgument1,
|
||||
IN PVOID SystemArgument2)
|
||||
{
|
||||
PKPCR Pcr = KeGetPcr();
|
||||
PKPRCB Prcb = Pcr->Prcb;
|
||||
PKPRCB Prcb = KeGetCurrentPrcb();
|
||||
|
||||
ok_irql(DISPATCH_LEVEL);
|
||||
InterlockedIncrement(&DpcCount);
|
||||
|
@ -58,7 +57,7 @@ DpcHandler(
|
|||
ok_eq_pointer(Dpc->SystemArgument1, SystemArgument1);
|
||||
ok_eq_pointer(Dpc->SystemArgument2, SystemArgument2);
|
||||
ok_eq_pointer(Dpc->DpcData, NULL);
|
||||
|
||||
|
||||
ok_eq_uint(Prcb->DpcRoutineActive, 1);
|
||||
/* 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);
|
||||
|
|
Loading…
Reference in a new issue