blob: c84607f1991c115f20f57a2017a0f63052ccdcfc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/usr/bin/env python3
import argparse
import pathlib
import sys
def main(argv):
parser = argparse.ArgumentParser(
prog='consolidate-benchmarks',
description='Consolidate benchmark result files (in LNT format) into a single LNT-format file.')
parser.add_argument('files_or_directories', type=str, nargs='+',
help='Path to files or directories containing LNT data to consolidate. Directories are searched '
'recursively for files with a .lnt extension.')
parser.add_argument('--output', '-o', type=argparse.FileType('w'), default=sys.stdout,
help='Where to output the result. Default to stdout.')
args = parser.parse_args(argv)
files = []
for arg in args.files_or_directories:
path = pathlib.Path(arg)
if path.is_dir():
for p in path.rglob('*.lnt'):
files.append(p)
else:
files.append(path)
for file in files:
for line in file.open().readlines():
line = line.strip()
if not line:
continue
args.output.write(line)
args.output.write('\n')
if __name__ == '__main__':
main(sys.argv[1:])
|