Title: [144740] releases/WebKitGTK/webkit-2.0/Source/WebKit2
Revision
144740
Author
carlo...@webkit.org
Date
2013-03-05 01:02:11 -0800 (Tue, 05 Mar 2013)

Log Message

Merge r144652 - [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
https://bugs.webkit.org/show_bug.cgi?id=111346

Patch by Carlos Garcia Campos <cgar...@igalia.com> on 2013-03-04
Reviewed by Martin Robinson.

The problem is the use of a temporary CString object in the macro
g_assert_cmpstr. It's a common mistake because we usually forget
that g_assert_cmpstr is not a function but a macro, that expands
to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
with the same implementation that g_assert_cmpstr, but using
CStrings instead of const char*. It fixes all the cases where a
temporary CString was used in g_assert_cmpstr, and uses the new
macro also for the cases where we were caching the CString just
for g_assert_cmpstr.

* UIProcess/API/gtk/tests/TestDownloads.cpp:
(testDownloadRemoteFile):
* UIProcess/API/gtk/tests/TestInspectorServer.cpp:
(testInspectorServerPageList):
* UIProcess/API/gtk/tests/TestLoaderClient.cpp:
* UIProcess/API/gtk/tests/TestMain.h:
* UIProcess/API/gtk/tests/TestResources.cpp:
* UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
(testGetFaviconURI):
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
(assertThatUserAgentIsSentInHeaders):
(testWebKitSettingsUserAgent):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog	2013-03-05 09:02:11 UTC (rev 144740)
@@ -1,3 +1,33 @@
+2013-03-04  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Some WebKit2 GTK+ unit tests are failing in 32 bits bot
+        https://bugs.webkit.org/show_bug.cgi?id=111346
+
+        Reviewed by Martin Robinson.
+
+        The problem is the use of a temporary CString object in the macro
+        g_assert_cmpstr. It's a common mistake because we usually forget
+        that g_assert_cmpstr is not a function but a macro, that expands
+        to multiple lines. This patch adds a new macro ASSERT_CMP_CSTRING
+        with the same implementation that g_assert_cmpstr, but using
+        CStrings instead of const char*. It fixes all the cases where a
+        temporary CString was used in g_assert_cmpstr, and uses the new
+        macro also for the cases where we were caching the CString just
+        for g_assert_cmpstr.
+
+        * UIProcess/API/gtk/tests/TestDownloads.cpp:
+        (testDownloadRemoteFile):
+        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
+        (testInspectorServerPageList):
+        * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
+        * UIProcess/API/gtk/tests/TestMain.h:
+        * UIProcess/API/gtk/tests/TestResources.cpp:
+        * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
+        (testGetFaviconURI):
+        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
+        (assertThatUserAgentIsSentInHeaders):
+        (testWebKitSettingsUserAgent):
+
 2013-03-04  Manuel Rego Casasnovas  <r...@igalia.com>
 
         [GTK][WK2] Add document-loaded signal to WebKitWebPage

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp	2013-03-05 09:02:11 UTC (rev 144740)
@@ -341,8 +341,7 @@
 
     WebKitURIRequest* request = webkit_download_get_request(download.get());
     g_assert(request);
-    CString requestURI = kServer->getURIForPath("/test.pdf");
-    g_assert_cmpstr(webkit_uri_request_get_uri(request), ==, requestURI.data());
+    ASSERT_CMP_CSTRING(webkit_uri_request_get_uri(request), ==, kServer->getURIForPath("/test.pdf"));
 
     g_assert(webkit_download_get_destination(download.get()));
     g_assert_cmpfloat(webkit_download_get_estimated_progress(download.get()), ==, 1);

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp	2013-03-05 09:02:11 UTC (rev 144740)
@@ -190,7 +190,7 @@
     g_assert(!error.get());
     valueString.set(WebViewTest::_javascript_ResultToCString(_javascript_Result));
     String validInspectorURL = String("/webinspector/inspector.html?page=") + String::number(pageId);
-    g_assert_cmpstr(valueString.get(), ==, validInspectorURL.utf8().data());
+    ASSERT_CMP_CSTRING(valueString.get(), ==, validInspectorURL.utf8());
 }
 
 // Test sending a raw remote debugging message through our web socket server.

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp	2013-03-05 09:02:11 UTC (rev 144740)
@@ -214,9 +214,7 @@
 private:
     void checkActiveURI(const char* uri)
     {
-        // g_assert_cmpstr is a macro, so we need to cache the temporary string.
-        CString serverURI = kServer->getURIForPath(uri);
-        g_assert_cmpstr(m_activeURI.data(), ==, serverURI.data());
+        ASSERT_CMP_CSTRING(m_activeURI, ==, kServer->getURIForPath(uri));
     }
 };
 

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h	2013-03-05 09:02:11 UTC (rev 144740)
@@ -40,6 +40,12 @@
         g_test_add(testPath.get(), ClassName, 0, ClassName::setUp, testFunc, ClassName::tearDown); \
     }
 
+#define ASSERT_CMP_CSTRING(s1, cmp, s2) \
+    do { CString __s1 = (s1); CString __s2 = (s2); \
+        if (g_strcmp0(__s1.data(), __s2.data()) cmp 0) ; else \
+            g_assertion_message_cmpstr(G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
+                #s1 " " #cmp " " #s2, __s1.data(), #cmp, __s2.data()); } while (0)
+
 class Test {
 public:
     MAKE_GLIB_TEST_FIXTURE(Test);

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp	2013-03-05 09:02:11 UTC (rev 144740)
@@ -503,9 +503,7 @@
 private:
     void checkActiveURI(const char* uri)
     {
-        // g_assert_cmpstr is a macro, so we need to cache the temporary string.
-        CString serverURI = kServer->getURIForPath(uri);
-        g_assert_cmpstr(m_activeURI.data(), ==, serverURI.data());
+        ASSERT_CMP_CSTRING(m_activeURI, ==, kServer->getURIForPath(uri));
     }
 };
 

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp	2013-03-05 09:02:11 UTC (rev 144740)
@@ -202,9 +202,9 @@
 {
     WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(test->m_webContext);
 
-    const char* baseURI = kServer->getURIForPath("/foo").data();
-    GOwnPtr<char> iconURI(webkit_favicon_database_get_favicon_uri(database, baseURI));
-    g_assert_cmpstr(iconURI.get(), ==, kServer->getURIForPath("/icon/favicon.ico").data());
+    CString baseURI = kServer->getURIForPath("/foo");
+    GOwnPtr<char> iconURI(webkit_favicon_database_get_favicon_uri(database, baseURI.data()));
+    ASSERT_CMP_CSTRING(iconURI.get(), ==, kServer->getURIForPath("/icon/favicon.ico"));
 }
 
 static void testWebViewFavicon(FaviconDatabaseTest* test, gconstpointer)

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp (144739 => 144740)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp	2013-03-05 08:46:24 UTC (rev 144739)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp	2013-03-05 09:02:11 UTC (rev 144740)
@@ -274,7 +274,7 @@
 {
     test->loadURI(gServer->getURIForPath("/").data());
     test->waitUntilLoadFinished();
-    g_assert_cmpstr(convertWebViewMainResourceDataToCString(test).data(), ==, userAgent.data());
+    ASSERT_CMP_CSTRING(convertWebViewMainResourceDataToCString(test), ==, userAgent);
 }
 
 static void testWebKitSettingsUserAgent(WebViewTest* test, gconstpointer)
@@ -300,12 +300,12 @@
     assertThatUserAgentIsSentInHeaders(test, funkyUserAgent);
 
     webkit_settings_set_user_agent_with_application_details(settings.get(), "WebKitGTK+", 0);
-    CString userAgentWithNullVersion = webkit_settings_get_user_agent(settings.get());
-    g_assert_cmpstr(g_strstr_len(userAgentWithNullVersion.data(), -1, defaultUserAgent.data()), ==, userAgentWithNullVersion.data());
-    g_assert(g_strstr_len(userAgentWithNullVersion.data(), -1, "WebKitGTK+"));
+    const char* userAgentWithNullVersion = webkit_settings_get_user_agent(settings.get());
+    g_assert_cmpstr(g_strstr_len(userAgentWithNullVersion, -1, defaultUserAgent.data()), ==, userAgentWithNullVersion);
+    g_assert(g_strstr_len(userAgentWithNullVersion, -1, "WebKitGTK+"));
 
     webkit_settings_set_user_agent_with_application_details(settings.get(), "WebKitGTK+", "");
-    g_assert_cmpstr(webkit_settings_get_user_agent(settings.get()), ==, userAgentWithNullVersion.data());
+    g_assert_cmpstr(webkit_settings_get_user_agent(settings.get()), ==, userAgentWithNullVersion);
 
     webkit_settings_set_user_agent_with_application_details(settings.get(), "WebCatGTK+", "3.4.5");
     const char* newUserAgent = webkit_settings_get_user_agent(settings.get());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to