40,41c40
< add_option('-v', '--verbose', dest='verbose', action='store_true',
< default=False,
---
> add_option('-v', '--verbose', action='store_true', default=False,
43c42
< add_option('--builds', dest='builds',
---
> add_option('--builds',
55,57c54,60
< add_option('--variants', dest='variants', default='opt',
< help="comma-separated build variants to test (default: '%default')")
< add_option('--scons-opts', dest='scons_opts', default='', metavar='OPTS',
---
> add_option('--test-variants', default='opt',
> help="comma-separated build variants to test (default: '%default')"\
> ", set to '' for none")
> add_option('--compile-variants', default='debug,fast',
> help="comma-separated build variants to compile only (not test) " \
> "(default: '%default'), set to '' for none", metavar='VARIANTS')
> add_option('--scons-opts', default='', metavar='OPTS',
59,60c62,63
< add_option('-j', '--jobs', type='int', default=1,
< help='number of parallel jobs to use')
---
> add_option('-j', '--jobs', type='int', default=1, metavar='N',
> help='number of parallel jobs to use (0 to use all cores)')
63c66,68
< add_option('-D', '--build-dir', default='',
---
> add_option('--update-ref', action='store_true',
> help='update reference outputs')
> add_option('-D', '--build-dir', default='', metavar='DIR',
70a76,82
> # split a comma-separated list, but return an empty list if given the
> # empty string
> def split_if_nonempty(s):
> if not s:
> return []
> return s.split(',')
>
72,73c84,86
< builds = options.builds.split(',')
< variants = options.variants.split(',')
---
> builds = split_if_nonempty(options.builds)
> test_variants = split_if_nonempty(options.test_variants)
> compile_variants = split_if_nonempty(options.compile_variants)
94,98c107
< # Quote string s so it can be passed as a shell arg
< def shellquote(s):
< if ' ' in s:
< s = "'%s'" % s
< return s
---
> targets = []
99a109,115
> # start with compile-only targets, if any
> if compile_variants:
> targets += ['%s/%s/m5.%s' % (options.build_dir, build, variant)
> for variant in compile_variants
> for build in builds]
>
> # By default run the 'quick' tests
101,108c117,123
< print "No tests specified, just building binaries."
< targets = ['%s/%s/m5.%s' % (options.build_dir, build, variant)
< for build in builds
< for variant in variants]
< elif 'all' in tests:
< targets = ['%s/%s/tests/%s' % (options.build_dir, build, variant)
< for build in builds
< for variant in variants]
---
> tests = ['quick']
>
> # set up test targets for scons
> if 'all' in tests:
> targets += ['%s/%s/tests/%s' % (options.build_dir, build, variant)
> for build in builds
> for variant in test_variants]
110,111c125,127
< # Ugly! Since we don't have any quick SPARC_FS tests remove the SPARC_FS target
< # If we ever get a quick SPARC_FS test, this code should be removed
---
> # Ugly! Since we don't have any quick SPARC_FS tests remove the
> # SPARC_FS target If we ever get a quick SPARC_FS test, this code
> # should be removed
114,117c130,133
< targets = ['%s/%s/tests/%s/%s' % (options.build_dir, build, variant, test)
< for build in builds
< for variant in variants
< for test in tests]
---
> targets += ['%s/%s/tests/%s/%s' % (options.build_dir, build, variant, test)
> for build in builds
> for variant in test_variants
> for test in tests]
139a156,157
> if options.update_ref:
> scons_opts += ' --update-ref'