DavidSpickett created this revision. DavidSpickett requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Previously if we couldn't run the clang-format command for some reason, you'd get an unhelpful error message: OSError: [Errno 2] No such file or directory Which doesn't tell you what was happening to cause this. Catch the error and add the command we were attempting to run: RuntimeError: Failed to run "<...>/clang-food <...>" - No such file or directory" RuntimeError: Failed to run "<...>/clang-format <...>" - Permission denied" Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D98032 Files: clang/tools/clang-format/clang-format-diff.py Index: clang/tools/clang-format/clang-format-diff.py =================================================================== --- clang/tools/clang-format/clang-format-diff.py +++ clang/tools/clang-format/clang-format-diff.py @@ -103,11 +103,19 @@ command.extend(lines) if args.style: command.extend(['-style', args.style]) - p = subprocess.Popen(command, - stdout=subprocess.PIPE, - stderr=None, - stdin=subprocess.PIPE, - universal_newlines=True) + + try: + p = subprocess.Popen(command, + stdout=subprocess.PIPE, + stderr=None, + stdin=subprocess.PIPE, + universal_newlines=True) + except OSError as e: + # Give the user more context when clang-format isn't + # found/isn't executable, etc. + raise RuntimeError( + 'Failed to run "%s" - %s"' % (" ".join(command), e.strerror)) + stdout, stderr = p.communicate() if p.returncode != 0: sys.exit(p.returncode)
Index: clang/tools/clang-format/clang-format-diff.py =================================================================== --- clang/tools/clang-format/clang-format-diff.py +++ clang/tools/clang-format/clang-format-diff.py @@ -103,11 +103,19 @@ command.extend(lines) if args.style: command.extend(['-style', args.style]) - p = subprocess.Popen(command, - stdout=subprocess.PIPE, - stderr=None, - stdin=subprocess.PIPE, - universal_newlines=True) + + try: + p = subprocess.Popen(command, + stdout=subprocess.PIPE, + stderr=None, + stdin=subprocess.PIPE, + universal_newlines=True) + except OSError as e: + # Give the user more context when clang-format isn't + # found/isn't executable, etc. + raise RuntimeError( + 'Failed to run "%s" - %s"' % (" ".join(command), e.strerror)) + stdout, stderr = p.communicate() if p.returncode != 0: sys.exit(p.returncode)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits