|
1 | 1 | #
|
2 | 2 | # Project Wok
|
3 | 3 | #
|
4 |
| -# Copyright IBM, Corp. 2013-2015 |
| 4 | +# Copyright IBM, Corp. 2013-2016 |
5 | 5 | #
|
6 | 6 | # Code derived from Project Kimchi
|
7 | 7 | #
|
@@ -136,7 +136,8 @@ def import_module(module_name, class_name=''):
|
136 | 136 | return __import__(module_name, globals(), locals(), [class_name])
|
137 | 137 |
|
138 | 138 |
|
139 |
| -def run_command(cmd, timeout=None, silent=False, tee=None): |
| 139 | +def run_command(cmd, timeout=None, silent=False, tee=None, |
| 140 | + env_vars=None): |
140 | 141 | """
|
141 | 142 | cmd is a sequence of command arguments.
|
142 | 143 | timeout is a float number in seconds.
|
@@ -184,9 +185,15 @@ def tee_log(msg=None, log_file=None):
|
184 | 185 | timer = None
|
185 | 186 | timeout_flag = [False]
|
186 | 187 |
|
| 188 | + if env_vars is None: |
| 189 | + env_vars = os.environ.copy() |
| 190 | + env_vars['LC_ALL'] = 'C' |
| 191 | + elif env_vars.get('LC_ALL') is None: |
| 192 | + env_vars['LC_ALL'] = 'C' |
| 193 | + |
187 | 194 | try:
|
188 | 195 | proc = subprocess.Popen(cmd, stdout=subprocess.PIPE,
|
189 |
| - stderr=subprocess.PIPE) |
| 196 | + stderr=subprocess.PIPE, env=env_vars) |
190 | 197 | if timeout is not None:
|
191 | 198 | timer = Timer(timeout, kill_proc, [proc, timeout_flag])
|
192 | 199 | timer.setDaemon(True)
|
|
0 commit comments