Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: recipe_engine/unittests/step_runner_test.py

Issue 2933473002: [context] Split "env" values and prefixes. (Closed)
Patch Set: fix typo Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « recipe_engine/unittests/run_test.py ('k') | recipe_engine/unittests/test_env.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 _merge(self, overrides, prefixes):
68 return step_runner._merge_envs(self.original, overrides, prefixes,
69 os.pathsep)
70
71 def test_nothing_to_do(self):
72 self.assertEqual(
73 self._merge({}, {}),
74 self.original)
75
76 def test_merge_with_empty_path_tuple(self):
77 self.assertEqual(self._merge(
78 {'FOO': ''}, {'FOO': ()}),
79 {'FOO': ''})
80
81 def test_merge_with_path_tuple(self):
82 self.assertEqual(self._merge(
83 {}, {'BAR': ('bar', 'baz')}),
84 {'FOO': 'foo', 'BAR': self.pathjoin('bar', 'baz')})
85
86 def test_merge_with_path_tuple_and_orig_env(self):
87 self.assertEqual(self._merge(
88 {}, {'FOO': ('bar', 'baz')}),
89 {'FOO': self.pathjoin('bar', 'baz', 'foo')})
90
91 def test_merge_with_path_tuple_and_env(self):
92 self.assertEqual(self._merge(
93 {'FOO': 'override'}, {'FOO': ('bar', 'baz')}),
94 {'FOO': self.pathjoin('bar', 'baz', 'override')})
95
96 def test_merge_with_path_tuple_and_env_subst(self):
97 self.assertEqual(self._merge(
98 {'FOO': 'a-%(FOO)s-b'}, {'FOO': ('bar', 'baz')}),
99 {'FOO': self.pathjoin('bar', 'baz', 'a-foo-b')})
100
101 def test_merge_with_path_tuple_and_env_empty_subst(self):
102 self.original['FOO'] = ''
103 self.assertEqual(self._merge(
104 {'FOO': '%(FOO)s'}, {'FOO': ('bar', 'baz')}),
105 {'FOO': self.pathjoin('bar', 'baz')})
106
107 def test_merge_with_path_tuple_and_env_clear(self):
108 self.assertEqual(self._merge(
109 {'FOO': None}, {'FOO': ('bar', 'baz')}),
110 {'FOO': self.pathjoin('bar', 'baz')})
111
112 def test_merge_with_subst(self):
113 self.assertEqual(self._merge(
114 {'FOO': 'a-%(FOO)s-b'}, {}),
115 {'FOO': 'a-foo-b'})
116
117 def test_merge_with_empty_subst(self):
118 self.original['FOO'] = ''
119 self.assertEqual(self._merge(
120 {'FOO': '%(FOO)s'}, {}),
121 {'FOO': ''})
122
123 def test_merge_with_clear(self):
124 self.assertEqual(self._merge(
125 {'FOO': None}, {}),
126 {})
127
128
56 if __name__ == '__main__': 129 if __name__ == '__main__':
57 unittest.main() 130 unittest.main()
OLDNEW
« no previous file with comments | « recipe_engine/unittests/run_test.py ('k') | recipe_engine/unittests/test_env.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698