[PATCH] D9600: Add scan-build python implementation

Laszlo Nagy via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 9 08:07:37 PST 2015


rizsotto.mailinglist marked an inline comment as done.
rizsotto.mailinglist added a comment.

> Also, what do you think about renaming intercept-build to "log-build" or some of the other alternatives I proposed above? I think it is important for the name of the executable to communicate its purpose.


i do think differently. :) first, i think you can rename executables to whatever you like. previously i made this functionality in a tool called Bear. within 4 years got more than 100 bug reports, improvement ideas, but nobody did care about the executable name. second, i'm not a native speaker, but to me 'intercept compiler calls from build' can be shortened to 'intercept-build'. third, if i rename the executable from intercept-build, shall rename the intercept module too? and to be honest, the executable name scan-build just as bad as intercept-build. :) if i did not convinced you, give me a name and i will rename to it.


================
Comment at: tools/scan-build-py/MANIFEST.in:2
@@ +1,3 @@
+include README.md
+include *.txt
+recursive-include libear *
----------------
dcoughlin wrote:
> I see that at https://pypi.python.org/pypi/scan-build it lists clang as a prerequisite. But since scan-build-py will now be distributed as part of clang I don't understand what the point of the standalone tool is. Can you explain why this is needed?
thought to have more distribution channel is better. but if that so confusing, i've deleted it.

================
Comment at: tools/scan-build-py/libscanbuild/driver.py:67
@@ +66,3 @@
+    except Exception:
+        logging.exception("Something unexpected had happened.")
+        return 127
----------------
jroelofs wrote:
> dcoughlin wrote:
> > rizsotto.mailinglist wrote:
> > > jroelofs wrote:
> > > > rizsotto.mailinglist wrote:
> > > > > dcoughlin wrote:
> > > > > > I think this error message can be improved. Perhaps "Unexpected error running intercept-build"?
> > > > > this line is printed as:
> > > > > 
> > > > >   intercept-build: ERROR: Something unexpected had happened.
> > > > >   (and the stack-trace)
> > > > > 
> > > > > because the logging formating. so, 'intercept-build' and 'error' will be part of the message anyway.
> > > > Is there a pythonic way of doing llvm crash handlers? I.e. the "here's the steps to reproduce this, a stack trace, and a bug report url" things that clang spits out.
> > > this crash/exception is not a clang crash. it's more like this program's fault. clang crash reports are recorded already in crash report files (and linked into the html report file).
> > Maybe this should ask the user to file a bug against scan-build? Can it point to the bugzilla and tell the user what information, files, etc. they should attach to the bug report to help us reproduce the problem? Just saying "Something unexpected happened" is not as user-friendly as it could be because it does not tell the user that the problem is not their fault nor what they should do about it.
> Oh, I don't mean to handle clang crashes... I mean for handling python crashes. I meant to draw an analogy to a feature that clang has: when it crashes, it prints a stack trace, and some steps to reproduce the problem.  I was wondering if a similar thing existed in python, for when a python app crashes.
good point. added some implementation. if you don't like the text, please suggest one instead and will replace.

================
Comment at: tools/scan-build-py/libscanbuild/runner.py:22
@@ +21,3 @@
+def require(required):
+    """ Decorator for checking the required values in state.
+
----------------
the comment says exactly the value coming from the compilation database. anyway added more explanations. if you have something in mind, please write the text and will copy it.


http://reviews.llvm.org/D9600





More information about the cfe-commits mailing list