Detect analyzers not just in /bin for monolithic rule#233
Conversation
|
Whoa. I just verified that all this time while using micromamba, we never actually used pretty much anything from the $ cat $(find -L bazel-bin -type f -name "metadata.json") | jq | grep "analyzer_statistics" -A8
"analyzer_statistics": {
"failed": 0,
"failed_sources": [],
"successful": 1,
"successful_sources": [
"/path/to/rules_codechecker/test/unit/config/zero_div.cc"
],
"version": "18.1.3"
}So this is far more severe than a simple error. |
844aa16 to
bc5b514
Compare
bc5b514 to
841b252
Compare
Co-authored-by: Kristóf Umann <dkszelethus@gmail.com>
nettle
left a comment
There was a problem hiding this comment.
This is definitely not a fix.
And I'm not convinced that we should merge this workaround.
I suggest to look at line: "{codechecker_bin}": CODECHECKER_BIN_PATH,
I guess there is how the problem should be fixed or at least worked around.
d8f021e to
5be6409
Compare
5be6409 to
6c79405
Compare
Szelethus
left a comment
There was a problem hiding this comment.
Cheers @nettle for the input, this ended up looking much more ideal of a workaround.
I tested it out, analyzer version is correctly showing what micromamba set up!
bazel clean --expunge
source .ci/micromamba/init.sh
bazel test ...
cat $(find -L bazel-bin -type f -name "metadata.json") | jq | grep "\"version\""
Why:
When running our tests, e.g. with micromamba, analyzers are not getting found due to PATH not being passed to the monolithic rule.
This went unnoticed so far, since
/binwas being added to the path in the Python script.What:
codechecker_script.pyAddresses:
Fixes: #234