Add support for 'Clean' target, and copying binaries to perflab-bin. For now,
the copy is really a sym-link to avoid expensive copies, since we are not using perflab queues.

Change utils.py and logger.py to add generic assertion routines.

PRESUBMIT=passed
R=raymes,asharif
DELTA=118  (84 added, 1 deleted, 33 changed)
OCL=45760-p2
RCL=45774-p2
RDATE=2010/12/10 17:39:21


P4 change: 42607167
diff --git a/v14/utils/utils.py b/v14/utils/utils.py
index 74571b4..38416cc 100755
--- a/v14/utils/utils.py
+++ b/v14/utils/utils.py
@@ -20,12 +20,29 @@
   return (os.path.dirname(abs_path), os.path.basename(abs_path))
 
 
+# deprecated. Use AssertExit()
 def AssertTrue(condition, msg=""):
   if not condition:
     logger.GetLogger().LogError(msg)
     sys.exit(1)
 
 
+def AssertExit(condition, msg=""):
+  if not condition:
+    logger.GetLogger().LogError(msg)
+    sys.exit(1)
+
+
+def AssertError(condition, msg=""):
+  if not condition:
+    logger.GetLogger().LogError(msg)
+
+
+def AssertWarning(condition, msg=""):
+  if not condition:
+    logger.GetLogger().LogWarning(msg)
+
+
 def Serialize(argument):
   string = StringIO.StringIO()
   pickle.dump(argument, string)