WebKit Bugzilla
Attachment 372287 Details for
Bug 198940
: Customizable test group form should allow user to supply a revision prefix of a commit and revision starts with 'r'.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198940-20190617163034.patch (text/plain), 8.25 KB, created by
dewei_zhu
on 2019-06-17 16:30:35 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
dewei_zhu
Created:
2019-06-17 16:30:35 PDT
Size:
8.25 KB
patch
obsolete
>Subversion Revision: 246522 >diff --git a/Websites/perf.webkit.org/ChangeLog b/Websites/perf.webkit.org/ChangeLog >index 66124902f97367dbeb4c08e63f85067e9747502b..f1eb2dda8c8eb74612c569f51db88d66ba4f76fc 100644 >--- a/Websites/perf.webkit.org/ChangeLog >+++ b/Websites/perf.webkit.org/ChangeLog >@@ -1,3 +1,17 @@ >+2019-06-17 Dewei Zhu <dewei_zhu@apple.com> >+ >+ Customizable test group form should allow user to supply a revision prefix of a commit and revision starts with 'r'. >+ https://bugs.webkit.org/show_bug.cgi?id=198940 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Customizable test group form should adapt prefix matching when fetching for a commit. >+ >+ * browser-tests/customizable-test-group-form-tests.js: Updated and added unit tests. >+ * public/v3/components/customizable-test-group-form.js: Remove loggings those a unintentionally committed. >+ * public/v3/models/commit-set.js: Adapt prefix matching API when fetching a commit. >+ (IntermediateCommitSet.prototype._fetchCommitLogAndOwnedCommits): >+ > 2019-06-13 Dewei Zhu <dewei_zhu@apple.com> > > Custom analysis task configurator should allow supplying commit prefix and revision starts 'r'. >diff --git a/Websites/perf.webkit.org/browser-tests/customizable-test-group-form-tests.js b/Websites/perf.webkit.org/browser-tests/customizable-test-group-form-tests.js >index 04408c52268b3a17f061f7fcb72d064750fb75f5..7f5e8c5c51646cf3e7e3faf7196d58bb5bb90cec 100644 >--- a/Websites/perf.webkit.org/browser-tests/customizable-test-group-form-tests.js >+++ b/Websites/perf.webkit.org/browser-tests/customizable-test-group-form-tests.js >@@ -35,6 +35,18 @@ describe('CustomizableTestGroupFormTests', () => { > "message": "some message", > }; > >+ const commitObjectC = { >+ "id": "185336", >+ "revision": "210950", >+ "repository": 1, >+ "previousCommit": null, >+ "ownsCommits": false, >+ "time": 1541494949682, >+ "authorName": "Chris Dumez", >+ "authorEmail": "cdumez@apple.com", >+ "message": "some message", >+ }; >+ > function cloneObject(object) > { > const clone = {}; >@@ -62,8 +74,8 @@ describe('CustomizableTestGroupFormTests', () => { > > const requests = context.symbols.MockRemoteAPI.requests; > expect(requests.length).to.be(2); >- expect(requests[0].url).to.be('/api/commits/1/210948'); >- expect(requests[1].url).to.be('/api/commits/1/210949'); >+ expect(requests[0].url).to.be('/api/commits/1/210948?prefix-match=true'); >+ expect(requests[1].url).to.be('/api/commits/1/210949?prefix-match=true'); > requests[0].resolve({commits: [commitObjectA]}); > requests[1].resolve({commits: [commitObjectB]}); > >@@ -90,6 +102,58 @@ describe('CustomizableTestGroupFormTests', () => { > expect(revisionEditor.value).to.be('210948'); > }); > >+ it('should allow user to only provide prefix of a commit as long as the commit is unique in the repository', async () => { >+ const context = new BrowsingContext(); >+ const customizableTestGroupForm = await createCustomizableTestGroupFormWithContext(context); >+ const repository = context.symbols.Repository.ensureSingleton(1, {name: 'WebKit'}); >+ >+ const commitA = cloneObject(commitObjectA); >+ const commitB = cloneObject(commitObjectB); >+ const commitC = cloneObject(commitObjectC); >+ commitA.repository = repository; >+ commitB.repository = repository; >+ commitC.repository = repository; >+ const webkitCommitA = context.symbols.CommitLog.ensureSingleton(185326, commitA); >+ const webkitCommitB = context.symbols.CommitLog.ensureSingleton(185334, commitB); >+ const commitSetA = context.symbols.CommitSet.ensureSingleton(1, {revisionItems: [{commit: webkitCommitA}]}); >+ const commitSetB = context.symbols.CommitSet.ensureSingleton(2, {revisionItems: [{commit: webkitCommitB}]}); >+ >+ customizableTestGroupForm.setCommitSetMap({A: commitSetA, B: commitSetB}); >+ customizableTestGroupForm.content('customize-link').click(); >+ >+ const requests = context.symbols.MockRemoteAPI.requests; >+ expect(requests.length).to.be(2); >+ expect(requests[0].url).to.be('/api/commits/1/210948?prefix-match=true'); >+ expect(requests[1].url).to.be('/api/commits/1/210949?prefix-match=true'); >+ requests[0].resolve({commits: [commitObjectA]}); >+ requests[1].resolve({commits: [commitObjectB]}); >+ >+ await waitForComponentsToRender(context); >+ >+ const radioButton = customizableTestGroupForm.content('custom-table').querySelector('input[type="radio"][name="A-1-radio"]:not(:checked)'); >+ radioButton.click(); >+ expect(radioButton.checked).to.be(true); >+ >+ let revisionEditors = customizableTestGroupForm.content('custom-table').querySelectorAll('input:not([type="radio"])'); >+ expect(revisionEditors.length).to.be(2); >+ let revisionEditor = revisionEditors[0]; >+ expect(revisionEditor.value).to.be('210949'); >+ revisionEditor.value = '21095'; >+ revisionEditor.dispatchEvent(new Event('change')); >+ >+ customizableTestGroupForm.content('name').value = 'a/b test'; >+ customizableTestGroupForm.content('name').dispatchEvent(new Event('input')); >+ expect(requests.length).to.be(3); >+ expect(requests[2].url).to.be('/api/commits/1/21095?prefix-match=true'); >+ requests[2].resolve({commits: [commitObjectC]}); >+ >+ await waitForComponentsToRender(context); >+ >+ revisionEditors = customizableTestGroupForm.content('custom-table').querySelectorAll('input:not([type="radio"])'); >+ revisionEditor = revisionEditors[0]; >+ expect(revisionEditor.value).to.be('210950'); >+ }); >+ > it('should use the commit set map when customize button is clicked as the behavior of radio buttons', async () => { > const context = new BrowsingContext(); > const customizableTestGroupForm = await createCustomizableTestGroupFormWithContext(context); >@@ -109,8 +173,8 @@ describe('CustomizableTestGroupFormTests', () => { > > const requests = context.symbols.MockRemoteAPI.requests; > expect(requests.length).to.be(2); >- expect(requests[0].url).to.be('/api/commits/1/210948'); >- expect(requests[1].url).to.be('/api/commits/1/210949'); >+ expect(requests[0].url).to.be('/api/commits/1/210948?prefix-match=true'); >+ expect(requests[1].url).to.be('/api/commits/1/210949?prefix-match=true'); > requests[0].resolve({commits: [commitObjectA]}); > requests[1].resolve({commits: [commitObjectB]}); > >diff --git a/Websites/perf.webkit.org/public/v3/components/customizable-test-group-form.js b/Websites/perf.webkit.org/public/v3/components/customizable-test-group-form.js >index ea86fc40e4228c1e5e38e1208f805fa9d2cad85a..081ca9d27d3db8c9320db0282072e5721d7df6ac 100644 >--- a/Websites/perf.webkit.org/public/v3/components/customizable-test-group-form.js >+++ b/Websites/perf.webkit.org/public/v3/components/customizable-test-group-form.js >@@ -145,12 +145,6 @@ class CustomizableTestGroupForm extends TestGroupForm { > > const commitSets = Array.from(commitSetMap.values()); > const hasCommitWithTestability = commitSets.some((commitSet) => !!commitSet.commitsWithTestability().length); >- for (const c of commitSets) { >- if (c.commitsWithTestability().length) >- console.log(c); >- } >- console.log({hasCommitWithTestability}); >- console.log('aaaa'); > if (!hasCommitWithTestability) > return []; > >diff --git a/Websites/perf.webkit.org/public/v3/models/commit-set.js b/Websites/perf.webkit.org/public/v3/models/commit-set.js >index bb5b7f198cef39a14d33ffa1803d692f667aa8fa..3b37b434bfbb2074078b53c2f9fc5c4bde3a7df9 100644 >--- a/Websites/perf.webkit.org/public/v3/models/commit-set.js >+++ b/Websites/perf.webkit.org/public/v3/models/commit-set.js >@@ -394,7 +394,7 @@ class IntermediateCommitSet { > > _fetchCommitLogAndOwnedCommits(repository, revision) > { >- return CommitLog.fetchForSingleRevision(repository, revision).then((commits) => { >+ return CommitLog.fetchForSingleRevision(repository, revision, true).then((commits) => { > console.assert(commits.length === 1); > const commit = commits[0]; > if (!commit.ownsCommits())
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
rniwa
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198940
: 372287