tracediff (1372:61ab4c4fe309) | tracediff (1442:345618f20558) |
---|---|
1#! /usr/bin/env perl 2# Copyright (c) 2003-2005 The Regents of The University of Michigan 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 37 unchanged lines hidden (view full) --- 46# First two args are the two simulator binaries to compare 47$sim1 = shift; 48$sim2 = shift; 49 50# Everything else on the command line is taken to be an m5 argument to 51# be given to both invocations 52$simargs = '"' . join('" "', @ARGV) . '"'; 53 | 1#! /usr/bin/env perl 2# Copyright (c) 2003-2005 The Regents of The University of Michigan 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 37 unchanged lines hidden (view full) --- 46# First two args are the two simulator binaries to compare 47$sim1 = shift; 48$sim2 = shift; 49 50# Everything else on the command line is taken to be an m5 argument to 51# be given to both invocations 52$simargs = '"' . join('" "', @ARGV) . '"'; 53 |
54# Redirect config output to cout so that gets diffed too (in case 55# that's the source of the problem). 56$simargs .= " --root:config_output_file=cout"; | 54# Run individual invocations in separate dirs so output and intermediate 55# files (particularly config.py and config.ini) don't conflict. 56$dir1 = "tracediff-$$-1"; 57$dir2 = "tracediff-$$-2"; 58mkdir($dir1) or die "Can't create dir $dir1\n"; 59mkdir($dir2) or die "Can't create dir $dir2\n"; |
57 | 60 |
58$cmd1 = "$sim1 $simargs --stats:text_file=tracediff-$$-1.stats 2>&1 |"; 59$cmd2 = "$sim2 $simargs --stats:text_file=tracediff-$$-2.stats 2>&1 |"; | 61$cmd1 = "$sim1 $simargs -d $dir1 2>&1 |"; 62$cmd2 = "$sim2 $simargs -d $dir2 2>&1 |"; |
60 61# This only works if you have rundiff in your path. I just edit it 62# with an explicit path if necessary. 63$fullcmd = "rundiff '$cmd1' '$cmd2' 2>&1 > tracediff-$$.out"; 64 65print "Executing $fullcmd\n"; 66system($fullcmd); 67 68 69 | 63 64# This only works if you have rundiff in your path. I just edit it 65# with an explicit path if necessary. 66$fullcmd = "rundiff '$cmd1' '$cmd2' 2>&1 > tracediff-$$.out"; 67 68print "Executing $fullcmd\n"; 69system($fullcmd); 70 71 72 |