Как вызвать clang-формат из скрипта Python - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть инструмент Python, который генерирует файлы C ++.

Чтобы протестировать инструмент, у меня есть один тест, который сравнивает сгенерированный файл с ожидаемым выходным файлом.

diff = difflib.unified_diff(expectedFile.readlines(), file.readlines(), expectedFilename, filename)

Проблема в том, что я получаю некоторые различия из-заformat.

Я могу запустить clang-format для ожидаемого выходного файла.То, что я все еще пытаюсь сделать, это запустить clang-формат для сгенерированных файлов, непосредственно перед вызовом difflib.unified_diff.

Может кто-нибудь помочь мне с тем, как я могу запустить clang-формат в Python для файла?

Большое спасибо!

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете использовать команду call, предоставленную Python, для вызова внешней команды.Например, вы можете написать скрипт вроде:

#!/usr/bin/python
import sys
from subprocess import call
lc = ["clang-format","test.c"] # replace 'test.c' with the your filename.
retcode=call(lc)
sys.exit(retcode);
...