Add environment code satisfying unit test

This commit is contained in:
Joe Rickerby
2017-09-01 13:24:12 +01:00
parent fd385a9bf8
commit 5ae4da631f
4 changed files with 131 additions and 7 deletions
+18 -7
View File
@@ -5,8 +5,8 @@ def test_basic_parsing():
environment_recipe = parse_environment('VAR=1 VBR=2')
environment_dict = environment_recipe.as_dictionary(
prev_environment={},
shell=lambda cmd: '')
prev_environment={}
)
environment_cmds = environment_recipe.as_shell_commands()
assert environment_dict == {'VAR': '1', 'VBR': '2'}
@@ -16,20 +16,31 @@ def test_quotes():
environment_recipe = parse_environment('A=1 VAR="1 NOT_A_VAR=2" VBR=\'vbr\'')
environment_dict = environment_recipe.as_dictionary(
prev_environment={},
shell=lambda cmd: '')
prev_environment={}
)
environment_cmds = environment_recipe.as_shell_commands()
assert environment_dict == {'A': '1', 'VAR': '1 NOT_A_VAR=2', 'VBR': 'vbr'}
assert environment_cmds == ['export A=1', 'export VAR="1 NOT_A_VAR=2"', 'export ABR=vbr']
assert environment_cmds == ['export A=1', 'export VAR="1 NOT_A_VAR=2"', 'export VBR=\'vbr\'']
def test_inheritance():
environment_recipe = parse_environment('PATH=$PATH:/usr/local/bin')
environment_dict = environment_recipe.as_dictionary(
prev_environment={'PATH': '/usr/bin'},
shell=lambda cmd: '')
prev_environment={'PATH': '/usr/bin'}
)
environment_cmds = environment_recipe.as_shell_commands()
assert environment_dict == {'PATH': '/usr/bin:/usr/local/bin'}
assert environment_cmds == ['export PATH=$PATH:/usr/local/bin']
def test_empty_var():
environment_recipe = parse_environment('CFLAGS=')
environment_dict = environment_recipe.as_dictionary(
prev_environment={'CFLAGS': '-Wall'}
)
environment_cmds = environment_recipe.as_shell_commands()
assert environment_dict == {'CFLAGS': ''}
assert environment_cmds == ['export CFLAGS=']