blob: 831dfab277618e8e7e7ddbe92914690a2e1ae744 [file] [log] [blame]
import argparse
import json
from lib.parse_usage import parse_usage
def main():
parser = argparse.ArgumentParser(
description="Converts VPR pack.log into usage numbers."
)
parser.add_argument('pack_log')
parser.add_argument(
'--assert_usage',
help='Comma seperate block name list with expected usage stats.'
)
parser.add_argument(
'--no_print_usage',
action='store_false',
dest='print_usage',
help='Disables printing of output.'
)
args = parser.parse_args()
usage = {}
for block, count in parse_usage(args.pack_log):
usage[block] = count
if args.print_usage:
print(json.dumps(usage, indent=2))
if args.assert_usage:
blocks = dict(b.split('=') for b in args.assert_usage.split(','))
for block in usage:
if block in blocks:
assert usage[block] == int(
blocks[block]
), 'Expect usage of block {} = {}, found {}'.format(
block, int(blocks[block]), usage[block]
)
else:
assert usage[
block
] == 0, 'Expect usage of block {} = 0, found {}'.format(
block, usage[block]
)
if __name__ == "__main__":
main()