Title: [233456] trunk/Websites/perf.webkit.org
Revision
233456
Author
dewei_...@apple.com
Date
2018-07-02 20:55:24 -0700 (Mon, 02 Jul 2018)

Log Message

Manifest.reset should clear static map for BugTracker and Bug objects.
https://bugs.webkit.org/show_bug.cgi?id=187186

Reviewed by Ryosuke Niwa

If static maps of BugTracker and Bug objects are not cleared up, updating singleton
of Bug object will fail assertion.

* public/v3/models/manifest.js: Clear static map for BugTracker and Bug.
(Manifest.reset):
* server-tests/api-manifest-tests.js: Added a unit test for this change.

Modified Paths

Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (233455 => 233456)


--- trunk/Websites/perf.webkit.org/ChangeLog	2018-07-03 03:55:21 UTC (rev 233455)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2018-07-03 03:55:24 UTC (rev 233456)
@@ -1,5 +1,19 @@
 2018-06-29  Dewei Zhu  <dewei_...@apple.com>
 
+        Manifest.reset should clear static map for BugTracker and Bug objects.
+        https://bugs.webkit.org/show_bug.cgi?id=187186
+
+        Reviewed by Ryosuke Niwa.
+
+        If static maps of BugTracker and Bug objects are not cleared up, updating singleton
+        of Bug object will fail assertion.
+
+        * public/v3/models/manifest.js: Clear static map for BugTracker and Bug.
+        (Manifest.reset):
+        * server-tests/api-manifest-tests.js: Added a unit test for this change.
+
+2018-06-29  Dewei Zhu  <dewei_...@apple.com>
+
         Fix a bug in range bisector that start commit may be counted twice.
         https://bugs.webkit.org/show_bug.cgi?id=187205
 

Modified: trunk/Websites/perf.webkit.org/public/v3/models/manifest.js (233455 => 233456)


--- trunk/Websites/perf.webkit.org/public/v3/models/manifest.js	2018-07-03 03:55:21 UTC (rev 233455)
+++ trunk/Websites/perf.webkit.org/public/v3/models/manifest.js	2018-07-03 03:55:24 UTC (rev 233456)
@@ -17,6 +17,8 @@
         Triggerable.clearStaticMap();
         TriggerableRepositoryGroup.clearStaticMap();
         UploadedFile.clearStaticMap();
+        BugTracker.clearStaticMap();
+        Bug.clearStaticMap();
     }
 
     static fetch()

Modified: trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js (233455 => 233456)


--- trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js	2018-07-03 03:55:21 UTC (rev 233455)
+++ trunk/Websites/perf.webkit.org/server-tests/api-manifest-tests.js	2018-07-03 03:55:24 UTC (rev 233456)
@@ -57,6 +57,23 @@
         });
     });
 
+    it("should clear Bug and BugTracker static maps when reset", async () => {
+        await TestServer.database().insert('bug_trackers', bugzillaData);
+        const content = await TestServer.remoteAPI().getJSON('/api/manifest');
+        assert.deepEqual(content.bugTrackers, {1: {name: 'Bugzilla', bugUrl: 'https://webkit.org/b/$number',
+            newBugUrl: 'https://bugs.webkit.org/', repositories: null}});
+
+        Manifest._didFetchManifest(content);
+        const trackerFromFirstFetch = BugTracker.findById(1);
+
+        Manifest.reset();
+        assert(!BugTracker.findById(1));
+
+        Manifest._didFetchManifest(content);
+        const trackerFromSecondFetch = BugTracker.findById(1);
+        assert(trackerFromFirstFetch != trackerFromSecondFetch);
+    });
+
     it("should generate manifest with bug trackers and repositories", () => {
         let db = TestServer.database();
         return Promise.all([
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to