Zebediah Figura : msi/tests: Some cleanup for external UI tests.

Alexandre Julliard julliard at winehq.org
Thu Sep 14 14:50:08 CDT 2017


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Thu Sep 14 01:03:56 2017 -0500

msi/tests: Some cleanup for external UI tests.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/tests/package.c | 32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index c00ed61..c11da0f 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -9301,7 +9301,7 @@ static void ok_sequence_(const struct externalui_message *expected, const char *
     {
         if (expected->message == actual->message)
         {
-            if (expected->field_count != actual->field_count)
+            if (expected->field_count < actual->field_count)
             {
                 todo_wine_if (todo)
                     ok_(file, line) (FALSE, "%s: in msg 0x%08x expecting field count %d got %d\n",
@@ -9323,6 +9323,10 @@ static void ok_sequence_(const struct externalui_message *expected, const char *
             expected++;
             actual++;
         }
+        else if (expected->optional)
+        {
+            expected++;
+        }
         else
         {
             todo_wine_if (todo)
@@ -9357,6 +9361,26 @@ done:
 #define ok_sequence(exp, contx, todo) \
         ok_sequence_((exp), (contx), (todo), __FILE__, __LINE__)
 
+/* don't use PROGRESS, which is timing-dependent,
+ * or SHOWDIALOG, which due to a bug causes a hang on XP */
+static const INSTALLLOGMODE MSITEST_INSTALLLOGMODE =
+    INSTALLLOGMODE_FATALEXIT |
+    INSTALLLOGMODE_ERROR |
+    INSTALLLOGMODE_WARNING |
+    INSTALLLOGMODE_USER |
+    INSTALLLOGMODE_INFO |
+    INSTALLLOGMODE_FILESINUSE |
+    INSTALLLOGMODE_RESOLVESOURCE |
+    INSTALLLOGMODE_OUTOFDISKSPACE |
+    INSTALLLOGMODE_ACTIONSTART |
+    INSTALLLOGMODE_ACTIONDATA |
+    INSTALLLOGMODE_COMMONDATA |
+    INSTALLLOGMODE_INITIALIZE |
+    INSTALLLOGMODE_TERMINATE |
+    INSTALLLOGMODE_RMFILESINUSE |
+    INSTALLLOGMODE_INSTALLSTART |
+    INSTALLLOGMODE_INSTALLEND;
+
 static const struct externalui_message empty_sequence[] = {
     {0}
 };
@@ -9534,9 +9558,8 @@ static void test_externalui_message(void)
 
     MsiSetInternalUI(INSTALLUILEVEL_FULL, NULL);
 
-    /* processing SHOWDIALOG with a record handler causes a crash on XP */
     MsiSetExternalUIA(externalui_message_string_callback, INSTALLLOGMODE_SHOWDIALOG, &retval);
-    r = MsiSetExternalUIRecord(externalui_message_callback, 0xffffffff ^ INSTALLLOGMODE_PROGRESS ^ INSTALLLOGMODE_SHOWDIALOG, &retval, &prev);
+    r = MsiSetExternalUIRecord(externalui_message_callback, MSITEST_INSTALLLOGMODE, &retval, &prev);
 
     flush_sequence();
 
@@ -9759,9 +9782,8 @@ static void test_controlevent(void)
 
     MsiSetInternalUI(INSTALLUILEVEL_FULL, NULL);
 
-    /* processing SHOWDIALOG with a record handler causes a crash on XP */
     MsiSetExternalUIA(externalui_message_string_callback, INSTALLLOGMODE_SHOWDIALOG, NULL);
-    r = MsiSetExternalUIRecord(externalui_message_callback, 0xffffffff ^ INSTALLLOGMODE_PROGRESS ^ INSTALLLOGMODE_SHOWDIALOG, NULL, &prev);
+    r = MsiSetExternalUIRecord(externalui_message_callback, MSITEST_INSTALLLOGMODE, NULL, &prev);
 
     flush_sequence();
 




More information about the wine-cvs mailing list