llvm-project

Форк
0
/
ci-post-commit-analyzer-run.py 
34 строки · 724.0 Байт
1
import json
2
import multiprocessing
3
import os
4
import re
5
import subprocess
6
import sys
7

8

9
def run_analyzer(data):
10
    os.chdir(data["directory"])
11
    command = (
12
        data["command"]
13
        + f" --analyze --analyzer-output html -o analyzer-results -Xclang -analyzer-config -Xclang max-nodes=75000"
14
    )
15
    print(command)
16
    subprocess.run(command, shell=True, check=True)
17

18

19
def pool_error(e):
20
    print("Error analyzing file:", e)
21

22

23
def main():
24
    db_path = sys.argv[1]
25
    database = json.load(open(db_path))
26

27
    with multiprocessing.Pool() as pool:
28
        pool.map_async(run_analyzer, [k for k in database], error_callback=pool_error)
29
        pool.close()
30
        pool.join()
31

32

33
if __name__ == "__main__":
34
    main()
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.