[KMTESTS]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 22 Sep 2013 19:28:21 +0000 (19:28 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 22 Sep 2013 19:28:21 +0000 (19:28 +0000)
No need now to declare a NTSTATUS ExceptionStatus; variable to be able to use KmtStartSeh() / KmtEndSeh() macros; this is done automagically.

svn path=/trunk/; revision=60320

rostests/kmtests/include/kmt_test.h
rostests/kmtests/ntos_ex/ExPools.c
rostests/kmtests/ntos_io/IoEvent.c
rostests/kmtests/ntos_mm/MmSection.c
rostests/kmtests/ntos_mm/ZwAllocateVirtualMemory.c
rostests/kmtests/ntos_mm/ZwMapViewOfSection.c
rostests/kmtests/ntos_ob/ObReference.c
rostests/kmtests/rtl/RtlException.c
rostests/kmtests/rtl/RtlUnicodeString.c

index 0cfacbf..bdc39c3 100644 (file)
@@ -218,19 +218,24 @@ VOID KmtFreeGuarded(PVOID Pointer);
 #define MILLISECOND     (1000 * MICROSECOND)
 #define SECOND          (1000 * MILLISECOND)
 
+/* See apitests/include/apitest.h */
 #define KmtInvalidPointer ((PVOID)0x5555555555555555ULL)
 
 #define KmtStartSeh()                               \
-    ExceptionStatus = STATUS_SUCCESS;               \
+{                                                   \
+    NTSTATUS ExceptionStatus = STATUS_SUCCESS;      \
     _SEH2_TRY                                       \
     {
+
 #define KmtEndSeh(ExpectedStatus)                   \
     }                                               \
     _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)         \
     {                                               \
         ExceptionStatus = _SEH2_GetExceptionCode(); \
-    } _SEH2_END;                                    \
-    ok_eq_hex(ExceptionStatus, ExpectedStatus)
+    }                                               \
+    _SEH2_END;                                      \
+    ok_eq_hex(ExceptionStatus, (ExpectedStatus));   \
+}
 
 #if defined KMT_DEFINE_TEST_FUNCTIONS
 
index a9dc117..a001061 100644 (file)
@@ -194,7 +194,6 @@ TestPoolQuota(VOID)
     LONG InitialRefCount;
     LONG RefCount;
     USHORT PoolType;
-    NTSTATUS ExceptionStatus;
 
     InitialRefCount = GetRefCount(Process);
 
index 3da3647..96360e9 100644 (file)
@@ -35,7 +35,6 @@ TestCreateEvent(
     EVENT_TYPE Type)
 {
     NTSTATUS Status;
-    NTSTATUS ExceptionStatus;
     PKEVENT Event, Event2;
     HANDLE EventHandle, EventHandle2;
     LONG State;
index 1283207..259a228 100644 (file)
@@ -77,7 +77,6 @@ TestCreateSection(
     IN PFILE_OBJECT FileObject2)
 {
     NTSTATUS Status = STATUS_SUCCESS;
-    NTSTATUS ExceptionStatus;
     PVOID SectionObject;
     LARGE_INTEGER MaximumSize;
     ULONG PointerCount1, PointerCount2;
index eefd8b8..67a8ec2 100644 (file)
@@ -64,7 +64,6 @@ static
 SIZE_T
 CheckBufferRead(CONST VOID *Source, CONST VOID *Destination, SIZE_T Length, NTSTATUS ExpectedStatus)
 {
-    NTSTATUS ExceptionStatus;
     SIZE_T Match = 0;
 
     KmtStartSeh()
@@ -79,7 +78,6 @@ VOID
 CheckBufferReadWrite(PVOID Destination, CONST VOID *Source, SIZE_T Length, NTSTATUS ExpectedStatus)
 {
     //do a little bit of writing/reading to memory
-    NTSTATUS ExceptionStatus;
     SIZE_T Match = 0;
 
     KmtStartSeh()
@@ -167,7 +165,6 @@ NTSTATUS
 SimpleAllocation(VOID)
 {
     NTSTATUS Status;
-    NTSTATUS ExceptionStatus;
     PVOID Base = NULL;
     SIZE_T RegionSize = DEFAULT_ALLOC_SIZE;
 
index 44f446f..cd7f4e4 100644 (file)
@@ -418,8 +418,6 @@ BehaviorChecks(HANDLE FileHandleReadOnly, HANDLE FileHandleWriteOnly)
     Status = ZwMapViewOfSection(WriteSectionHandle, NtCurrentProcess(), &BaseAddress, 0, 0, &SectionOffset, &ViewSize, ViewUnmap, 0, PAGE_READONLY);
     if (!skip(NT_SUCCESS(Status), "Error mapping view with READ priv. Error = %p\n", Status))
     {
-        NTSTATUS ExceptionStatus;
-
         Match = RtlCompareMemory(BaseAddress, TestString, TestStringSize);
         ok_eq_size(Match, TestStringSize);
 
@@ -439,8 +437,6 @@ BehaviorChecks(HANDLE FileHandleReadOnly, HANDLE FileHandleWriteOnly)
     Status = ZwMapViewOfSection(WriteSectionHandle, NtCurrentProcess(), &BaseAddress, 0, 0, &SectionOffset, &ViewSize, ViewUnmap, 0, PAGE_NOACCESS);
     if (!skip(NT_SUCCESS(Status), "Error mapping view with PAGE_NOACCESS priv. Error = %p\n", Status))
     {
-        NTSTATUS ExceptionStatus;
-
         KmtStartSeh()
             RtlCompareMemory(BaseAddress, TestString, TestStringSize);
         KmtEndSeh(STATUS_ACCESS_VIOLATION);
index 68b9a32..806f1d1 100644 (file)
@@ -142,7 +142,6 @@ TestReference(
 START_TEST(ObReference)
 {
     NTSTATUS Status;
-    NTSTATUS ExceptionStatus;
     HANDLE DirectoryHandle = NULL;
     OBJECT_ATTRIBUTES ObjectAttributes;
     UNICODE_STRING Name, *pName;
@@ -240,8 +239,7 @@ START_TEST(ObReference)
     Status = ObReferenceObjectByPointer(NULL, 0, NULL, UserMode);
     Status = ObReferenceObjectByPointer(NULL, 0, NULL, KernelMode);*/
 
-    ExceptionStatus = STATUS_SUCCESS;
-    _SEH2_TRY {
+    KmtStartSeh()
         /* TODO: this belongs in an ObHandle test if we ever have one */
         /* NtClose must accept everything */
         DPRINT("Closing null handle (NtClose)\n");
@@ -314,10 +312,7 @@ START_TEST(ObReference)
         /* INVALID_KERNEL_HANDLE, 0x7B, 1, 0, 0
         Status = ObCloseHandle((HANDLE)123, KernelMode);
         Status = ObCloseHandle((HANDLE)(123 | 0x80000000), KernelMode);*/
-    } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) {
-        ExceptionStatus = _SEH2_GetExceptionCode();
-    } _SEH2_END;
-    ok_eq_hex(ExceptionStatus, STATUS_SUCCESS);
+    KmtEndSeh(STATUS_SUCCESS);
 
     if (ObDirectoryObjectType)
     {
index e2872dd..425bb78 100644 (file)
@@ -9,7 +9,6 @@
 
 START_TEST(RtlException)
 {
-    NTSTATUS ExceptionStatus;
     PCHAR Buffer[128];
 
     /* Access a valid pointer - must not trigger SEH */
index c6289dc..e8a871b 100644 (file)
@@ -13,7 +13,6 @@ VOID
 TestFindCharInUnicodeString(VOID)
 {
 #ifdef KMT_USER_MODE
-    NTSTATUS ExceptionStatus;
     NTSTATUS Status;
     UNICODE_STRING String = RTL_CONSTANT_STRING(L"I am a string");
     UNICODE_STRING Chars = RTL_CONSTANT_STRING(L"a");