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