From d4b6c41a5f8ca84082f90a5d738b23d3ba71bbb0 Mon Sep 17 00:00:00 2001 From: Omar Griffin Date: Thu, 19 Apr 2018 14:26:48 -0700 Subject: [PATCH] fix(benchpress): Fix promise chain in chrome_driver_extension. (#23458) Occasionally the promise to clear the chrome buffer resolves after the subsequent call to start the timer. This problem causes flakiness in our tests that rely on benchpress, usually manifesting itself as a "Tried too often to get the ending mark: 21" error thrown by this line: https://github.com/angular/angular/blob/master/packages/benchpress/src/metric/perflog_metric.ts#L162 PR Close #23458 --- packages/benchpress/src/webdriver/chrome_driver_extension.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/benchpress/src/webdriver/chrome_driver_extension.ts b/packages/benchpress/src/webdriver/chrome_driver_extension.ts index d1ceba67b1..c255f2ff33 100644 --- a/packages/benchpress/src/webdriver/chrome_driver_extension.ts +++ b/packages/benchpress/src/webdriver/chrome_driver_extension.ts @@ -51,12 +51,12 @@ export class ChromeDriverExtension extends WebDriverExtension { gc() { return this._driver.executeScript('window.gc()'); } - timeBegin(name: string): Promise { + async timeBegin(name: string): Promise { if (this._firstRun) { this._firstRun = false; // Before the first run, read out the existing performance logs // so that the chrome buffer does not fill up. - this._driver.logs('performance'); + await this._driver.logs('performance'); } return this._driver.executeScript(`console.time('${name}');`); }