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/ExInterloc... ============================================================================== --- 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@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);