summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authoriannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-15 02:53:03 +0000
committeriannucci@chromium.org <iannucci@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-15 02:53:03 +0000
commitc45227bdb84d17f7e9bfa325bd3ab27f253249bf (patch)
tree5927ee8f15920c9399dc62723c528578a951b903 /build
parent3b821c6b842d80cad47557d8758e65fc0a43e2ad (diff)
downloadchromium_src-c45227bdb84d17f7e9bfa325bd3ab27f253249bf.zip
chromium_src-c45227bdb84d17f7e9bfa325bd3ab27f253249bf.tar.gz
chromium_src-c45227bdb84d17f7e9bfa325bd3ab27f253249bf.tar.bz2
Only show landmines output if the environment says so.
R=maruel@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11369238 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167834 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rwxr-xr-xbuild/landmines.py81
1 files changed, 49 insertions, 32 deletions
diff --git a/build/landmines.py b/build/landmines.py
index 321c596..5ed69ca 100755
--- a/build/landmines.py
+++ b/build/landmines.py
@@ -20,6 +20,8 @@ build is clobbered.
import difflib
import functools
import gyp_helper
+import logging
+import optparse
import os
import shlex
import sys
@@ -36,7 +38,8 @@ def memoize(default=None):
if not val:
ret = func()
val.append(ret if ret is not None else default)
- print '%s -> %r' % (func.__name__, val[0])
+ if logging.getLogger().isEnabledFor(logging.INFO):
+ print '%s -> %r' % (func.__name__, val[0])
return val[0]
return inner
return memoizer
@@ -167,44 +170,58 @@ def get_target_build_dir(build_tool, target, is_iphone=False):
return os.path.abspath(ret)
-def main(argv):
- if len(argv) > 1:
- print('Unknown arguments %s' % argv[1:])
- return 1
+def set_up_landmines(target):
+ """Does the work of setting, planting, and triggering landmines."""
+ out_dir = get_target_build_dir(builder(), target, platform() == 'ios')
- gyp_helper.apply_chromium_gyp_env()
+ landmines_path = os.path.join(out_dir, '.landmines')
+ if not os.path.exists(out_dir):
+ os.makedirs(out_dir)
- for target in ('Debug', 'Release'):
- out_dir = get_target_build_dir(builder(), target,
- platform() == 'ios')
+ new_landmines = get_landmines(target)
- landmines_path = os.path.join(out_dir, '.landmines')
- if not os.path.exists(out_dir):
- os.makedirs(out_dir)
+ if not os.path.exists(landmines_path):
+ with open(landmines_path, 'w') as f:
+ f.writelines(new_landmines)
+ else:
+ triggered = os.path.join(out_dir, '.landmines_triggered')
+ with open(landmines_path, 'r') as f:
+ old_landmines = f.readlines()
+ if old_landmines != new_landmines:
+ old_date = time.ctime(os.stat(landmines_path).st_ctime)
+ diff = difflib.unified_diff(old_landmines, new_landmines,
+ fromfile='old_landmines', tofile='new_landmines',
+ fromfiledate=old_date, tofiledate=time.ctime(), n=0)
+
+ with open(triggered, 'w') as f:
+ f.writelines(diff)
+ elif os.path.exists(triggered):
+ # Remove false triggered landmines.
+ os.remove(triggered)
+
+
+def main():
+ parser = optparse.OptionParser()
+ parser.add_option('-v', '--verbose', action='store_true',
+ default=('LANDMINES_VERBOSE' in os.environ),
+ help=('Emit some extra debugging information (default off). This option '
+ 'is also enabled by the presence of a LANDMINES_VERBOSE environment '
+ 'variable.'))
+ options, args = parser.parse_args()
+
+ if args:
+ parser.error('Unknown arguments %s' % args)
+
+ logging.basicConfig(
+ level=logging.DEBUG if options.verbose else logging.ERROR)
- new_landmines = get_landmines(target)
+ gyp_helper.apply_chromium_gyp_env()
- if not os.path.exists(landmines_path):
- with open(landmines_path, 'w') as f:
- f.writelines(new_landmines)
- else:
- triggered = os.path.join(out_dir, '.landmines_triggered')
- with open(landmines_path, 'r') as f:
- old_landmines = f.readlines()
- if old_landmines != new_landmines:
- old_date = time.ctime(os.stat(landmines_path).st_ctime)
- diff = difflib.unified_diff(old_landmines, new_landmines,
- fromfile='old_landmines', tofile='new_landmines',
- fromfiledate=old_date, tofiledate=time.ctime(), n=0)
-
- with open(triggered, 'w') as f:
- f.writelines(diff)
- elif os.path.exists(triggered):
- # Remove false triggered landmines.
- os.remove(triggered)
+ for target in ('Debug', 'Release'):
+ set_up_landmines(target)
return 0
if __name__ == '__main__':
- sys.exit(main(sys.argv))
+ sys.exit(main())