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());