Dylan Smith : richedit: Moved optional message loop in tests to its own function.

Alexandre Julliard julliard at winehq.org
Mon Oct 13 06:38:48 CDT 2008


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

Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date:   Fri Oct 10 16:37:13 2008 -0400

richedit: Moved optional message loop in tests to its own function.

---

 dlls/riched20/tests/editor.c |   37 ++++++++++++++++++++++---------------
 1 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index a34eada..cb96269 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -57,6 +57,26 @@ static HWND new_richedit(HWND parent) {
   return new_window(RICHEDIT_CLASS, ES_MULTILINE, parent);
 }
 
+/* Keeps the window reponsive for the deley_time in seconds.
+ * This is useful for debugging a test to see what is happening. */
+void keep_responsive(time_t delay_time)
+{
+    MSG msg;
+    time_t end;
+
+    /* The message pump uses PeekMessage() to empty the queue and then
+     * sleeps for 50ms before retrying the queue. */
+    end = time(NULL) + delay_time;
+    while (time(NULL) < end) {
+      if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
+        TranslateMessage(&msg);
+        DispatchMessage(&msg);
+      } else {
+        Sleep(50);
+      }
+    }
+}
+
 static void processPendingMessages(void)
 {
     MSG msg;
@@ -5443,9 +5463,6 @@ static void test_EM_CHARFROMPOS(void)
 
 START_TEST( editor )
 {
-  MSG msg;
-  time_t end;
-
   /* Must explicitly LoadLibrary(). The test has no references to functions in
    * RICHED20.DLL, so the linker doesn't actually link to it. */
   hmoduleRichEdit = LoadLibrary("RICHED20.DLL");
@@ -5494,19 +5511,9 @@ START_TEST( editor )
 
   /* Set the environment variable WINETEST_RICHED20 to keep windows
    * responsive and open for 30 seconds. This is useful for debugging.
-   *
-   * The message pump uses PeekMessage() to empty the queue and then sleeps for
-   * 50ms before retrying the queue. */
-  end = time(NULL) + 30;
+   */
   if (getenv( "WINETEST_RICHED20" )) {
-    while (time(NULL) < end) {
-      if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
-        TranslateMessage(&msg);
-        DispatchMessage(&msg);
-      } else {
-        Sleep(50);
-      }
-    }
+    keep_responsive(30);
   }
 
   OleFlushClipboard();




More information about the wine-cvs mailing list