From 983b371f3a5d1181d4448781a2f3eefa7d98dde2 Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 11:01:55 +0800 Subject: [PATCH 01/10] fix: incorrect timers-promisified case --- test/parallel/test-timers-promisified.js | 31 ++++++++++++++---------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index b802f655f08db0..56b03f94176742 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -392,18 +392,23 @@ process.on('multipleResolves', common.mustNotCall()); // Check that the timing is correct let pre = false; let post = false; - setPromiseTimeout(1).then(() => pre = true); - const iterable = setInterval(() => {}, 2); - const iterator = iterable[Symbol.asyncIterator](); - - iterator.next().then(common.mustCall(() => { - assert.ok(pre, 'interval ran too early'); - assert.ok(!post, 'interval ran too late'); - return iterator.next(); - })).then(common.mustCall(() => { - assert.ok(post, 'second interval ran too early'); - return iterator.return(); - })); - setPromiseTimeout(3).then(() => post = true); + Promise.all([ + setPromiseTimeout(10).then(() => pre = true), + new Promise(res => { + const iterable = setInterval(() => {}, 20); + const iterator = iterable[Symbol.asyncIterator](); + + iterator.next().then(common.mustCall(() => { + assert.ok(pre, 'interval ran too early'); + assert.ok(!post, 'interval ran too late'); + return iterator.next(); + })).then(common.mustCall(() => { + assert.ok(post, 'second interval ran too early'); + res(); + return iterator.return(); + })); + }), + setPromiseTimeout(30).then(() => post = true) + ]); } From 3cd01f5b04197c5ecf56d657511b48ff3f39ca41 Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 11:12:04 +0800 Subject: [PATCH 02/10] lint: fix --- test/parallel/test-timers-promisified.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index 56b03f94176742..e22cdc7e7464bb 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -395,7 +395,7 @@ process.on('multipleResolves', common.mustNotCall()); Promise.all([ setPromiseTimeout(10).then(() => pre = true), - new Promise(res => { + new Promise((res) => { const iterable = setInterval(() => {}, 20); const iterator = iterable[Symbol.asyncIterator](); From 3ee0be959858947ba2be91e5d0cf2a71e3ce470c Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 13:48:48 +0800 Subject: [PATCH 03/10] test: must_call for Promise.all --- test/parallel/test-timers-promisified.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index e22cdc7e7464bb..1c5929ebe5a8fc 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -394,9 +394,9 @@ process.on('multipleResolves', common.mustNotCall()); let post = false; Promise.all([ - setPromiseTimeout(10).then(() => pre = true), + setPromiseTimeout(100).then(() => pre = true), new Promise((res) => { - const iterable = setInterval(() => {}, 20); + const iterable = setInterval(() => {}, 200); const iterator = iterable[Symbol.asyncIterator](); iterator.next().then(common.mustCall(() => { @@ -409,6 +409,6 @@ process.on('multipleResolves', common.mustNotCall()); return iterator.return(); })); }), - setPromiseTimeout(30).then(() => post = true) - ]); + setPromiseTimeout(300).then(() => post = true) + ]).then(common.mustCall()); } From 2bc172dd697033589ab7a7fa34aae3faab4a167c Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 14:59:38 +0800 Subject: [PATCH 04/10] fix: test failure --- test/parallel/test-timers-promisified.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index 1c5929ebe5a8fc..219a68ae14fc51 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -394,9 +394,9 @@ process.on('multipleResolves', common.mustNotCall()); let post = false; Promise.all([ - setPromiseTimeout(100).then(() => pre = true), + setPromiseTimeout(1).then(() => pre = true), new Promise((res) => { - const iterable = setInterval(() => {}, 200); + const iterable = timerPromises.setInterval(() => {}, 200); const iterator = iterable[Symbol.asyncIterator](); iterator.next().then(common.mustCall(() => { From e5acfda4c815e9bdc89a8abb1528ecfddab4b39f Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 15:04:21 +0800 Subject: [PATCH 05/10] fix: test failure --- test/parallel/test-timers-promisified.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index 219a68ae14fc51..d5d2db3a08c909 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -396,7 +396,7 @@ process.on('multipleResolves', common.mustNotCall()); Promise.all([ setPromiseTimeout(1).then(() => pre = true), new Promise((res) => { - const iterable = timerPromises.setInterval(() => {}, 200); + const iterable = timerPromises.setInterval(200); const iterator = iterable[Symbol.asyncIterator](); iterator.next().then(common.mustCall(() => { From a9737b5bae8fef8cfd26e0531b391578602f3534 Mon Sep 17 00:00:00 2001 From: Rabbit <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 17:17:23 +0800 Subject: [PATCH 06/10] Update test/parallel/test-timers-promisified.js Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> --- test/parallel/test-timers-promisified.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index d5d2db3a08c909..60c55b174cbe97 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -405,9 +405,8 @@ process.on('multipleResolves', common.mustNotCall()); return iterator.next(); })).then(common.mustCall(() => { assert.ok(post, 'second interval ran too early'); - res(); return iterator.return(); - })); + }).then(res); }), setPromiseTimeout(300).then(() => post = true) ]).then(common.mustCall()); From 9359f9c132186a29dbb46069692840b428b120ea Mon Sep 17 00:00:00 2001 From: Rabbit <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 17:18:16 +0800 Subject: [PATCH 07/10] Update test/parallel/test-timers-promisified.js Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> --- test/parallel/test-timers-promisified.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index 60c55b174cbe97..396ff503ac475e 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -399,7 +399,7 @@ process.on('multipleResolves', common.mustNotCall()); const iterable = timerPromises.setInterval(200); const iterator = iterable[Symbol.asyncIterator](); - iterator.next().then(common.mustCall(() => { + iterator.next().then(() => { assert.ok(pre, 'interval ran too early'); assert.ok(!post, 'interval ran too late'); return iterator.next(); From 7509a44da26de4c84d3e5308343a2efd6ac14969 Mon Sep 17 00:00:00 2001 From: Rabbit <ttzztztz@outlook.com> Date: Thu, 18 Feb 2021 17:18:43 +0800 Subject: [PATCH 08/10] Update test/parallel/test-timers-promisified.js Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> --- test/parallel/test-timers-promisified.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index 396ff503ac475e..929b3b41f0c4e9 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -403,7 +403,7 @@ process.on('multipleResolves', common.mustNotCall()); assert.ok(pre, 'interval ran too early'); assert.ok(!post, 'interval ran too late'); return iterator.next(); - })).then(common.mustCall(() => { + }).then(() => { assert.ok(post, 'second interval ran too early'); return iterator.return(); }).then(res); From 51921f73890790322f58c1b263265c39d10c9c01 Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Fri, 19 Feb 2021 08:46:33 +0800 Subject: [PATCH 09/10] feat: timer_unit --- test/parallel/test-timers-promisified.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index 929b3b41f0c4e9..c48a09511f2f57 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -393,10 +393,11 @@ process.on('multipleResolves', common.mustNotCall()); let pre = false; let post = false; + const time_unit = common.platformTimeout(50); Promise.all([ setPromiseTimeout(1).then(() => pre = true), new Promise((res) => { - const iterable = timerPromises.setInterval(200); + const iterable = timerPromises.setInterval(time_unit * 2); const iterator = iterable[Symbol.asyncIterator](); iterator.next().then(() => { @@ -408,6 +409,6 @@ process.on('multipleResolves', common.mustNotCall()); return iterator.return(); }).then(res); }), - setPromiseTimeout(300).then(() => post = true) + setPromiseTimeout(time_unit * 3).then(() => post = true) ]).then(common.mustCall()); } From 2ddaa1d8b703dd3aba8a563d0db799dc75a44953 Mon Sep 17 00:00:00 2001 From: ttzztztz <ttzztztz@outlook.com> Date: Sun, 21 Feb 2021 07:56:47 +0800 Subject: [PATCH 10/10] fix: efficient machines --- test/parallel/test-timers-promisified.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-timers-promisified.js b/test/parallel/test-timers-promisified.js index c48a09511f2f57..04c3ff96149352 100644 --- a/test/parallel/test-timers-promisified.js +++ b/test/parallel/test-timers-promisified.js @@ -393,7 +393,7 @@ process.on('multipleResolves', common.mustNotCall()); let pre = false; let post = false; - const time_unit = common.platformTimeout(50); + const time_unit = 50; Promise.all([ setPromiseTimeout(1).then(() => pre = true), new Promise((res) => {