[Webkit-unassigned] [Bug 132134] [GTK] TestWebKitAccessibility unit test is flaky.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jul 10 17:32:44 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=132134





--- Comment #12 from Joanmarie Diggs (irc: joanie) <jdiggs at igalia.com>  2014-07-10 17:33:00 PST ---
Quick and dirty "fix" below. At least in my environment, what seems to be happening is:

1. run-gtk-tests sets up the environment, including starting
   up the at-spi-bus-launcher 
2. If the first and/or only test is TestWebKitAccessibility, it
   will work as expected, even when unskipped.
3. For every subsequent test, main() comes along and unsets the
   DBUS_SESSION_BUS_ADDRESS environment var. Nothing comes along
   and resets it. As a result, for all but the first test, the
   harness cannot find the session bus, cannot connect to the
   at-spi2 registry, and anything that depends upon that connection
   to pass (like the accessibility tests) subsequently fails.

You don't even need to run a11y tests for this to happen. Just use run-gtk-tests to run the same test twice in a row. For instance:

Tools/Scripts/run-gtk-tests --release WebKitBuild/Release/bin/TestWebKitAPI/WebKit2Gtk/TestDOMNode WebKitBuild/Release/bin/TestWebKitAPI/WebKit2Gtk/TestDOMNode

In between the two runs, you'll get an error:

** (WebKitWebProcess:7471): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

There's probably some good reason for unsetting DBUS_SESSION_BUS_ADDRESS, but since I don't know what it is, I'm not in the best position to provide an alternative solution. And if there's not a good reason, could we just stop unsetting it so that we can unskip this accessibility test? :)

diff --git a/Tools/Scripts/run-gtk-tests b/Tools/Scripts/run-gtk-tests
index d530f9d..eececf5 100755
--- a/Tools/Scripts/run-gtk-tests
+++ b/Tools/Scripts/run-gtk-tests
@@ -63,7 +63,6 @@ class TestRunner:
     SKIPPED = [
         SkippedTest("WebKit2Gtk/TestUIClient", "/webkit2/WebKitWebView/mouse-target", "Test times out after r150890", 117689),
         SkippedTest("WebKit2Gtk/TestContextMenu", SkippedTest.ENTIRE_SUITE, "Test times out after r150890", 117689),
-        SkippedTest("WebKit2APITests/TestWebKitAccessibility", "/webkit2/WebKitAccessibility/atspi-basic-hierarchy", "Test is flaky"
         SkippedTest("WebKit2Gtk/TestWebKitWebView", "/webkit2/WebKitWebView/snapshot", "Test fails", 120404),
         SkippedTest("WebKit2Gtk/TestWebKitWebView", "/webkit2/WebKitWebView/page-visibility", "Test fails or times out", 131731),
         SkippedTest("WebKit2Gtk/TestCookieManager", "/webkit2/WebKitCookieManager/persistent-storage", "Test is flaky", 134580),
diff --git a/Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp b/Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp
index 8043554..7f1aa63 100644
--- a/Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp
+++ b/Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp
@@ -53,7 +53,6 @@ static void removeNonEmptyDirectory(const char* directoryPath)

 int main(int argc, char** argv)
 {
-    g_unsetenv("DBUS_SESSION_BUS_ADDRESS");
     gtk_test_init(&argc, &argv, 0);
     g_setenv("WEBKIT_EXEC_PATH", WEBKIT_EXEC_PATH, FALSE);
     g_setenv("WEBKIT_INJECTED_BUNDLE_PATH", WEBKIT_INJECTED_BUNDLE_PATH, FALSE);

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list