Index: tools/mb/mb_unittest.py |
diff --git a/tools/mb/mb_unittest.py b/tools/mb/mb_unittest.py |
index 98a1b05919b1c1400c4956011402f8efb636f6b1..6870b24f862b5f9ad47d60b76a40486252f38da8 100755 |
--- a/tools/mb/mb_unittest.py |
+++ b/tools/mb/mb_unittest.py |
@@ -216,6 +216,15 @@ class UnitTest(unittest.TestCase): |
mbw = FakeMBW(win32=win32) |
mbw.files.setdefault(mbw.default_config, TEST_CONFIG) |
mbw.files.setdefault( |
+ mbw.ToAbsPath('//testing/buildbot/gn_isolate_map.pyl'), |
+ '''{ |
+ "foo_unittests": { |
+ "label": "//foo:foo_unittests", |
+ "type": "console_test_launcher", |
+ "args": [], |
+ }, |
+ }''') |
+ mbw.files.setdefault( |
mbw.ToAbsPath('//build/args/bots/fake_master/fake_gn_args_bot.gn'), |
'is_debug = false\n') |
if files: |
@@ -268,78 +277,29 @@ class UnitTest(unittest.TestCase): |
self.assertEqual(mbw.files['/fake_src/out/Debug/mb_type'], 'gyp') |
def test_gn_analyze(self): |
- files = {'/tmp/in.json': """{\ |
+ files = {'/tmp/in.json': '''{\ |
"files": ["foo/foo_unittest.cc"], |
- "test_targets": ["foo_unittests", "bar_unittests"], |
- "additional_compile_targets": [] |
- }"""} |
+ "test_targets": ["foo_unittests"], |
+ "additional_compile_targets": ["all"] |
+ }''', |
+ '/tmp/out.json.gn': '''{\ |
+ "status": "Found dependency", |
+ "compile_targets": ["//foo:foo_unittests"], |
+ "test_targets": ["//foo:foo_unittests"] |
+ }'''} |
mbw = self.fake_mbw(files) |
- mbw.Call = lambda cmd, env=None, buffer_output=True: ( |
- 0, 'out/Default/foo_unittests\n', '') |
+ mbw.Call = lambda cmd, env=None, buffer_output=True: (0, '', '') |
self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default', |
'/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0) |
out = json.loads(mbw.files['/tmp/out.json']) |
self.assertEqual(out, { |
'status': 'Found dependency', |
- 'compile_targets': ['foo_unittests'], |
+ 'compile_targets': ['foo:foo_unittests'], |
'test_targets': ['foo_unittests'] |
}) |
- def test_gn_analyze_fails(self): |
- files = {'/tmp/in.json': """{\ |
- "files": ["foo/foo_unittest.cc"], |
- "test_targets": ["foo_unittests", "bar_unittests"], |
- "additional_compile_targets": [] |
- }"""} |
- |
- mbw = self.fake_mbw(files) |
- mbw.Call = lambda cmd, env=None, buffer_output=True: (1, '', '') |
- |
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default', |
- '/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=1) |
- |
- def test_gn_analyze_all(self): |
- files = {'/tmp/in.json': """{\ |
- "files": ["foo/foo_unittest.cc"], |
- "test_targets": ["bar_unittests"], |
- "additional_compile_targets": ["all"] |
- }"""} |
- mbw = self.fake_mbw(files) |
- mbw.Call = lambda cmd, env=None, buffer_output=True: ( |
- 0, 'out/Default/foo_unittests\n', '') |
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default', |
- '/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0) |
- out = json.loads(mbw.files['/tmp/out.json']) |
- self.assertEqual(out, { |
- 'status': 'Found dependency (all)', |
- 'compile_targets': ['all', 'bar_unittests'], |
- 'test_targets': ['bar_unittests'], |
- }) |
- |
- def test_gn_analyze_missing_file(self): |
- files = {'/tmp/in.json': """{\ |
- "files": ["foo/foo_unittest.cc"], |
- "test_targets": ["bar_unittests"], |
- "additional_compile_targets": [] |
- }"""} |
- mbw = self.fake_mbw(files) |
- mbw.cmds = [ |
- (0, '', ''), |
- (1, 'The input matches no targets, configs, or files\n', ''), |
- (1, 'The input matches no targets, configs, or files\n', ''), |
- ] |
- |
- self.check(['analyze', '-c', 'gn_debug_goma', '//out/Default', |
- '/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0) |
- out = json.loads(mbw.files['/tmp/out.json']) |
- self.assertEqual(out, { |
- 'status': 'No dependency', |
- 'compile_targets': [], |
- 'test_targets': [], |
- }) |
- |
def test_gn_gen(self): |
mbw = self.fake_mbw() |
self.check(['gen', '-c', 'gn_debug_goma', '//out/Default', '-g', '/goma'], |