[PATCH] D126196: [analyzer] SATest: Ensure Docker image can be built

Marco Antognini via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 24 02:44:27 PDT 2022


mantognini added a comment.

In D126196#3533678 <https://reviews.llvm.org/D126196#3533678>, @steakhal wrote:

> LGTM;
> So you have used this tool. Could you add some notes somewhere on how to get this to work?
> What is the workflow?
> Is it documented anywhere?
>
> I know that's an unrelated topic, but I might consider using/integrating this stuff into our workflow.

Thanks for the review.

It's kind of underdocumented at the moment. Happy to share here the commands I've run. I'm not planning to update a README file at this point as I believe `--help` messages from various scripts should be clarified too to avoid conflicting/confusing information. Unfortunately, I don't have the bandwidth at the moment to do that properly.

Essentially, I've run this to 1) build the docker image, 2) create some docker volume for persistent storage, and 3) open a shell in a docker container.

  python3 ./clang/utils/analyzer/SATest.py docker --build-image
  docker volume create --name satest-build
  docker volume create --name satest-install
  python3 ./clang/utils/analyzer/SATest.py docker \
    --build-dir satest-build --clang-dir satest-install --llvm-project-dir $(pwd) \
    --shell

Then, in that container, I've run essentially this to generate the reference data (mind the final `-r`):

  python /entrypoint.py --build-llvm-only
  cd /projects
  python /scripts/SATest.py build [--projects cxxopts,...] [-j 10] -v -r

Then, to test some changes, I check out the relevant patch and re-run the above without `-r` to build and compare the results.

(I guess it should be possible to do all this without manually running commands in the container shell, but I haven't figured out how.)

I hope this helps.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126196/new/

https://reviews.llvm.org/D126196



More information about the cfe-commits mailing list