blob: 6c06d628d8f044640f161c6ccd64c9a2a5848330 [file] [log] [blame]
"""Helper library to get environment variables for absltest helper binaries."""
import os
_INHERITED_ENV_KEYS = frozenset({
# This is needed to correctly use the Python interpreter determined by
# bazel.
'PATH',
# This is used by the random module on Windows to locate crypto
# libraries.
'SYSTEMROOT',
})
def inherited_env():
"""Returns the environment variables that should be inherited from parent.
Reason why using an explicit list of environment variables instead of
inheriting all from parent: the absltest module itself interprets a list of
environment variables set by bazel, e.g. XML_OUTPUT_FILE,
TESTBRIDGE_TEST_ONLY. While testing absltest's own behavior, we should
remove them when invoking the helper subprocess. Using an explicit list is
safer.
"""
env = {}
for key in _INHERITED_ENV_KEYS:
if key in os.environ:
env[key] = os.environ[key]
return env