Index: scripts/slave/recipe_modules/goma/api.py |
diff --git a/scripts/slave/recipe_modules/goma/api.py b/scripts/slave/recipe_modules/goma/api.py |
index db1b0061f82875595c795a87a8aaae0adf1407aa..e134a5d5ac8731a0eff872b9889df689d907bd5c 100644 |
--- a/scripts/slave/recipe_modules/goma/api.py |
+++ b/scripts/slave/recipe_modules/goma/api.py |
@@ -2,6 +2,8 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+import os |
+ |
from recipe_engine import recipe_api |
class GomaApi(recipe_api.RecipeApi): |
@@ -12,8 +14,23 @@ class GomaApi(recipe_api.RecipeApi): |
self._goma_dir = None |
self._goma_started = False |
+ self._goma_ctl_env_init() |
+ |
+ def _goma_ctl_env_init(self): |
self._goma_ctl_env = {} |
+ # Inherit some env vars used in goma_utils.SendGomaTsMon. |
+ for key in ['BUILDBOT_BUILDERNAME', |
+ 'BUILDBOT_MASTERNAME', |
+ 'BUILDBOT_SLAVENAME', |
+ 'BUILDBOT_CLOBBER', |
+ 'TEST_TMPDIR', |
+ 'TMPDIR', |
+ 'TMP', |
+ ]: |
+ if key in os.environ: # pragma: no cover |
+ self._goma_ctl_env[key] = os.environ[key] |
+ |
@property |
def service_account_json_path(self): |
if self.m.platform.is_win: |
@@ -69,6 +86,9 @@ class GomaApi(recipe_api.RecipeApi): |
self._goma_ctl_env['GOMA_SERVICE_ACCOUNT_JSON_FILE'] = ( |
self.service_account_json_path) |
+ # GLOG_log_dir should not be set. |
+ assert env is None or 'GLOG_log_dir' not in env |
+ |
goma_ctl_start_env = self._goma_ctl_env.copy() |
if env is not None: |
@@ -112,7 +132,8 @@ class GomaApi(recipe_api.RecipeApi): |
ninja_log_exit_status) |
self._goma_started = False |
- self._goma_ctl_env = {} |
+ self._goma_ctl_env_init() |
+ |
def upload_logs(self, ninja_log_outdir=None, ninja_log_compiler=None, |
ninja_log_command=None, ninja_log_exit_status=None, |
@@ -145,5 +166,6 @@ class GomaApi(recipe_api.RecipeApi): |
name=name or 'upload_log', |
script=self.package_repo_resource( |
'scripts', 'slave', 'upload_goma_logs.py'), |
- args=args |
+ args=args, |
+ env=self._goma_ctl_env |
) |