convert environment variable values to strings
Markus Gerstel
4 years ago
321 | 321 |
env = os.environ
|
322 | 322 |
if environment_override:
|
323 | 323 |
env = copy.copy(env)
|
324 | |
env.update(environment_override)
|
|
324 |
env.update({key: str(env[key]) for key in environment_override})
|
325 | 325 |
|
326 | 326 |
if win32resolve and sys.platform == 'win32':
|
327 | 327 |
command = _windows_resolve(command)
|
88 | 88 |
def test_pass_custom_environment_to_process_and_add_another_value(mock_subprocess):
|
89 | 89 |
mock_subprocess.Popen.side_effect = NotImplementedError() # cut calls short
|
90 | 90 |
mock_env1 = { 'keyA': mock.sentinel.keyA }
|
91 | |
mock_env2 = { 'keyB': str(mock.sentinel.keyB) }
|
|
91 |
mock_env2 = { 'keyB': mock.sentinel.keyB, 'number': 5 }
|
92 | 92 |
# Pass an environment dictionary
|
93 | 93 |
with pytest.raises(NotImplementedError):
|
94 | 94 |
procrunner.run(mock.Mock(), -1, False, environment=copy.copy(mock_env1), environment_override=copy.copy(mock_env2))
|
95 | 95 |
mock_env_sum = copy.copy(mock_env1)
|
96 | |
mock_env_sum.update(mock_env2)
|
|
96 |
mock_env_sum.update({key: str(mock_env2[key]) for key in mock_env2})
|
97 | 97 |
assert mock_subprocess.Popen.call_args[1]['env'] == mock_env_sum
|
98 | 98 |
|
99 | 99 |
|