summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rwxr-xr-xutil/cscope-find.py38
-rwxr-xr-xutil/regress75
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