Yep, the problem is the PROTOCOL variable is sticky and therefore isn't being set to the default.
I just pushed a fix to add the default PROTOCOL variable to all build_opt files. That should fix the regression tester, but it would be nice to always set the PROTOCOL variable to the default unless explicitly specified at the command line. Brad -----Original Message----- From: m5-dev-boun...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] On Behalf Of Steve Reinhardt Sent: Sunday, January 31, 2010 4:40 PM To: M5 Developer List Subject: Re: [m5-dev] Cron <m5t...@zizzer> /z/m5/regression/do-regression--scratch all OK, I believe it's a problem Brad was already worried about... see this: diff -r a162a2b0b1f8 -r 5bd33f7c26ea tests/SConscript --- a/tests/SConscript Fri Jan 29 20:29:34 2010 -0800 +++ b/tests/SConscript Fri Jan 29 20:29:40 2010 -0800 @@ -264,11 +264,23 @@ else: configs += ['simple-atomic', 'simple-timing', 'o3-timing', 'memtest', 'simple-atomic-mp', 'simple-timing-mp', 'o3-timing-mp', - 'inorder-timing'] + 'inorder-timing', 'rubytest'] if env['RUBY']: - # Hack for Ruby - configs += [c + '-ruby' for c in configs] + # With Ruby, A protocol must be specified in the environment + assert(env['PROTOCOL']) + + # + # Is there a way to determine what is Protocol EnumVariable + # default and eliminate the need to hard code the default protocol below? + # + # If the binary includes the default ruby protocol, run both ruby and + # non-ruby versions of the tests. Otherwise just run the ruby versions. + # + if env['PROTOCOL'] == 'MI_example': + configs += [c + "-ruby" for c in configs] + else: + configs = [c + "-ruby-" + env['PROTOCOL'] for c in configs] cwd = os.getcwd() os.chdir(str(Dir('.').srcdir)) and then compare with this change, which is from Derek's merge changeset: diff -r 289ac904233d -r 3d308cbd1657 src/mem/protocol/SConsopts --- a/src/mem/protocol/SConsopts Wed Nov 18 18:00:41 2009 -0800 +++ b/src/mem/protocol/SConsopts Tue Jan 19 15:48:12 2010 -0600 @@ -50,7 +50,7 @@ 'MOESI_hammer', ] -opt = EnumVariable('PROTOCOL', 'Coherence Protocol for Ruby', 'MI_example', +opt = EnumVariable('PROTOCOL', 'Coherence Protocol for Ruby', 'MOESI_CMP_directory', all_protocols) ... so that mismatch is causing all the builds that use the default Ruby protocol to not find any applicable configurations since tests/SConscript is looking for a different default protocol. I think the best way to fix this is to forget trying to have the test configs track the 'default' Ruby protocol, but instead to always have the protocol explicit in the config name. This will require moving the existing *-ruby reference outputs, but it's more stable in the long run. Brad and I can probably discuss this tomorrow and make it happen. Steve 2010/1/31 Steve Reinhardt <ste...@gmail.com>: > I'm looking at it now... I'm not sure exactly what the error is, but it looks > like it's running *only* the ruby tests now, and acting like the non-ruby > tests don't exist. > > Steve > > On Sun, Jan 31, 2010 at 11:24 AM, Beckmann, Brad <brad.beckm...@amd.com> > wrote: >> I agree, I don't think it is working correctly. I don't have access to >> the Michigan server and I can't reproduce the error. Could someone send >> out the do-regression script? >> >> Thanks, >> >> Brad _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev