| 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 |