diff -r af870035ab6b -r ea05ed669fb3 util/style.py --- a/util/style.py Sun Mar 13 17:47:33 2016 -0700 +++ b/util/style.py Wed Mar 16 11:36:40 2016 +0000 @@ -53,7 +53,7 @@ current_dir = dirname(__file__) sys.path.insert(0, current_dir) -sys.path.insert(1, joinpath(dirname(current_dir), 'src', 'python')) +sys.path.insert(1, joinpath(dirname(current_dir), '..', 'src', 'python')) from m5.util import neg_inf, pos_inf, Region, Regions import sort_includes @@ -729,56 +729,23 @@ } if __name__ == '__main__': - import getopt + import argparse - progname = sys.argv[0] - if len(sys.argv) < 2: - sys.exit('usage: %s []' % progname) + parser = argparse.ArgumentParser( + description="Check a file for style violations") - fixwhite_usage = '%s fixwhite [-t ] [...] \n' % progname - chkformat_usage = '%s chkformat [...] \n' % progname - chkwhite_usage = '%s chkwhite [...] \n' % progname + parser.add_argument("--verbose", "-v", action="count", + help="Produce verbose output") - command = sys.argv[1] - if command == 'fixwhite': - flags = 't:' - usage = fixwhite_usage - elif command == 'chkwhite': - flags = 'nv' - usage = chkwhite_usage - elif command == 'chkformat': - flags = 'nv' - usage = chkformat_usage - else: - sys.exit(fixwhite_usage + chkwhite_usage + chkformat_usage) + parser.add_argument("file", metavar="FILE", nargs="+", + type=str, + help="Source file to inspect") - opts, args = getopt.getopt(sys.argv[2:], flags) + args = parser.parse_args() - code = 1 - verbose = 1 - for opt,arg in opts: - if opt == '-n': - code = None - if opt == '-t': - tabsize = int(arg) - if opt == '-v': - verbose += 1 + stats = ValidationStats() + for filename in args.file: + validate(filename, stats=stats, verbose=args.verbose, exit_code=1) - if command == 'fixwhite': - for filename in args: - fixwhite(filename, tabsize) - elif command == 'chkwhite': - for filename in args: - for line,num in checkwhite(filename): - print 'invalid whitespace: %s:%d' % (filename, num) - if verbose: - print '>>%s<<' % line[:-1] - elif command == 'chkformat': - stats = ValidationStats() - for filename in args: - validate(filename, stats=stats, verbose=verbose, exit_code=code) - - if verbose > 0: + if args.verbose > 0: stats.dump() - else: - sys.exit("command '%s' not found" % command)