[llvm] r280550 - lit: print process output, if getting the list of google-tests failed.
Ivan Krasin via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 2 15:31:24 PDT 2016
Author: krasin
Date: Fri Sep 2 17:31:24 2016
New Revision: 280550
URL: http://llvm.org/viewvc/llvm-project?rev=280550&view=rev
Log:
lit: print process output, if getting the list of google-tests failed.
Summary:
This is a follow up to r280455, where a check for the process exit code
was introduced. Some ASAN bots throw this error now, but it's impossible
to understand what's wrong with them, and the issue is not reproducible.
Reviewers: vitalybuka
Differential Revision: https://reviews.llvm.org/D24210
Modified:
llvm/trunk/utils/lit/lit/formats/googletest.py
llvm/trunk/utils/lit/lit/util.py
Modified: llvm/trunk/utils/lit/lit/formats/googletest.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/formats/googletest.py?rev=280550&r1=280549&r2=280550&view=diff
==============================================================================
--- llvm/trunk/utils/lit/lit/formats/googletest.py (original)
+++ llvm/trunk/utils/lit/lit/formats/googletest.py Fri Sep 2 17:31:24 2016
@@ -1,5 +1,6 @@
from __future__ import absolute_import
import os
+import subprocess
import sys
import lit.Test
@@ -34,9 +35,10 @@ class GoogleTest(TestFormat):
if kIsWindows:
lines = lines.replace('\r', '')
lines = lines.split('\n')
- except:
- litConfig.error("unable to discover google-tests in %r: %s"
- % (path, sys.exc_info()[1]))
+ except Exception as exc:
+ out = exc.output if isinstance(exc, subprocess.CalledProcessError) else ''
+ litConfig.error("unable to discover google-tests in %r: %s. Process output: %s"
+ % (path, sys.exc_info()[1], out))
raise StopIteration
nested_tests = []
@@ -136,4 +138,3 @@ class GoogleTest(TestFormat):
return lit.Test.UNRESOLVED, msg
return lit.Test.PASS,''
-
Modified: llvm/trunk/utils/lit/lit/util.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/util.py?rev=280550&r1=280549&r2=280550&view=diff
==============================================================================
--- llvm/trunk/utils/lit/lit/util.py (original)
+++ llvm/trunk/utils/lit/lit/util.py Fri Sep 2 17:31:24 2016
@@ -69,9 +69,13 @@ def capture(args, env=None):
exits with a non-zero status."""
p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
env=env)
- out,_ = p.communicate()
+ out, err = p.communicate()
+ out = convert_string(out)
+ err = convert_string(err)
if p.returncode != 0:
- raise subprocess.CalledProcessError(cmd=args, returncode=p.returncode)
+ raise subprocess.CalledProcessError(cmd=args,
+ returncode=p.returncode,
+ output="{}\n{}".format(out, err))
return convert_string(out)
def which(command, paths = None):
More information about the llvm-commits
mailing list