Index: utils/lit/lit/formats/googletest.py =================================================================== --- utils/lit/lit/formats/googletest.py +++ utils/lit/lit/formats/googletest.py @@ -35,7 +35,8 @@ lines = lines.replace('\r', '') lines = lines.split('\n') except: - litConfig.error("unable to discover google-tests in %r" % path) + litConfig.error("unable to discover google-tests in %r: %s" + % (path, sys.exc_info()[1])) raise StopIteration nested_tests = [] Index: utils/lit/lit/util.py =================================================================== --- utils/lit/lit/util.py +++ utils/lit/lit/util.py @@ -65,10 +65,13 @@ def capture(args, env=None): """capture(command) - Run the given command (or argv list) in a shell and - return the standard output.""" + return the standard output. Raises a CalledProcessError if the command + exits with a non-zero status.""" p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) out,_ = p.communicate() + if p.returncode != 0: + raise subprocess.CalledProcessError(cmd=args, returncode=p.returncode) return convert_string(out) def which(command, paths = None):