Commit 08d2ab13 authored by dpranke's avatar dpranke Committed by Commit bot

Fix error code propagation in 'mb gen'.

If the underlying call to 'gn gen' (or gyp_chromium) failed,
mb was swallowing the error.

R=brettw@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1078913003

Cr-Commit-Position: refs/heads/master@{#326892}
parent b2029985
......@@ -122,12 +122,11 @@ class MetaBuildWrapper(object):
def CmdGen(self):
vals = self.GetConfig()
if vals['type'] == 'gn':
self.RunGNGen(self.args.path[0], vals)
elif vals['type'] == 'gyp':
self.RunGYPGen(self.args.path[0], vals)
else:
raise MBErr('Unknown meta-build type "%s"' % vals['type'])
return 0
return self.RunGNGen(self.args.path[0], vals)
if vals['type'] == 'gyp':
return self.RunGYPGen(self.args.path[0], vals)
raise MBErr('Unknown meta-build type "%s"' % vals['type'])
def CmdLookup(self):
vals = self.GetConfig()
......
......@@ -100,12 +100,12 @@ TEST_CONFIG = """\
class UnitTest(unittest.TestCase):
def fake_mbw(self, files):
def fake_mbw(self, files=None):
mbw = FakeMBW()
mbw.files.setdefault(mbw.default_config, TEST_CONFIG)
if files:
for path, contents in files.items():
mbw.files[path] = contents
mbw.files.setdefault(mbw.default_config, TEST_CONFIG)
return mbw
def check(self, args, mbw=None, files=None, out=None, err=None, ret=None):
......@@ -180,6 +180,12 @@ class UnitTest(unittest.TestCase):
self.check(['gen', '-c', 'gn_debug', '//out/Default'], ret=0)
self.check(['gen', '-c', 'gyp_rel_bot', '//out/Release'], ret=0)
def test_gen_fails(self):
mbw = self.fake_mbw()
mbw.Call = lambda cmd: (1, '', '')
self.check(['gen', '-c', 'gn_debug', '//out/Default'], mbw=mbw, ret=1)
self.check(['gen', '-c', 'gyp_rel_bot', '//out/Release'], mbw=mbw, ret=1)
def test_goma_dir_expansion(self):
self.check(['lookup', '-c', 'gyp_rel_bot', '-g', '/foo'], ret=0,
out=("python build/gyp_chromium -G 'output_dir=<path>' "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment