| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Findit for crash (ClusterFuzz & Fracas/Chromecrash) configuration.""" | 5 """Findit for crash (ClusterFuzz & Fracas/Chromecrash) configuration.""" |
| 6 | 6 |
| 7 import re | 7 import re |
| 8 | 8 |
| 9 from google.appengine.ext import ndb | 9 from google.appengine.ext import ndb |
| 10 | 10 |
| 11 from crash.type_enums import CrashClient | 11 from crash.type_enums import CrashClient |
| 12 from model.versioned_config import VersionedConfig | 12 from model.versioned_config import VersionedConfig |
| 13 | 13 |
| 14 | 14 |
| 15 class CrashConfig(VersionedConfig): | 15 class CrashConfig(VersionedConfig): |
| 16 """Global configuration of settings for processing Chrome crashes.""" | 16 """Global configuration of settings for processing Chrome crashes.""" |
| 17 | 17 |
| 18 def __init__(self, *args, **kargs): | 18 def __init__(self, *args, **kargs): |
| 19 super(CrashConfig, self).__init__(*args, **kargs) | 19 super(CrashConfig, self).__init__(*args, **kargs) |
| 20 self.cached_component_classifier = None | 20 self.cached_component_classifier = None |
| 21 | 21 |
| 22 # Fracas-specific parameters. | 22 # An example of fracas-specific parameters: |
| 23 # { | 23 # { |
| 24 # "analysis_result_pubsub_topic": "projects/project-name/topics/name", | 24 # "analysis_result_pubsub_topic": "projects/project-name/topics/name", |
| 25 # "supported_platform_list_by_channel": { | 25 # "supported_platform_list_by_channel": { |
| 26 # "canary": ["win", "mac"], | 26 # "canary": ["win", "mac"], |
| 27 # }, | 27 # }, |
| 28 # "platform_rename": { |
| 29 # "linux": "unix" |
| 30 # }, |
| 31 # "signature_blacklist_markers": [], |
| 28 # } | 32 # } |
| 29 fracas = ndb.JsonProperty(indexed=False, default={}) | 33 fracas = ndb.JsonProperty(indexed=False, default={}) |
| 30 | 34 |
| 35 # An example of cracas-specific parameters: |
| 36 # { |
| 37 # "analysis_result_pubsub_topic": "projects/project-name/topics/name", |
| 38 # "supported_platform_list_by_channel": { |
| 39 # "canary": ["win", "mac"], |
| 40 # }, |
| 41 # "platform_rename": { |
| 42 # "linux": "unix" |
| 43 # }, |
| 44 # "signature_blacklist_markers": [], |
| 45 # } |
| 46 cracas = ndb.JsonProperty(indexed=False, default={}) |
| 47 |
| 31 ################## Settings shared by Fracas/Clusterfuzz. ################## | 48 ################## Settings shared by Fracas/Clusterfuzz. ################## |
| 32 # Project classifier settings: | 49 # An example of project classifier settings: |
| 33 # { | 50 # { |
| 34 # "host_directories": [ | 51 # "host_directories": [ |
| 35 # "src/chrome/browser/resources/", | 52 # "src/chrome/browser/resources/", |
| 36 # "src/chrome/test/data/layout_tests/", | 53 # "src/chrome/test/data/layout_tests/", |
| 37 # "src/media/", | 54 # "src/media/", |
| 38 # "src/sdch/", | 55 # "src/sdch/", |
| 39 # "src/testing/", | 56 # "src/testing/", |
| 40 # "src/third_party/WebKit/", | 57 # "src/third_party/WebKit/", |
| 41 # "src/third_party/", | 58 # "src/third_party/", |
| 42 # "src/tools/", | 59 # "src/tools/", |
| (...skipping 21 matching lines...) Expand all Loading... |
| 64 # "non_chromium_project_rank_priority" = { | 81 # "non_chromium_project_rank_priority" = { |
| 65 # "clank": -1, | 82 # "clank": -1, |
| 66 # "android_os": -2, | 83 # "android_os": -2, |
| 67 # "android_os_java": -2, | 84 # "android_os_java": -2, |
| 68 # "src_internal": -3, | 85 # "src_internal": -3, |
| 69 # "others": -4, | 86 # "others": -4, |
| 70 # } | 87 # } |
| 71 # } | 88 # } |
| 72 project_classifier = ndb.JsonProperty(indexed=False, default={}) | 89 project_classifier = ndb.JsonProperty(indexed=False, default={}) |
| 73 | 90 |
| 74 # Component classifier settings: | 91 # An example of component classifier settings: |
| 75 # { | 92 # { |
| 76 # # Number of frames on top to consider when deciding the crashed | 93 # # Number of frames on top to consider when deciding the crashed |
| 77 # #component. | 94 # #component. |
| 78 # "top_n": 4, | 95 # "top_n": 4, |
| 79 # "path_function_component": [ | 96 # "path_function_component": [ |
| 80 # [r"src/third_party/WebKit/Source/core/layout", , "Blink>Layout"], | 97 # [r"src/third_party/WebKit/Source/core/layout", , "Blink>Layout"], |
| 81 # ... | 98 # ... |
| 82 # ] | 99 # ] |
| 83 # } | 100 # } |
| 84 component_classifier = ndb.JsonProperty(indexed=False, default={}, | 101 component_classifier = ndb.JsonProperty(indexed=False, default={}, |
| (...skipping 26 matching lines...) Expand all Loading... |
| 111 if client_id == CrashClient.FRACAS: | 128 if client_id == CrashClient.FRACAS: |
| 112 return self.fracas | 129 return self.fracas |
| 113 elif client_id == CrashClient.CRACAS: # pragma: no cover. | 130 elif client_id == CrashClient.CRACAS: # pragma: no cover. |
| 114 # TODO(katesonia): Add crash config of cracas. | 131 # TODO(katesonia): Add crash config of cracas. |
| 115 return None | 132 return None |
| 116 elif client_id == CrashClient.CLUSTERFUZZ: # pragma: no cover. | 133 elif client_id == CrashClient.CLUSTERFUZZ: # pragma: no cover. |
| 117 # TODO(katesonia): Add crash config of clusterfuzz. | 134 # TODO(katesonia): Add crash config of clusterfuzz. |
| 118 return None | 135 return None |
| 119 | 136 |
| 120 return None | 137 return None |
| OLD | NEW |