Răsfoiți Sursa

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 <apolito@google.com>
Reviewed-by: Anthony Polito <apolito@google.com>
Edward Lesmes 5 ani în urmă
părinte
comite
310e1e814d
2 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 1 1
      metrics.py
  2. 1 1
      tests/metrics_test.py

+ 1 - 1
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([sys.executable, UPLOAD_SCRIPT], stdin=subprocess.PIPE)
+    p = subprocess.Popen(['vpython3', 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):

+ 1 - 1
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(
-        [sys.executable, metrics.UPLOAD_SCRIPT], stdin=metrics.subprocess.PIPE)
+        ['vpython3', 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])