def test_3(self): """Test appending/prepending.""" def _rex(): appendenv("FOO", "test1") env.FOO.append("test2") env.FOO.append("test3") env.BAH.prepend("A") prependenv("BAH", "B") env.BAH.append("C") # no parent variables enabled self._test(func=_rex, env={}, expected_actions=[ Setenv('FOO', 'test1'), Appendenv('FOO', 'test2'), Appendenv('FOO', 'test3'), Setenv('BAH', 'A'), Prependenv('BAH', 'B'), Appendenv('BAH', 'C') ], expected_output={ 'FOO': os.pathsep.join(["test1", "test2", "test3"]), 'BAH': os.pathsep.join(["B", "A", "C"]) }) # FOO and BAH enabled as parent variables, but not present expected_actions = [ Appendenv('FOO', 'test1'), Appendenv('FOO', 'test2'), Appendenv('FOO', 'test3'), Prependenv('BAH', 'A'), Prependenv('BAH', 'B'), Appendenv('BAH', 'C') ] self._test(func=_rex, env={}, expected_actions=expected_actions, expected_output={ 'FOO': os.pathsep.join(["", "test1", "test2", "test3"]), 'BAH': os.pathsep.join(["B", "A", "", "C"]) }, parent_variables=["FOO", "BAH"]) # FOO and BAH enabled as parent variables, and present self._test(func=_rex, env={ "FOO": "tmp", "BAH": "Z" }, expected_actions=expected_actions, expected_output={ 'FOO': os.pathsep.join(["tmp", "test1", "test2", "test3"]), 'BAH': os.pathsep.join(["B", "A", "Z", "C"]) }, parent_variables=["FOO", "BAH"])
def test_8(self): """Custom environment variable separators.""" config.override("env_var_separators", {"FOO": ",", "BAH": " "}) def _rex(): appendenv("FOO", "test1") env.FOO.append("test2") env.FOO.append("test3") env.BAH.prepend("A") prependenv("BAH", "B") env.BAH.append("C") self._test(func=_rex, env={}, expected_actions=[ Setenv('FOO', 'test1'), Appendenv('FOO', 'test2'), Appendenv('FOO', 'test3'), Setenv('BAH', 'A'), Prependenv('BAH', 'B'), Appendenv('BAH', 'C') ], expected_output={ 'FOO': ",".join(["test1", "test2", "test3"]), 'BAH': " ".join(["B", "A", "C"]) })
def test_1(self): """Test simple use of every available action.""" def _rex(): shebang() setenv("FOO", "foo") setenv("BAH", "bah") getenv("BAH") unsetenv("BAH") unsetenv("NOTEXIST") prependenv("A", "/tmp") prependenv("A", "/data") appendenv("B", "/tmp") appendenv("B", "/data") defined("BAH") undefined("BAH") defined("NOTEXIST") undefined("NOTEXIST") alias("thing", "thang") info("that's interesting") error("oh noes") command("runme --with --args") source("./script.src") self._test(func=_rex, env={}, expected_actions=[ Shebang(), Setenv('FOO', 'foo'), Setenv('BAH', 'bah'), Unsetenv('BAH'), Unsetenv('NOTEXIST'), Setenv('A', '/tmp'), Prependenv('A', '/data'), Setenv('B', '/tmp'), Appendenv('B', '/data'), Alias('thing', 'thang'), Info("that's interesting"), Error('oh noes'), Command('runme --with --args'), Source('./script.src') ], expected_output={ 'FOO': 'foo', 'A': os.pathsep.join(["/data", "/tmp"]), 'B': os.pathsep.join(["/tmp", "/data"]) })