| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2013 The LUCI Authors. All rights reserved. | 2 # Copyright 2013 The LUCI Authors. All rights reserved. |
| 3 # Use of this source code is governed under the Apache License, Version 2.0 | 3 # Use of this source code is governed under the Apache License, Version 2.0 |
| 4 # that can be found in the LICENSE file. | 4 # that can be found in the LICENSE file. |
| 5 | 5 |
| 6 import os |
| 6 import unittest | 7 import unittest |
| 7 | 8 |
| 8 import test_env | 9 import test_env |
| 9 | 10 |
| 10 from recipe_engine import step_runner | 11 from recipe_engine import step_runner |
| 11 | 12 |
| 12 | 13 |
| 13 class TestLinebuf(unittest.TestCase): | 14 class TestLinebuf(unittest.TestCase): |
| 14 def test_add_partial(self): | 15 def test_add_partial(self): |
| 15 lb = step_runner._streamingLinebuf() | 16 lb = step_runner._streamingLinebuf() |
| (...skipping 30 matching lines...) Expand all Loading... |
| 46 | 47 |
| 47 lb.ingest("doop\n") | 48 lb.ingest("doop\n") |
| 48 self.assertEqual(["nerdsdoop"], lb.get_buffered()) | 49 self.assertEqual(["nerdsdoop"], lb.get_buffered()) |
| 49 | 50 |
| 50 self.assertEqual([], lb.get_buffered()) | 51 self.assertEqual([], lb.get_buffered()) |
| 51 | 52 |
| 52 self.assertEqual([], lb.buffedlines) | 53 self.assertEqual([], lb.buffedlines) |
| 53 self.assertEqual("", lb.extra.getvalue()) | 54 self.assertEqual("", lb.extra.getvalue()) |
| 54 | 55 |
| 55 | 56 |
| 57 class TestMergeEnvs(unittest.TestCase): |
| 58 def setUp(self): |
| 59 self.original = { |
| 60 'FOO': 'foo', |
| 61 } |
| 62 |
| 63 @staticmethod |
| 64 def pathjoin(*parts): |
| 65 return os.pathsep.join(parts) |
| 66 |
| 67 def test_nothing_to_do(self): |
| 68 self.assertEqual( |
| 69 step_runner._merge_envs(self.original, {}, {}), |
| 70 self.original) |
| 71 |
| 72 def test_merge_with_empty_path_tuple(self): |
| 73 self.assertEqual(step_runner._merge_envs( |
| 74 self.original, {'FOO': ''}, {'FOO': ()}), |
| 75 {'FOO': ''}) |
| 76 |
| 77 def test_merge_with_path_tuple(self): |
| 78 self.assertEqual(step_runner._merge_envs( |
| 79 self.original, {}, {'BAR': ('bar', 'baz')}), |
| 80 {'FOO': 'foo', 'BAR': self.pathjoin('bar', 'baz')}) |
| 81 |
| 82 def test_merge_with_path_tuple_and_orig_env(self): |
| 83 self.assertEqual(step_runner._merge_envs( |
| 84 self.original, {}, {'FOO': ('bar', 'baz')}), |
| 85 {'FOO': self.pathjoin('bar', 'baz', 'foo')}) |
| 86 |
| 87 def test_merge_with_path_tuple_and_env(self): |
| 88 self.assertEqual(step_runner._merge_envs( |
| 89 self.original, {'FOO': 'override'}, {'FOO': ('bar', 'baz')}), |
| 90 {'FOO': self.pathjoin('bar', 'baz', 'override')}) |
| 91 |
| 92 def test_merge_with_path_tuple_and_env_subst(self): |
| 93 self.assertEqual(step_runner._merge_envs( |
| 94 self.original, {'FOO': 'a-%(FOO)s-b'}, {'FOO': ('bar', 'baz')}), |
| 95 {'FOO': self.pathjoin('bar', 'baz', 'a-foo-b')}) |
| 96 |
| 97 def test_merge_with_path_tuple_and_env_empty_subst(self): |
| 98 self.original['FOO'] = '' |
| 99 self.assertEqual(step_runner._merge_envs( |
| 100 self.original, {'FOO': '%(FOO)s'}, {'FOO': ('bar', 'baz')}), |
| 101 {'FOO': self.pathjoin('bar', 'baz')}) |
| 102 |
| 103 def test_merge_with_path_tuple_and_env_clear(self): |
| 104 self.assertEqual(step_runner._merge_envs( |
| 105 self.original, {'FOO': None}, {'FOO': ('bar', 'baz')}), |
| 106 {'FOO': self.pathjoin('bar', 'baz')}) |
| 107 |
| 108 def test_merge_with_subst(self): |
| 109 self.assertEqual(step_runner._merge_envs( |
| 110 self.original, {'FOO': 'a-%(FOO)s-b'}, {}), |
| 111 {'FOO': 'a-foo-b'}) |
| 112 |
| 113 def test_merge_with_empty_subst(self): |
| 114 self.original['FOO'] = '' |
| 115 self.assertEqual(step_runner._merge_envs( |
| 116 self.original, {'FOO': '%(FOO)s'}, {}), |
| 117 {'FOO': ''}) |
| 118 |
| 119 def test_merge_with_clear(self): |
| 120 self.assertEqual(step_runner._merge_envs( |
| 121 self.original, {'FOO': None}, {}), |
| 122 {}) |
| 123 |
| 124 |
| 56 if __name__ == '__main__': | 125 if __name__ == '__main__': |
| 57 unittest.main() | 126 unittest.main() |
| OLD | NEW |