OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 # Copyright 2014 Google Inc. | 3 # Copyright 2014 Google Inc. |
4 # | 4 # |
5 # Use of this source code is governed by a BSD-style license that can be | 5 # Use of this source code is governed by a BSD-style license that can be |
6 # found in the LICENSE file. | 6 # found in the LICENSE file. |
7 | 7 |
8 """ | 8 """ |
9 Test makefile_writer.py | 9 Test makefile_writer.py |
10 """ | 10 """ |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 common_vars_dict = generate_dummy_vars_dict(None) | 104 common_vars_dict = generate_dummy_vars_dict(None) |
105 | 105 |
106 deviation_params = [('foo', 'COND'), ('bar', None)] | 106 deviation_params = [('foo', 'COND'), ('bar', None)] |
107 deviations = [generate_dummy_vars_dict_data(name, condition) | 107 deviations = [generate_dummy_vars_dict_data(name, condition) |
108 for (name, condition) in deviation_params] | 108 for (name, condition) in deviation_params] |
109 | 109 |
110 makefile_writer.write_android_mk(target_dir=target_dir, | 110 makefile_writer.write_android_mk(target_dir=target_dir, |
111 common=common_vars_dict, | 111 common=common_vars_dict, |
112 deviations_from_common=deviations) | 112 deviations_from_common=deviations) |
113 | 113 |
| 114 def generate_dummy_static_deps_makefile(target_dir): |
| 115 """Create a dummy makefile that prints out the static dependencies. |
| 116 |
| 117 Use dummy values unrelated to any gyp files. Its output should remain the |
| 118 same unless/until makefile_writer.write_static_deps_mk changes. |
| 119 |
| 120 Args: |
| 121 target_dir: directory in which to write the resulting file |
| 122 """ |
| 123 common_vars_dict = generate_dummy_vars_dict(None) |
| 124 |
| 125 deviation_params = [('foo', 'COND'), ('bar', None)] |
| 126 deviations = [generate_dummy_vars_dict_data(name, condition) |
| 127 for (name, condition) in deviation_params] |
| 128 |
| 129 makefile_writer.write_static_deps_mk(target_dir=target_dir, |
| 130 common=common_vars_dict, |
| 131 deviations_from_common=deviations) |
| 132 |
114 def generate_dummy_tool_makefile(target_dir): | 133 def generate_dummy_tool_makefile(target_dir): |
115 """Create a dummy makefile for a tool. | 134 """Create a dummy makefile for a tool. |
116 | 135 |
117 Args: | 136 Args: |
118 target_dir: directory in which to write the resulting Android.mk | 137 target_dir: directory in which to write the resulting Android.mk |
119 """ | 138 """ |
120 vars_dict = generate_dummy_vars_dict(None) | 139 vars_dict = generate_dummy_vars_dict(None) |
121 tool_makefile_writer.write_tool_android_mk(target_dir=target_dir, | 140 tool_makefile_writer.write_tool_android_mk(target_dir=target_dir, |
122 var_dict=vars_dict) | 141 var_dict=vars_dict) |
123 | 142 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 | 193 |
175 def test_write_android_mk(self): | 194 def test_write_android_mk(self): |
176 outdir = tempfile.mkdtemp() | 195 outdir = tempfile.mkdtemp() |
177 generate_dummy_makefile(outdir) | 196 generate_dummy_makefile(outdir) |
178 | 197 |
179 utils.compare_to_expectation(os.path.join(outdir, MAKEFILE_NAME), | 198 utils.compare_to_expectation(os.path.join(outdir, MAKEFILE_NAME), |
180 MAKEFILE_NAME, self.assertTrue, REBASELINE_MSG) | 199 MAKEFILE_NAME, self.assertTrue, REBASELINE_MSG) |
181 | 200 |
182 shutil.rmtree(outdir) | 201 shutil.rmtree(outdir) |
183 | 202 |
| 203 def test_include_static_deps_writer(self): |
| 204 outdir = tempfile.mkdtemp() |
| 205 generate_dummy_static_deps_makefile(outdir) |
| 206 |
| 207 filename = test_variables.STATIC_DEPS_MK |
| 208 utils.compare_to_expectation(os.path.join(outdir, filename), |
| 209 filename, self.assertTrue, REBASELINE_MSG) |
| 210 |
184 def test_tool_writer(self): | 211 def test_tool_writer(self): |
185 outdir = tempfile.mkdtemp() | 212 outdir = tempfile.mkdtemp() |
186 tool_dir = os.path.join(outdir, TOOL_DIR) | 213 tool_dir = os.path.join(outdir, TOOL_DIR) |
187 os.mkdir(tool_dir) | 214 os.mkdir(tool_dir) |
188 generate_dummy_tool_makefile(tool_dir) | 215 generate_dummy_tool_makefile(tool_dir) |
189 | 216 |
190 utils.compare_to_expectation(os.path.join(tool_dir, MAKEFILE_NAME), | 217 utils.compare_to_expectation(os.path.join(tool_dir, MAKEFILE_NAME), |
191 os.path.join(TOOL_DIR, MAKEFILE_NAME), | 218 os.path.join(TOOL_DIR, MAKEFILE_NAME), |
192 self.assertTrue, REBASELINE_MSG) | 219 self.assertTrue, REBASELINE_MSG) |
193 | 220 |
194 def main(): | 221 def main(): |
195 loader = unittest.TestLoader() | 222 loader = unittest.TestLoader() |
196 suite = loader.loadTestsFromTestCase(MakefileWriterTest) | 223 suite = loader.loadTestsFromTestCase(MakefileWriterTest) |
197 results = unittest.TextTestRunner(verbosity=2).run(suite) | 224 results = unittest.TextTestRunner(verbosity=2).run(suite) |
198 print repr(results) | 225 print repr(results) |
199 if not results.wasSuccessful(): | 226 if not results.wasSuccessful(): |
200 raise Exception('failed one or more unittests') | 227 raise Exception('failed one or more unittests') |
201 | 228 |
202 | 229 |
203 def rebaseline(): | 230 def rebaseline(): |
204 generate_dummy_makefile(utils.EXPECTATIONS_DIR) | 231 generate_dummy_makefile(utils.EXPECTATIONS_DIR) |
205 | 232 |
206 vars_dict = generate_dummy_vars_dict(None) | 233 vars_dict = generate_dummy_vars_dict(None) |
207 for (filename, append, name) in generate_write_local_vars_params(): | 234 for (filename, append, name) in generate_write_local_vars_params(): |
208 with open(os.path.join(utils.EXPECTATIONS_DIR, filename), 'w') as f: | 235 with open(os.path.join(utils.EXPECTATIONS_DIR, filename), 'w') as f: |
209 makefile_writer.write_local_vars(f, vars_dict, append, name) | 236 makefile_writer.write_local_vars(f, vars_dict, append, name) |
210 | 237 |
| 238 generate_dummy_static_deps_makefile(utils.EXPECTATIONS_DIR) |
211 generate_dummy_tool_makefile(os.path.join(utils.EXPECTATIONS_DIR, TOOL_DIR)) | 239 generate_dummy_tool_makefile(os.path.join(utils.EXPECTATIONS_DIR, TOOL_DIR)) |
212 | 240 |
213 | 241 |
214 if __name__ == '__main__': | 242 if __name__ == '__main__': |
215 parser = argparse.ArgumentParser() | 243 parser = argparse.ArgumentParser() |
216 parser.add_argument('-r', '--rebaseline', help='Rebaseline expectations.', | 244 parser.add_argument('-r', '--rebaseline', help='Rebaseline expectations.', |
217 action='store_true') | 245 action='store_true') |
218 args = parser.parse_args() | 246 args = parser.parse_args() |
219 | 247 |
220 if args.rebaseline: | 248 if args.rebaseline: |
221 rebaseline() | 249 rebaseline() |
222 else: | 250 else: |
223 main() | 251 main() |
224 | 252 |
OLD | NEW |