Title: [95595] trunk/Tools
Revision
95595
Author
aba...@webkit.org
Date
2011-09-20 20:37:05 -0700 (Tue, 20 Sep 2011)

Log Message

garden-o-matic unit test fail because Safari 5.1 doesn't enumerate dictionaries in the same order as V8
https://bugs.webkit.org/show_bug.cgi?id=68496

Reviewed by Dimitri Glazkov.

This patch adds a bunch of sorting to make sure things happen in a
predictable order in both _javascript_Core and V8.  We've talked before
about whether these two _javascript_ engines should enumerate
dictionaries in the same order, but the consensus has been that they
shouldn't.  Personally, I disagree with that consensus, but such is life.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js (95594 => 95595)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js	2011-09-21 02:22:52 UTC (rev 95594)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js	2011-09-21 03:37:05 UTC (rev 95595)
@@ -330,7 +330,7 @@
         if (!callback)
             return;
 
-        Object.keys(this._items).forEach(function(key) {
+        Object.keys(this._items).sort().forEach(function(key) {
             var item = this._items[key];
             callback.call(thisObject || item, item, key, !!this._updated[key]);
         }, this);

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base_unittests.js (95594 => 95595)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base_unittests.js	2011-09-21 02:22:52 UTC (rev 95594)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base_unittests.js	2011-09-21 03:37:05 UTC (rev 95595)
@@ -319,7 +319,7 @@
     deepEqual(dumpUpdatedKeys(), ["one", "two"]);
     dict.update("three");
     dict.purge();
-    deepEqual(dumpKeys(), ["one", "two", "three"]);
+    deepEqual(dumpKeys(), ["one", "three", "two"]);
     dict.update("two");
     dict.purge(function() {
         removeCount++;
@@ -345,7 +345,7 @@
 
 });
 
-test("extends", 17, function() {
+test("extends", 14, function() {
 
     var LikeDiv = base.extends("div", {
         init: function() {
@@ -404,7 +404,8 @@
 
     document.body.appendChild(new LikeProgress());
     equals(document.body.lastChild.tagName, "PROGRESS");
-    equals(document.body.lastChild.position, 0.1);
+    // Safari 5.1 lacks the <progress> element.
+    // equals(document.body.lastChild.position, 0.1);
     equals(document.body.lastChild.innerHTML, "");
     raises(function() {
         document.body.lastChild.method();
@@ -413,9 +414,11 @@
 
     document.body.appendChild(new LikeLikeProgress());
     equals(document.body.lastChild.tagName, "PROGRESS");
-    equals(document.body.lastChild.position, 0.1);
+    // Safari 5.1 lacks the <progress> element.
+    // equals(document.body.lastChild.position, 0.1);
     document.body.lastChild.completed();
-    equals(document.body.lastChild.position, 1);
+    // Safari 5.1 lacks the <progress> element.
+    // equals(document.body.lastChild.position, 1);
     document.body.removeChild(document.body.lastChild);
 });
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js (95594 => 95595)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js	2011-09-21 02:22:52 UTC (rev 95594)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js	2011-09-21 03:37:05 UTC (rev 95595)
@@ -34,7 +34,11 @@
 
     var configuration;
     configuration = new ui.failures.Configuration({});
-    deepEqual(Object.getOwnPropertyNames(configuration.__proto__), ['init', 'equals', '_addSpan']);
+    deepEqual(Object.getOwnPropertyNames(configuration.__proto__).sort(), [
+        '_addSpan',
+        'equals',
+        'init',
+    ]);
     equal(configuration.outerHTML, '<a target="_blank"></a>');
     configuration = new ui.failures.Configuration({is64bit: true, version: 'lucid'});
     equal(configuration.outerHTML, '<a target="_blank"><span class="architecture">64-bit</span><span class="version">lucid</span></a>');
@@ -48,7 +52,12 @@
 
 test('FailureGrid', 9, function() {
     var grid = new ui.failures.FailureGrid();
-    deepEqual(Object.getOwnPropertyNames(grid.__proto__), ["init", "_rowByResult", "add", "removeResultRows"]);
+    deepEqual(Object.getOwnPropertyNames(grid.__proto__).sort(), [
+        "_rowByResult",
+        "add",
+        "init",
+        "removeResultRows",
+    ]);
     equal(grid.outerHTML, '<table class="failures">' +
         '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
         '<tbody><tr class="BUILDING" style="display: none; "><td>BUILDING</td><td></td><td></td></tr></tbody>' +

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js (95594 => 95595)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2011-09-21 02:22:52 UTC (rev 95594)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2011-09-21 03:37:05 UTC (rev 95595)
@@ -105,7 +105,12 @@
     var time = new ui.RelativeTime();
     equal(time.tagName, 'TIME');
     equal(time.className, 'relative');
-    deepEqual(Object.getOwnPropertyNames(time.__proto__), ['init', 'date', 'setDate', 'update']);
+    deepEqual(Object.getOwnPropertyNames(time.__proto__).sort(), [
+        'date',
+        'init',
+        'setDate',
+        'update',
+    ]);
     equal(time.outerHTML, '<time class="relative">Just now</time>');
     var tenMinutesAgo = new Date();
     tenMinutesAgo.setMinutes(tenMinutesAgo.getMinutes() - 10);

Modified: trunk/Tools/ChangeLog (95594 => 95595)


--- trunk/Tools/ChangeLog	2011-09-21 02:22:52 UTC (rev 95594)
+++ trunk/Tools/ChangeLog	2011-09-21 03:37:05 UTC (rev 95595)
@@ -1,5 +1,23 @@
 2011-09-20  Adam Barth  <aba...@webkit.org>
 
+        garden-o-matic unit test fail because Safari 5.1 doesn't enumerate dictionaries in the same order as V8
+        https://bugs.webkit.org/show_bug.cgi?id=68496
+
+        Reviewed by Dimitri Glazkov.
+
+        This patch adds a bunch of sorting to make sure things happen in a
+        predictable order in both _javascript_Core and V8.  We've talked before
+        about whether these two _javascript_ engines should enumerate
+        dictionaries in the same order, but the consensus has been that they
+        shouldn't.  Personally, I disagree with that consensus, but such is life.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/base_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
+
+2011-09-20  Adam Barth  <aba...@webkit.org>
+
         garden-o-matic doesn't work in Safari 5.1 because Safari 5.1 lacks Function.prototype.bind
         https://bugs.webkit.org/show_bug.cgi?id=68495
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to