From 3820520acb0dcbfa50409805e49ccf5bec55f69d Mon Sep 17 00:00:00 2001 From: Edward Lesmes Date: Wed, 15 Apr 2020 01:09:47 +0000 Subject: [PATCH] Revert "metrics: Use vpython3 instead of sys.executable" This reverts commit 310e1e814d729f68deac5f6c5f21f377c2883dac. Reason for revert: "vpython3" doesn't work on Windows without shell Original change's description: > metrics: Use vpython3 instead of sys.executable > > Apparently, uploading metrics might happen after sys.executable > has been deleted. > > Bug: 1068263 > Change-Id: Id4ab465bb97d146b688f42fb2002e29372e65555 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2148879 > Commit-Queue: Anthony Polito > Reviewed-by: Anthony Polito TBR=ehmaldonado@chromium.org,apolito@google.com,infra-scoped@luci-project-accounts.iam.gserviceaccount.com,sokcevic@google.com Change-Id: I6b9998de0d3afeda142971f889361fb1c8a37a0d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1068263 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2149762 Reviewed-by: Edward Lesmes Commit-Queue: Edward Lesmes --- metrics.py | 2 +- tests/metrics_test.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/metrics.py b/metrics.py index 4df1a8ed7..7b8d04a43 100644 --- a/metrics.py +++ b/metrics.py @@ -184,7 +184,7 @@ class MetricsCollector(object): # We invoke a subprocess, and use stdin.write instead of communicate(), # so that we are able to return immediately, leaving the upload running in # the background. - p = subprocess.Popen(['vpython3', UPLOAD_SCRIPT], stdin=subprocess.PIPE) + p = subprocess.Popen([sys.executable, UPLOAD_SCRIPT], stdin=subprocess.PIPE) p.stdin.write(json.dumps(self._reported_metrics).encode('utf-8')) def _collect_metrics(self, func, command_name, *args, **kwargs): diff --git a/tests/metrics_test.py b/tests/metrics_test.py index 0776c0aac..8d2863337 100644 --- a/tests/metrics_test.py +++ b/tests/metrics_test.py @@ -138,7 +138,7 @@ class MetricsCollectorTest(unittest.TestCase): self.default_metrics.update(update_metrics or {}) # Assert we invoked the script to upload them. self.Popen.assert_called_with( - ['vpython3', metrics.UPLOAD_SCRIPT], stdin=metrics.subprocess.PIPE) + [sys.executable, metrics.UPLOAD_SCRIPT], stdin=metrics.subprocess.PIPE) # Assert we collected the right metrics. write_call = self.Popen.return_value.stdin.write.call_args collected_metrics = json.loads(write_call[0][0])