diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2005-09-05 16:31:27 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2005-09-05 16:31:27 -0400 |
commit | 845bdb0d8edf3c8e5f8871eba984933bfca6a743 (patch) | |
tree | f4a39ba980264772c503ad25c0298cac909f5770 /SConscript | |
parent | 9196fbfe5e2246a4f9086a8692a0569d25fd84d9 (diff) | |
download | gem5-845bdb0d8edf3c8e5f8871eba984933bfca6a743.tar.xz |
Regression tests now run under scons!
For example, 'scons ALPHA_SE/test/opt/quick' will build
ALPHA_SE/m5.opt if necessary and run all the self-identified
"quick" tests on it. Other possibilities:
- Run just test1: scons ALPHA_SE/test/opt/test1
- Run all tests: scons ALPHA_SE/test/opt
- Run all tests on debug build: scons ALPHA_SE/test/debug
- Update test1 reference outputs in m5-test:
scons update_ref=y ALPHA_SE/test/opt/test1
The proper tests will be selected based on the setting
of FULL_SYSTEM, ALPHA_TLASER, etc.
README:
Update directions to use scons-based test invocation.
SConscript:
Return list of generated build environments to SConstruct
so it can associate tests with each of them.
Set 'M5Binary' attribute on each env to record name of
generated binary to be tested.
build/SConstruct:
- Support invoking m5-test tests via scons.
- Add new non-sticky option category, for 'update_ref'.
- Move existing "sticky" option definitions out of
build_dir loop. Someday we can generate help text
from these.
- Make 'CC' and 'CXX' sticky options; use environment vars as
defaults if available.
- Make config builder more scons-y.
python/m5/__init__.py:
Make AddToPath() correctly handle relative path arguments.
Assumes that sys.path[0] has the directory where the current
Python file lives; new m5execfile() function sets this up
properly for exec'd files.
--HG--
extra : convert_revision : 48896688592e210d8e63f96c34e57474853d0e66
Diffstat (limited to 'SConscript')
-rw-r--r-- | SConscript | 49 |
1 files changed, 33 insertions, 16 deletions
diff --git a/SConscript b/SConscript index 518b8a0f3..2cbc96dda 100644 --- a/SConscript +++ b/SConscript @@ -430,25 +430,42 @@ def make_objs(sources, env): env.Append(CPPPATH='.') # Debug binary -debug = env.Copy(OBJSUFFIX='.do') -debug.Append(CCFLAGS=Split('-g -gstabs+ -O0')) -debug.Append(CPPDEFINES='DEBUG') -debug.Program(target = 'm5.debug', source = make_objs(sources, debug)) +debugEnv = env.Copy(OBJSUFFIX='.do') +debugEnv.Label = 'debug' +debugEnv.Append(CCFLAGS=Split('-g -gstabs+ -O0')) +debugEnv.Append(CPPDEFINES='DEBUG') +tlist = debugEnv.Program(target = 'm5.debug', + source = make_objs(sources, debugEnv)) +debugEnv.M5Binary = tlist[0] # Optimized binary -opt = env.Copy() -opt.Append(CCFLAGS=Split('-g -O5')) -opt.Program(target = 'm5.opt', source = make_objs(sources, opt)) +optEnv = env.Copy() +optEnv.Label = 'opt' +optEnv.Append(CCFLAGS=Split('-g -O5')) +tlist = optEnv.Program(target = 'm5.opt', + source = make_objs(sources, optEnv)) +optEnv.M5Binary = tlist[0] # "Fast" binary -fast = env.Copy(OBJSUFFIX='.fo') -fast.Append(CCFLAGS=Split('-O5')) -fast.Append(CPPDEFINES='NDEBUG') -fast.Program(target = 'm5.fast.unstripped', source = make_objs(sources, fast)) -fast.Command(target = 'm5.fast', source = 'm5.fast.unstripped', - action = 'strip $SOURCE -o $TARGET') +fastEnv = env.Copy(OBJSUFFIX='.fo') +fastEnv.Label = 'fast' +fastEnv.Append(CCFLAGS=Split('-O5')) +fastEnv.Append(CPPDEFINES='NDEBUG') +fastEnv.Program(target = 'm5.fast.unstripped', + source = make_objs(sources, fastEnv)) +tlist = fastEnv.Command(target = 'm5.fast', + source = 'm5.fast.unstripped', + action = 'strip $SOURCE -o $TARGET') +fastEnv.M5Binary = tlist[0] # Profiled binary -prof = env.Copy(OBJSUFFIX='.po') -prof.Append(CCFLAGS=Split('-O5 -g -pg'), LINKFLAGS='-pg') -prof.Program(target = 'm5.prof', source = make_objs(sources, prof)) +profEnv = env.Copy(OBJSUFFIX='.po') +profEnv.Label = 'prof' +profEnv.Append(CCFLAGS=Split('-O5 -g -pg'), LINKFLAGS='-pg') +tlist = profEnv.Program(target = 'm5.prof', + source = make_objs(sources, profEnv)) +profEnv.M5Binary = tlist[0] + +envList = [debugEnv, optEnv, fastEnv, profEnv] + +Return('envList') |