/*
* PROJECT: ReactOS api tests
* LICENSE: GPL - See COPYING in the top level directory
- * PURPOSE: Test for ZwContinue
- * PROGRAMMER:
+ * PURPOSE: Test for NtContinue
+ * PROGRAMMER:
*/
#include <apitest.h>
+#include <ndk/kefuncs.h>
#include <setjmp.h>
#include <time.h>
#ifdef _M_IX86
-#define ZWC_SEGMENT_BITS (0xFFFF)
-#define ZWC_EFLAGS_BITS (0x3C0CD5)
+#define NTC_SEGMENT_BITS (0xFFFF)
+#define NTC_EFLAGS_BITS (0x3C0CD5)
#endif
void continuePoint(void);
-LONG NTAPI ZwContinue(IN CONTEXT *, IN BOOLEAN);
static jmp_buf jmpbuf;
static CONTEXT continueContext;
"ContextFlags=0x%lx\n", pContext->ContextFlags);
/* Random data segments */
- ok((pContext->SegGs & ZWC_SEGMENT_BITS) ==
- (continueContext.SegGs & ZWC_SEGMENT_BITS),
+ ok((pContext->SegGs & NTC_SEGMENT_BITS) ==
+ (continueContext.SegGs & NTC_SEGMENT_BITS),
"SegGs=0x%lx / 0x%lx\n", pContext->SegGs, continueContext.SegGs);
- ok((pContext->SegFs & ZWC_SEGMENT_BITS) ==
- (continueContext.SegFs & ZWC_SEGMENT_BITS),
+ ok((pContext->SegFs & NTC_SEGMENT_BITS) ==
+ (continueContext.SegFs & NTC_SEGMENT_BITS),
"SegFs=0x%lx / 0x%lx\n", pContext->SegFs, continueContext.SegFs);
- ok((pContext->SegEs & ZWC_SEGMENT_BITS) ==
- (continueContext.SegEs & ZWC_SEGMENT_BITS),
+ ok((pContext->SegEs & NTC_SEGMENT_BITS) ==
+ (continueContext.SegEs & NTC_SEGMENT_BITS),
"SegEs=0x%lx / 0x%lx\n", pContext->SegEs, continueContext.SegEs);
- ok((pContext->SegDs & ZWC_SEGMENT_BITS) ==
- (continueContext.SegDs & ZWC_SEGMENT_BITS),
+ ok((pContext->SegDs & NTC_SEGMENT_BITS) ==
+ (continueContext.SegDs & NTC_SEGMENT_BITS),
"SegDs=0x%lx / 0x%lx\n", pContext->SegDs, continueContext.SegDs);
/* Integer registers */
- ok(pContext->Edi == continueContext.Edi,
+ ok(pContext->Edi == continueContext.Edi,
"Edi: 0x%lx != 0x%lx\n", pContext->Edi, continueContext.Edi);
ok(pContext->Esi == continueContext.Esi,
"Esi: 0x%lx != 0x%lx\n", pContext->Esi, continueContext.Esi);
ok(pContext->Esp == continueContext.Esp,
"Esp: 0x%lx != 0x%lx\n", pContext->Esp, continueContext.Esp);
- ok((pContext->SegCs & ZWC_SEGMENT_BITS) ==
- (continueContext.SegCs & ZWC_SEGMENT_BITS),
+ ok((pContext->SegCs & NTC_SEGMENT_BITS) ==
+ (continueContext.SegCs & NTC_SEGMENT_BITS),
"SegCs: 0x%lx != 0x%lx\n", pContext->SegCs, continueContext.SegCs);
- ok((pContext->EFlags & ZWC_EFLAGS_BITS) ==
- (continueContext.EFlags & ZWC_EFLAGS_BITS),
+ ok((pContext->EFlags & NTC_EFLAGS_BITS) ==
+ (continueContext.EFlags & NTC_EFLAGS_BITS),
"EFlags: 0x%lx != 0x%lx\n", pContext->EFlags, continueContext.EFlags);
- ok((pContext->SegSs & ZWC_SEGMENT_BITS) ==
- (continueContext.SegSs & ZWC_SEGMENT_BITS),
+ ok((pContext->SegSs & NTC_SEGMENT_BITS) ==
+ (continueContext.SegSs & NTC_SEGMENT_BITS),
"SegSs: 0x%lx != 0x%lx\n", pContext->SegSs, continueContext.SegSs);
#endif
longjmp(jmpbuf, 1);
}
-void Test_ZwContinue()
+START_TEST(NtContinue)
{
initrand();
/* Can't do a lot about segments */
#endif
- ZwContinue(&continueContext, FALSE);
+ NtContinue(&continueContext, FALSE);
ok(0, "should never get here\n");
}
/* Second time */
return;
}
-
-START_TEST(ZwContinue)
-{
- Test_ZwContinue();
-}
-
&str, pentry->input);
len = 0xDEADBEEF;
-
+
StartSeh()
res = RtlGetLengthWithoutTrailingPathSeperators(0, &str, &len);
EndSeh(STATUS_SUCCESS);
-
- ok(res == pentry->expected_result,
+
+ ok(res == pentry->expected_result,
"Unexpected result 0x%08x (expected 0x%08x) in [%d:%d]\n",
res, pentry->expected_result,
i, pentry->line);
ok(len == pentry->expected_output,
- "Unexpected length %d (expected %d) in [%d:%d]\n",
+ "Unexpected length %d (expected %d) in [%d:%d]\n",
len, pentry->expected_output,
- i, pentry->line);
+ i, pentry->line);
}
// Invalid parameters
res = RtlGetLengthWithoutTrailingPathSeperators(0, NULL, &len);
EndSeh(STATUS_SUCCESS);
- ok(res == STATUS_INVALID_PARAMETER,
+ ok(res == STATUS_INVALID_PARAMETER,
"Unexpected result 0x%08x (expected STATUS_INVALID_PARAMETER)\n",
res);
- ok(len == 0,
+ ok(len == 0,
"Unexpected length %08x (expected 0)\n",
len);
res = RtlGetLengthWithoutTrailingPathSeperators(0, &str, NULL);
EndSeh(STATUS_SUCCESS);
- ok(res == STATUS_INVALID_PARAMETER,
+ ok(res == STATUS_INVALID_PARAMETER,
"Unexpected result 0x%08x (expected STATUS_INVALID_PARAMETER)\n",
res);
res = RtlGetLengthWithoutTrailingPathSeperators(0, NULL, NULL);
EndSeh(STATUS_SUCCESS);
- ok(res == STATUS_INVALID_PARAMETER,
+ ok(res == STATUS_INVALID_PARAMETER,
"Unexpected result 0x%08x (expected STATUS_INVALID_PARAMETER)\n",
res);
res = RtlGetLengthWithoutTrailingPathSeperators(1<<i, &str, &len);
EndSeh(STATUS_SUCCESS);
- ok(res == STATUS_INVALID_PARAMETER,
+ ok(res == STATUS_INVALID_PARAMETER,
"Unexpected result 0x%08x (expected STATUS_INVALID_PARAMETER)\n",
res);
- ok(len == 0,
+ ok(len == 0,
"Unexpected length %08x (expected 0)\n",
len);
}
res = RtlGetLengthWithoutTrailingPathSeperators(0xFFFFFFFF, &str, &len);
EndSeh(STATUS_SUCCESS);
- ok(res == STATUS_INVALID_PARAMETER,
+ ok(res == STATUS_INVALID_PARAMETER,
"Unexpected result 0x%08x (expected STATUS_INVALID_PARAMETER)\n",
res);
-
- ok(len == 0,
+
+ ok(len == 0,
"Unexpected length %08x (expected 0)\n",
len);
}
extern void func_LdrEnumResources(void);
extern void func_NtAllocateVirtualMemory(void);
+extern void func_NtContinue(void);
extern void func_NtCreateThread(void);
extern void func_NtFreeVirtualMemory(void);
extern void func_NtMapViewOfSection(void);
extern void func_RtlGetLongestNtPathLength(void);
extern void func_RtlInitializeBitMap(void);
extern void func_TimerResolution(void);
-extern void func_ZwContinue(void);
const struct test winetest_testlist[] =
{
{ "LdrEnumResources", func_LdrEnumResources },
{ "NtAllocateVirtualMemory", func_NtAllocateVirtualMemory },
+ { "NtContinue", func_NtContinue },
{ "NtCreateThread", func_NtCreateThread },
{ "NtFreeVirtualMemory", func_NtFreeVirtualMemory },
{ "NtMapViewOfSection", func_NtMapViewOfSection },
{ "RtlGetLongestNtPathLength", func_RtlGetLongestNtPathLength },
{ "RtlInitializeBitMap", func_RtlInitializeBitMap },
{ "TimerResolution", func_TimerResolution },
- { "ZwContinue", func_ZwContinue },
{ 0, 0 }
};