diff options
Diffstat (limited to 'util')
-rwxr-xr-x | util/cscope-find.py | 38 | ||||
-rwxr-xr-x | util/regress | 75 |
2 files changed, 43 insertions, 70 deletions
diff --git a/util/cscope-find.py b/util/cscope-find.py new file mode 100755 index 000000000..1775f1864 --- /dev/null +++ b/util/cscope-find.py @@ -0,0 +1,38 @@ +#! /usr/bin/python + +# Generate list of files to index with cscope. + +# From the m5 directory, run: +# util/cscope-find.py > cscope.files +# cscope -b + +import os + +# absolute paths to skip +skipdirs = [ 'src/unittest', 'src/doxygen' ] + +# suffixes of files to index +suffixes = [ '.cc', '.hh', '.c', '.h' ] + +def oksuffix(f): + for s in suffixes: + if f.endswith(s): + return True + return False + +for dirpath,subdirs,files in os.walk('src'): + # filter out undesirable subdirectories + for i,dir in enumerate(subdirs): + if dir == 'SCCS': + del subdirs[i] + break + + # filter out undesriable absolute paths + if dirpath in skipdirs: + del subdirs[:] + continue + + # find C/C++ sources + okfiles = [f for f in files if oksuffix(f)] + if okfiles: + print '\n'.join([os.path.join(dirpath, f) for f in okfiles]) diff --git a/util/regress b/util/regress index 27880d527..8e60b6fee 100755 --- a/util/regress +++ b/util/regress @@ -32,39 +32,22 @@ import os import optparse import datetime -# -# Regression invocation: -# -# regress \ -# --workdir poolfs \ -# --scons-opts 'BATCH=yes USE_MYSQL=no -j 30 -Q' \ -# --recurse - progname = os.path.basename(sys.argv[0]) optparser = optparse.OptionParser() optparser.add_option('-v', '--verbose', dest='verbose', action='store_true', default=False, help='echo commands before executing') -optparser.add_option('--scratch', dest='scratch', action='store_true', - default=False, - help='rebuld from scratch') optparser.add_option('--builds', dest='builds', default='ALPHA_SE,ALPHA_FS,MIPS_SE,SPARC_SE', - help='comma-separated list of builds to test') + help='comma-separated list of build targets to test ' + " (default: '%default')" ) optparser.add_option('--variants', dest='variants', default='opt', - help='comma-separated list of build variants to test') -optparser.add_option('--workdir', dest='workdir', - help='directory for checked-out source trees') + help='comma-separated list of build variants to test ' + " (default: '%default')" ) optparser.add_option('--scons-opts', dest='scons_opts', default='', - help='scons options') -optparser.add_option('--no-pull', dest='pull', action='store_false', - default=True, - help="don't pull changes from repository") -optparser.add_option('--recurse', dest='recurse', action='store_true', - default=False, - help='call recursively to get summary up front') + help='scons options', metavar='OPTS') (options, tests) = optparser.parse_args() @@ -73,9 +56,6 @@ optparser.add_option('--recurse', dest='recurse', action='store_true', builds = options.builds.split(',') variants = options.variants.split(',') -# Repositories to clone/update -repos = ['m5'] - # Call os.system() and raise exception if return status is non-zero def system(cmd): if options.verbose: @@ -93,56 +73,11 @@ def shellquote(s): s = "'%s'" % s return s -# The '--recurse' option invokes scons once to perform any necessary -# rebuilds/test runs with the (possibly verbose) output placed in a -# log file, then (if the buld was successful) returns scons to print a -# summary of the results. -if options.recurse: - sys.argv.remove('--recurse') # avoid infinite recursion... - timestr = datetime.datetime.now().isoformat('-')[:19] - logfile = '%s-%s' % (progname, timestr) - # quote args for shell - qargs = [shellquote(a) for a in sys.argv] - # always run the sub-job in verbose mode - qargs.append('-v') - cmd = '%s > %s 2>&1' % (' '.join(qargs), logfile) - try: - system(cmd) - except OSError, exc: - print "Error: recursive invocation failed, aborting." - print exc - print "=======================" - os.system('cat %s' % logfile) - sys.exit(1) - # recursive call succeeded... re-run to generate summary - # don't *re*-build from scratch now - options.scratch = False - # no need to re-pull since the recursive call shoudl have done that - options.pull = False - print "Recursive invocation successful, see %s for output." % logfile - try: - if options.workdir: - if options.verbose: - print 'cd', options.workdir - os.chdir(options.workdir) - - if options.scratch: - for dir in repos: - system('rm -rf %s' % dir) - system('bk clone /bk/%s' % dir) - elif options.pull: - for dir in repos: - system('cd %s; bk pull' % dir) - if not tests: print "No tests specified." sys.exit(1) - if options.verbose: - print 'cd m5' - os.chdir('m5') - if 'all' in tests: targets = ['build/%s/tests/%s' % (build, variant) for build in builds |