base: Add warn() and inform() to m5.utils for use from python

This patch adds two fuctions to m5.util, warn and inform, which mirror those
found in the C++ side of gem5. These are added in addition to the already
existing m5.util.panic and m5.util.fatal which already mirror the C++
functionality. This ensures that warning and information messages generated
by python are in the same format as those generated by C++.

Occurrences of
    print "Warning: %s..." % name
have been replaced with
    warn("%s...", name)
This commit is contained in:
Sascha Bischoff
2013-02-15 17:40:10 -05:00
parent e88e7d88b9
commit 2f3b322280
4 changed files with 20 additions and 9 deletions

View File

@@ -56,6 +56,17 @@ def fatal(fmt, *args):
print >>sys.stderr, 'fatal:', fmt % args
sys.exit(1)
# warn() should be called when the user should be warned about some condition
# that may or may not be the user's fault, but that they should be made aware
# of as it may affect the simulation or results.
def warn(fmt, *args):
print >>sys.stderr, 'warn:', fmt % args
# inform() should be called when the user should be informed about some
# condition that they may be interested in.
def inform(fmt, *args):
print >>sys.stdout, 'info:', fmt % args
class Singleton(type):
def __call__(cls, *args, **kwargs):
if hasattr(cls, '_instance'):

View File

@@ -57,6 +57,7 @@
import m5, os, re
from m5.SimObject import isRoot, isSimObjectVector
from m5.util import warn
try:
import pydot
except:
@@ -176,4 +177,4 @@ def do_dot(root, outdir, dotFilename):
# So avoid terminating simulation unnecessarily
callgraph.write_pdf(dot_filename + ".pdf")
except:
print "warning: failed to generate pdf output from %s" % dot_filename
warn("failed to generate pdf output from %s", dot_filename)