From: Greg Parker Date: Fri, 2 Sep 2016 02:44:07 +0000 (+0000) Subject: [lit] Fail testing if a googletest executable crashes during test discovery X-Git-Tag: llvmorg-4.0.0-rc1~10803 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a9bac92890fdad806cc6b84261b2aff4f2a36e86;p=platform%2Fupstream%2Fllvm.git [lit] Fail testing if a googletest executable crashes during test discovery googletest formatted tests are discovered by running the test executable. Previously testing would silently succeed if the test executable crashed during the discovery process. Now testing fails with "error: unable to discover google-tests ..." if the test executable exits with a non-zero status. llvm-svn: 280455 --- diff --git a/llvm/utils/lit/lit/formats/googletest.py b/llvm/utils/lit/lit/formats/googletest.py index f0250a3f96dd..8796eb5af222 100644 --- a/llvm/utils/lit/lit/formats/googletest.py +++ b/llvm/utils/lit/lit/formats/googletest.py @@ -35,7 +35,8 @@ class GoogleTest(TestFormat): 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 = [] diff --git a/llvm/utils/lit/lit/util.py b/llvm/utils/lit/lit/util.py index 40a577168692..288931a10ab9 100644 --- a/llvm/utils/lit/lit/util.py +++ b/llvm/utils/lit/lit/util.py @@ -65,10 +65,13 @@ def mkdir_p(path): 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):