mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-08 17:08:28 -04:00
65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
"""
|
||
|
Runs astyle over directory sub-trees known to be "astyle-clean"
|
||
|
|
||
|
AP_FLAKE8_CLEAN
|
||
|
"""
|
||
|
|
||
|
import os
|
||
|
import pathlib
|
||
|
import subprocess
|
||
|
import sys
|
||
|
|
||
|
import argparse
|
||
|
|
||
|
os.environ['PYTHONUNBUFFERED'] = '1'
|
||
|
|
||
|
|
||
|
class AStyleChecker(object):
|
||
|
def __init__(self):
|
||
|
self.retcode = 0
|
||
|
self.directories_to_check = [
|
||
|
'libraries/AP_DDS',
|
||
|
]
|
||
|
self.files_to_check = []
|
||
|
|
||
|
def progress(self, string):
|
||
|
print("****** %s" % (string,))
|
||
|
|
||
|
def check(self):
|
||
|
'''run astyle on all files in self.files_to_check'''
|
||
|
# for path in self.files_to_check:
|
||
|
# self.progress("Checking (%s)" % path)
|
||
|
astyle_command = ["astyle", "--dry-run"]
|
||
|
astyle_command.extend(self.files_to_check)
|
||
|
ret = subprocess.run(
|
||
|
astyle_command,
|
||
|
stdout=subprocess.PIPE,
|
||
|
stderr=subprocess.STDOUT,
|
||
|
text=True
|
||
|
)
|
||
|
if ret.returncode != 0:
|
||
|
self.progress("astyle check failed: (%s)" % (ret.stdout))
|
||
|
self.retcode = 1
|
||
|
if "Formatted" in ret.stdout:
|
||
|
self.progress("Files needing formatting found")
|
||
|
print(ret.stdout)
|
||
|
self.retcode = 1
|
||
|
|
||
|
def run(self):
|
||
|
for d in self.directories_to_check:
|
||
|
self.files_to_check.extend(list(pathlib.Path(d).glob("*")))
|
||
|
self.files_to_check = list(filter(lambda x : x.suffix in [".c", ".h", ".cpp"], self.files_to_check))
|
||
|
self.check()
|
||
|
return self.retcode
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
parser = argparse.ArgumentParser(description='Check all Python files for astyle cleanliness')
|
||
|
# parser.add_argument('--build', action='store_true', default=False, help='build as well as configure')
|
||
|
args = parser.parse_args()
|
||
|
|
||
|
checker = AStyleChecker()
|
||
|
sys.exit(checker.run())
|