| Index: tools/mb/mb_unittest.py
|
| diff --git a/tools/mb/mb_unittest.py b/tools/mb/mb_unittest.py
|
| index 64f53123612505b423f3c6b24a5c958595094897..23b3ee08efa933bd071c6b8c04fd2fe17784d445 100755
|
| --- a/tools/mb/mb_unittest.py
|
| +++ b/tools/mb/mb_unittest.py
|
| @@ -58,7 +58,7 @@ class FakeMBW(mb.MetaBuildWrapper):
|
| def WriteFile(self, path, contents, force_verbose=False):
|
| self.files[path] = contents
|
|
|
| - def Call(self, cmd, env=None):
|
| + def Call(self, cmd, env=None, buffer_output=True):
|
| if env:
|
| self.cross_compile = env.get('GYP_CROSSCOMPILE')
|
| self.calls.append(cmd)
|
| @@ -208,7 +208,8 @@ class UnitTest(unittest.TestCase):
|
| }"""}
|
|
|
| mbw = self.fake_mbw(files)
|
| - mbw.Call = lambda cmd, env=None: (0, 'out/Default/foo_unittests\n', '')
|
| + mbw.Call = lambda cmd, env=None, buffer_output=True: (
|
| + 0, 'out/Default/foo_unittests\n', '')
|
|
|
| self.check(['analyze', '-c', 'gn_debug', '//out/Default',
|
| '/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0)
|
| @@ -225,7 +226,8 @@ class UnitTest(unittest.TestCase):
|
| "targets": ["all", "bar_unittests"]
|
| }"""}
|
| mbw = self.fake_mbw(files)
|
| - mbw.Call = lambda cmd, env=None: (0, 'out/Default/foo_unittests\n', '')
|
| + mbw.Call = lambda cmd, env=None, buffer_output=True: (
|
| + 0, 'out/Default/foo_unittests\n', '')
|
| self.check(['analyze', '-c', 'gn_debug', '//out/Default',
|
| '/tmp/in.json', '/tmp/out.json'], mbw=mbw, ret=0)
|
| out = json.loads(mbw.files['/tmp/out.json'])
|
| @@ -271,7 +273,7 @@ class UnitTest(unittest.TestCase):
|
|
|
| def test_gn_gen_fails(self):
|
| mbw = self.fake_mbw()
|
| - mbw.Call = lambda cmd, env=None: (1, '', '')
|
| + mbw.Call = lambda cmd, env=None, buffer_output=True: (1, '', '')
|
| self.check(['gen', '-c', 'gn_debug', '//out/Default'], mbw=mbw, ret=1)
|
|
|
| def test_gn_gen_swarming(self):
|
| @@ -298,6 +300,47 @@ class UnitTest(unittest.TestCase):
|
| self.assertIn('/fake_src/out/Default/base_unittests.isolated.gen.json',
|
| mbw.files)
|
|
|
| + def test_gn_isolate(self):
|
| + files = {
|
| + '/fake_src/testing/buildbot/gn_isolate_map.pyl': (
|
| + "{'base_unittests': {"
|
| + " 'label': '//base:base_unittests',"
|
| + " 'type': 'raw',"
|
| + " 'args': [],"
|
| + "}}\n"
|
| + ),
|
| + '/fake_src/out/Default/base_unittests.runtime_deps': (
|
| + "base_unittests\n"
|
| + ),
|
| + }
|
| + self.check(['isolate', '-c', 'gn_debug', '//out/Default', 'base_unittests'],
|
| + files=files, ret=0)
|
| +
|
| + # test running isolate on an existing build_dir
|
| + files['/fake_src/out/Default/args.gn'] = 'is_debug = True\n'
|
| + self.check(['isolate', '//out/Default', 'base_unittests'],
|
| + files=files, ret=0)
|
| +
|
| + files['/fake_src/out/Default/mb_type'] = 'gn\n'
|
| + self.check(['isolate', '//out/Default', 'base_unittests'],
|
| + files=files, ret=0)
|
| +
|
| + def test_gn_run(self):
|
| + files = {
|
| + '/fake_src/testing/buildbot/gn_isolate_map.pyl': (
|
| + "{'base_unittests': {"
|
| + " 'label': '//base:base_unittests',"
|
| + " 'type': 'raw',"
|
| + " 'args': [],"
|
| + "}}\n"
|
| + ),
|
| + '/fake_src/out/Default/base_unittests.runtime_deps': (
|
| + "base_unittests\n"
|
| + ),
|
| + }
|
| + self.check(['run', '-c', 'gn_debug', '//out/Default', 'base_unittests'],
|
| + files=files, ret=0)
|
| +
|
| def test_gn_lookup(self):
|
| self.check(['lookup', '-c', 'gn_debug'], ret=0)
|
|
|
| @@ -332,7 +375,7 @@ class UnitTest(unittest.TestCase):
|
|
|
| def test_gyp_gen_fails(self):
|
| mbw = self.fake_mbw()
|
| - mbw.Call = lambda cmd, env=None: (1, '', '')
|
| + mbw.Call = lambda cmd, env=None, buffer_output=True: (1, '', '')
|
| self.check(['gen', '-c', 'gyp_rel_bot', '//out/Release'], mbw=mbw, ret=1)
|
|
|
| def test_gyp_lookup_goma_dir_expansion(self):
|
|
|