Author: pschweitzer
Date: Wed Sep 29 21:42:11 2010
New Revision: 48932
URL:
http://svn.reactos.org/svn/reactos?rev=48932&view=rev
Log:
[KMTEST]
Added a small testcase for FsRtlIsNameInExpression(). It's quite relevant for daily
and simple use of the function. It shouldn't fail on ReactOS given our current
implementation.
Added:
trunk/rostests/drivers/kmtest/ntos_fsrtl.c (with props)
Modified:
trunk/rostests/drivers/kmtest/kmtest.c
trunk/rostests/drivers/kmtest/kmtest.rbuild
Modified: trunk/rostests/drivers/kmtest/kmtest.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtest.c?r…
==============================================================================
--- trunk/rostests/drivers/kmtest/kmtest.c [iso-8859-1] (original)
+++ trunk/rostests/drivers/kmtest/kmtest.c [iso-8859-1] Wed Sep 29 21:42:11 2010
@@ -174,6 +174,7 @@
BOOLEAN DetachDeviceTest(PDEVICE_OBJECT);
BOOLEAN AttachDeviceTest(PDEVICE_OBJECT, PWCHAR);
VOID LowerDeviceKernelAPITest(PDEVICE_OBJECT, BOOLEAN);
+VOID NtoskrnlFsRtlTest(HANDLE KeyHandle);
typedef enum {
TestStageExTimer = 0,
@@ -185,6 +186,7 @@
TestStageOb,
TestStageKeStall,
TestStageDrv,
+ TestStageFsRtl,
TestStageMax
} TEST_STAGE;
@@ -397,6 +399,10 @@
}
FinishTest(KeyHandle, L"DriverTest");
+ break;
+
+ case TestStageFsRtl:
+ NtoskrnlFsRtlTest(KeyHandle);
break;
default:
Modified: trunk/rostests/drivers/kmtest/kmtest.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/kmtest.rbu…
==============================================================================
--- trunk/rostests/drivers/kmtest/kmtest.rbuild [iso-8859-1] (original)
+++ trunk/rostests/drivers/kmtest/kmtest.rbuild [iso-8859-1] Wed Sep 29 21:42:11 2010
@@ -14,5 +14,6 @@
<file>ntos_ke.c</file>
<file>ntos_ob.c</file>
<file>ntos_pools.c</file>
+ <file>ntos_fsrtl.c</file>
<file>kmtest.rc</file>
</module>
Added: trunk/rostests/drivers/kmtest/ntos_fsrtl.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/drivers/kmtest/ntos_fsrtl…
==============================================================================
--- trunk/rostests/drivers/kmtest/ntos_fsrtl.c (added)
+++ trunk/rostests/drivers/kmtest/ntos_fsrtl.c [iso-8859-1] Wed Sep 29 21:42:11 2010
@@ -1,0 +1,125 @@
+/*
+ * FsRtl Test
+ *
+ * Copyright 2010 Pierre Schweitzer <pierre.schweitzer(a)reactos.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; see the file COPYING.LIB.
+ * If not, write to the Free Software Foundation,
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/* INCLUDES *******************************************************************/
+
+#include "kmtest.h"
+#include <ntifs.h>
+
+#define NDEBUG
+#include "debug.h"
+
+/* PRIVATE FUNCTIONS **********************************************************/
+
+VOID FsRtlIsNameInExpressionTest()
+{
+ UNICODE_STRING Expression, Name;
+
+ RtlInitUnicodeString(&Expression, L"ntdll.dll");
+ RtlInitUnicodeString(&Name, L".");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"~1");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"..");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"ntdll.dll");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+
+ RtlInitUnicodeString(&Expression, L"smss.exe");
+ RtlInitUnicodeString(&Name, L".");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"~1");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"..");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"ntdll.dll");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"NTDLL.dll");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+
+ RtlInitUnicodeString(&Expression, L"nt??krnl.???");
+ RtlInitUnicodeString(&Name, L"ntoskrnl.exe");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+
+ RtlInitUnicodeString(&Expression, L"he*o");
+ RtlInitUnicodeString(&Name, L"hello");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+ RtlInitUnicodeString(&Name, L"helo");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+ RtlInitUnicodeString(&Name, L"hella");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+
+ RtlInitUnicodeString(&Expression, L"he*");
+ RtlInitUnicodeString(&Name, L"hello");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+ RtlInitUnicodeString(&Name, L"helo");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+ RtlInitUnicodeString(&Name, L"hella");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+
+ RtlInitUnicodeString(&Expression, L"*.cpl");
+ RtlInitUnicodeString(&Name, L"kdcom.dll");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"bootvid.dll");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"ntoskrnl.exe");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+
+ RtlInitUnicodeString(&Expression, L".");
+ RtlInitUnicodeString(&Name, L"NTDLL.DLL");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+
+ RtlInitUnicodeString(&Expression, L"F0_*.*");
+ RtlInitUnicodeString(&Name, L".");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"..");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"SETUP.EXE");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"F0_001");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+
+ RtlInitUnicodeString(&Expression, L"*.TTF");
+ RtlInitUnicodeString(&Name, L".");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"..");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+ RtlInitUnicodeString(&Name, L"SETUP.INI");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == FALSE,
"expected FALSE, got TRUE");
+
+ RtlInitUnicodeString(&Expression, L"*");
+ RtlInitUnicodeString(&Name, L".");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+ RtlInitUnicodeString(&Name, L"..");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+ RtlInitUnicodeString(&Name, L"SETUP.INI");
+ ok(FsRtlIsNameInExpression(&Expression, &Name, FALSE, NULL) == TRUE,
"expected TRUE, got FALSE");
+}
+
+/* PUBLIC FUNCTIONS ***********************************************************/
+
+VOID
+NtoskrnlFsRtlTest(HANDLE KeyHandle)
+{
+ FsRtlIsNameInExpressionTest();
+
+ FinishTest(KeyHandle, L"FsRtlTest");
+}
Propchange: trunk/rostests/drivers/kmtest/ntos_fsrtl.c
------------------------------------------------------------------------------
svn:eol-style = native