You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
49 lines
1.3 KiB
#!/usr/bin/env python
|
|
#
|
|
# Checks the formatting of uncrustify's own sources.
|
|
#
|
|
# * @author Matthew Woehlke June 2018
|
|
#
|
|
|
|
import argparse
|
|
import os
|
|
import sys
|
|
|
|
import test_uncrustify as tu
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
def main(argv):
|
|
parser = argparse.ArgumentParser(description='Run uncrustify source tests')
|
|
tu.add_source_tests_arguments(parser)
|
|
args = tu.parse_args(parser)
|
|
|
|
# Get required filesystem information
|
|
root = os.path.dirname(tu.test_dir)
|
|
src_dir = os.path.join(root, 'src')
|
|
config = os.path.join(root, 'forUncrustifySources.cfg')
|
|
|
|
# Create tests
|
|
tests = []
|
|
for s in os.listdir(src_dir):
|
|
if os.path.splitext(s)[1] in ('.cpp', '.h'):
|
|
t = tu.SourceTest()
|
|
filepath = os.path.join(src_dir, s)
|
|
t.build(test_input=filepath, test_lang='CPP', test_config=config,
|
|
test_expected=filepath)
|
|
tests.append(t)
|
|
|
|
counts = tu.run_tests(tests, args)
|
|
tu.report(counts)
|
|
|
|
if counts['failing'] > 0:
|
|
sys.exit(2)
|
|
if counts['mismatch'] > 0:
|
|
sys.exit(1)
|
|
|
|
|
|
# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main(sys.argv))
|