1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# Copyright 2014 The Chromium Authors. All rights reserved.
2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# Use of this source code is governed by a BSD-style license that can be
3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# found in the LICENSE file.
4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch"""Chromium presubmit script for src/extensions/common/permissions.
6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
7effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochSee http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochfor more details on the presubmit API built into gcl.
9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch"""
10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochimport sys
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochdef GetPreferredTrySlaves():
13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return ['linux_chromeos']
14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochdef _CreatePermissionMessageEnumChecker(input_api, output_api):
16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  original_sys_path = sys.path
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  try:
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    sys.path.append(input_api.os_path.join(
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch        input_api.PresubmitLocalPath(), '..', '..', '..', 'tools',
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch        'strict_enum_value_checker'))
22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    from strict_enum_value_checker import StrictEnumValueChecker
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  finally:
24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    sys.path = original_sys_path
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return StrictEnumValueChecker(input_api, output_api,
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      start_marker='  enum ID {', end_marker='    kEnumBoundary',
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      path='extensions/common/permissions/permission_message.h')
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochdef CheckChangeOnUpload(input_api, output_api):
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    return _CreatePermissionMessageEnumChecker(input_api, output_api).Run()
32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
33