Catch the Python exception when subprocess.Popen is failing.
authorSylvestre Ledru <sylvestre@debian.org>
Fri, 13 Apr 2012 11:22:18 +0000 (11:22 +0000)
committerSylvestre Ledru <sylvestre@debian.org>
Fri, 13 Apr 2012 11:22:18 +0000 (11:22 +0000)
For example, if llc cannot be found, the full python stacktrace is displayed
and no interesting information are provided.
+ fail the process when an exception occurs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154665 91177308-0d34-0410-b5e6-96231b3b80d8

test/lit.cfg

index c58935956a4f99f9624efaf868aaeb741e502184..d74bc7bcb58f3e4c9bf411340775b794cca26286 100644 (file)
@@ -236,8 +236,13 @@ if loadable_module:
 
 # llc knows whether he is compiled with -DNDEBUG.
 import subprocess
-llc_cmd = subprocess.Popen([os.path.join(llvm_tools_dir, 'llc'), '-version'],
+try:
+    llc_cmd = subprocess.Popen([os.path.join(llvm_tools_dir, 'llc'), '-version'],
                            stdout = subprocess.PIPE)
+except OSError, why:
+    print "Could not find llc in " + llvm_tools_dir
+    exit(42)
+
 if re.search(r'with assertions', llc_cmd.stdout.read()):
     config.available_features.add('asserts')
 llc_cmd.wait()