Author: tfaber
Date: Thu Mar 15 11:46:30 2012
New Revision: 56154
URL:
http://svn.reactos.org/svn/reactos?rev=56154&view=rev
Log:
[KMTESTS/EX]
- Work around compiler-specific false positives in ExInterlocked
- Disable broken ExPools tests
Modified:
trunk/rostests/kmtests/ntos_ex/ExInterlocked.c
trunk/rostests/kmtests/ntos_ex/ExPools.c
Modified: trunk/rostests/kmtests/ntos_ex/ExInterlocked.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ex/ExInterlo…
==============================================================================
--- trunk/rostests/kmtests/ntos_ex/ExInterlocked.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ex/ExInterlocked.c [iso-8859-1] Thu Mar 15 11:46:30 2012
@@ -63,7 +63,8 @@
#define CheckState(OldState, NewState) do \
{ \
- ok_eq_hex((OldState)->esi, (NewState)->esi); \
+ /* TODO: MSVC uses esi and saves it before, so this is okay */ \
+ /*ok_eq_hex((OldState)->esi, (NewState)->esi);*/ \
ok_eq_hex((OldState)->edi, (NewState)->edi); \
ok_eq_hex((OldState)->ebx, (NewState)->ebx); \
ok_eq_hex((OldState)->ebp, (NewState)->ebp); \
@@ -87,7 +88,8 @@
{ \
ok_eq_hex((OldState)->esi, (NewState)->esi); \
ok_eq_hex((OldState)->edi, (NewState)->edi); \
- ok_eq_hex((OldState)->ebx, (NewState)->ebx); \
+ /* TODO: GCC uses ebx and saves it before, so this is okay */ \
+ /*ok_eq_hex((OldState)->ebx, (NewState)->ebx);*/ \
ok_eq_hex((OldState)->ebp, (NewState)->ebp); \
ok_eq_hex((OldState)->esp, (NewState)->esp); \
} while (0)
Modified: trunk/rostests/kmtests/ntos_ex/ExPools.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_ex/ExPools.c…
==============================================================================
--- trunk/rostests/kmtests/ntos_ex/ExPools.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_ex/ExPools.c [iso-8859-1] Thu Mar 15 11:46:30 2012
@@ -4,8 +4,6 @@
* PURPOSE: Kernel-Mode Test Suite Pools test routines KM-Test
* PROGRAMMER: Aleksey Bragin <aleksey(a)reactos.org>
*/
-
-/* TODO: PoolsCorruption tests fail because accessing invalid memory doesn't
necessarily cause an access violation */
#include <kmt_test.h>
@@ -112,6 +110,9 @@
// touch all bytes, it shouldn't cause an exception
RtlZeroMemory(Ptr, AllocSize);
+/* TODO: These fail because accessing invalid memory doesn't necessarily
+ cause an access violation */
+#ifdef THIS_DOESNT_WORK
// test buffer overrun, right after our allocation ends
_SEH2_TRY
{
@@ -139,6 +140,7 @@
} _SEH2_END;
ok(Status == STATUS_ACCESS_VIOLATION, "Exception should occur, but got Status
0x%08lX\n", Status);
+#endif
// free the pool
ExFreePoolWithTag(Ptr, TAG_POOLTEST);