Index: tools/telemetry/telemetry/page/record_wpr.py |
diff --git a/tools/telemetry/telemetry/page/record_wpr.py b/tools/telemetry/telemetry/page/record_wpr.py |
index 61df640ad1a7e13369684ab95ebd23f4e7f45648..561a7f9d85e95c960bf8b011499dbb4d6415fa92 100755 |
--- a/tools/telemetry/telemetry/page/record_wpr.py |
+++ b/tools/telemetry/telemetry/page/record_wpr.py |
@@ -3,7 +3,9 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
import logging |
+import os |
import sys |
+import tempfile |
import time |
from telemetry import benchmark |
@@ -117,6 +119,7 @@ |
def __init__(self, base_dir, target, extra_args=None): |
action_names_to_run = FindAllActionNames(base_dir) |
self._record_page_test = RecorderPageTest(action_names_to_run) |
+ self._temp_target_wpr_file_path = tempfile.mkstemp()[1] |
self._options = self._CreateOptions() |
self._benchmark = _MaybeGetInstanceOfClass(target, base_dir, |
@@ -166,7 +169,8 @@ |
return ps |
def Record(self): |
- self._page_set.wpr_archive_info.AddNewTemporaryRecording() |
+ self._page_set.wpr_archive_info.AddNewTemporaryRecording( |
+ self._temp_target_wpr_file_path) |
self._record_page_test.CustomizeBrowserOptions(self._options) |
return page_runner.Run(self._record_page_test, self._page_set, |
test_expectations.TestExpectations(), self._options) |
@@ -176,7 +180,12 @@ |
logging.warning('Some pages failed and/or were skipped. The recording ' |
'has not been updated for these pages.') |
results.PrintSummary() |
- self._page_set.wpr_archive_info.AddRecordedPages(results.successes) |
+ |
+ if results.successes: |
+ # Update the metadata for the pages which were recorded. |
+ self._page_set.wpr_archive_info.AddRecordedPages(results.successes) |
+ else: |
+ os.remove(self._temp_target_wpr_file_path) |
def Main(base_dir): |