#!/usr/bin/env python # Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. """ Copied from Chrome's src/tools/lsan/PRESUBMIT.py See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts for more details on the presubmit API built into gcl. """ import re def CheckChange(input_api, output_api): errors = [] for f in input_api.AffectedFiles(): if not f.LocalPath().endswith('suppressions.txt'): continue for line_num, line in enumerate(f.NewContents()): line = line.strip() if line.startswith('#') or not line: continue if not line.startswith('leak:'): errors.append('"%s" should be "leak:..." in %s line %d' % (line, f.LocalPath(), line_num)) if errors: return [output_api.PresubmitError('\n'.join(errors))] return [] def CheckChangeOnUpload(input_api, output_api): return CheckChange(input_api, output_api) def CheckChangeOnCommit(input_api, output_api): return CheckChange(input_api, output_api) def GetPreferredTrySlaves(): return ['linux_asan']