]> granicus.if.org Git - clang/commit
[analyzer] Update SATestBuild.py to enable a 'download and patch' model for projects.
authorDevin Coughlin <dcoughlin@apple.com>
Sat, 7 Nov 2015 18:27:35 +0000 (18:27 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Sat, 7 Nov 2015 18:27:35 +0000 (18:27 +0000)
commit68170291648f0112957a8b3d6912a1a1fed81965
treedb7ce23bf77175b5a5d963a5cdd552243ec7051b
parent2c25ff02162e791fbf7718d201d74beb6bb3e9a2
[analyzer] Update SATestBuild.py to enable a 'download and patch' model for projects.

Currently the SATestBuild.py and SATestAdd.py buildbot scripts expect project
sources to be checked into the project repository. This commit changes these
scripts to additionally support a model where project sources are downloaded
rather than checked into the repository. Sometimes projects may need to be
modified (for example, to support a newer versions of clang), so the updated scripts
also allow for an optional patch file that will be applied to the downloaded
project source before analysis.

To support this workflow, this commit changes the expected layout of
a project in the repository. The project-specific helper scripts will stay
in the root of each project directory, but the benchmark source itself (if
checked into the repo) should now be stored in a subdirectory named
'CachedSource':

  project_name/
    cleanup_run_static_analyzer.sh [optional]
    run_static_analyzer.cmd [required]
    download_project.sh [optional]
    CachedSource/ [optional]
    changes_for_analyzer.patch [optional]

If the 'CachedSource' source directory is not present, the download script will
be executed. This script should download the project source into 'CachedSource'.
Then, if 'changes_for_analyzer.patch' is present its changes will
be applied to a copy of 'CachedSource' before analysis.

Differential Revision: http://reviews.llvm.org/D14345

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252410 91177308-0d34-0410-b5e6-96231b3b80d8
utils/analyzer/SATestAdd.py
utils/analyzer/SATestBuild.py