Sebastian Lackner : kernel32/tests: Add a test for sorting of InMemoryOrderModuleList.

Alexandre Julliard julliard at winehq.org
Thu Jul 7 09:48:23 CDT 2016


Module: wine
Branch: master
Commit: 648cbf63c003e0230352f91ddb7602c44d570706
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=648cbf63c003e0230352f91ddb7602c44d570706

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Thu Jul  7 06:44:15 2016 +0200

kernel32/tests: Add a test for sorting of InMemoryOrderModuleList.

Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernel32/tests/loader.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
index c35cf25..921abb1 100644
--- a/dlls/kernel32/tests/loader.c
+++ b/dlls/kernel32/tests/loader.c
@@ -2750,6 +2750,24 @@ static void test_ResolveDelayLoadedAPI(void)
     DeleteFileA(dll_name);
 }
 
+static void test_InMemoryOrderModuleList(void)
+{
+    LIST_ENTRY *entry1, *mark1 = &NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList;
+    LIST_ENTRY *entry2, *mark2 = &NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList;
+    LDR_MODULE *module1, *module2;
+
+    for (entry1 = mark1->Flink, entry2 = mark2->Flink;
+         entry1 != mark1 && entry2 != mark2;
+         entry1 = entry1->Flink, entry2 = entry2->Flink)
+    {
+        module1 = CONTAINING_RECORD(entry1, LDR_MODULE, InLoadOrderModuleList);
+        module2 = CONTAINING_RECORD(entry2, LDR_MODULE, InMemoryOrderModuleList);
+        ok(module1 == module2, "expected module1 == module2, got %p and %p\n", module1, module2);
+    }
+    ok(entry1 == mark1, "expected entry1 == mark1, got %p and %p\n", entry1, mark1);
+    ok(entry2 == mark2, "expected entry2 == mark2, got %p and %p\n", entry2, mark2);
+}
+
 START_TEST(loader)
 {
     int argc;
@@ -2804,4 +2822,5 @@ START_TEST(loader)
     test_section_access();
     test_import_resolution();
     test_ExitProcess();
+    test_InMemoryOrderModuleList();
 }




More information about the wine-cvs mailing list