"""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