libv8 6.7.288.46.1 → 7.3.492.27.0beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (408) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/CHANGELOG.md +4 -0
  4. data/README.md +2 -0
  5. data/ext/libv8/builder.rb +6 -2
  6. data/lib/libv8/version.rb +1 -1
  7. data/vendor/depot_tools/.gitattributes +1 -0
  8. data/vendor/depot_tools/.gitignore +7 -0
  9. data/vendor/depot_tools/CROS_OWNERS +5 -0
  10. data/vendor/depot_tools/OWNERS +12 -1
  11. data/vendor/depot_tools/PRESUBMIT.py +16 -9
  12. data/vendor/depot_tools/README.md +9 -2
  13. data/vendor/depot_tools/autoninja +14 -6
  14. data/vendor/depot_tools/autoninja.bat +11 -1
  15. data/vendor/depot_tools/autoninja.py +40 -18
  16. data/vendor/depot_tools/bb +12 -0
  17. data/vendor/depot_tools/bb.bat +7 -0
  18. data/vendor/depot_tools/bootstrap/win/manifest.txt +1 -1
  19. data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +1 -1
  20. data/vendor/depot_tools/bootstrap/win/win_tools.py +2 -1
  21. data/vendor/depot_tools/buildbucket.py +57 -4
  22. data/vendor/depot_tools/cipd +157 -44
  23. data/vendor/depot_tools/cipd.bat +51 -14
  24. data/vendor/depot_tools/cipd.ps1 +104 -42
  25. data/vendor/depot_tools/cipd_client_version +1 -1
  26. data/vendor/depot_tools/cipd_client_version.digests +21 -0
  27. data/vendor/depot_tools/cipd_manifest.txt +19 -6
  28. data/vendor/depot_tools/cipd_manifest.versions +318 -0
  29. data/vendor/depot_tools/clang_format.py +4 -4
  30. data/vendor/depot_tools/cpplint.py +44 -199
  31. data/vendor/depot_tools/dart_format.py +2 -2
  32. data/vendor/depot_tools/detect_host_arch.py +8 -3
  33. data/vendor/depot_tools/download_from_google_storage.py +47 -39
  34. data/vendor/depot_tools/fetch.py +30 -18
  35. data/vendor/depot_tools/fetch_configs/android_internal.py +34 -0
  36. data/vendor/depot_tools/fetch_configs/chromium.py +18 -1
  37. data/vendor/depot_tools/fetch_configs/config_util.py +4 -2
  38. data/vendor/depot_tools/fetch_configs/inspector_protocol.py +40 -0
  39. data/vendor/depot_tools/fetch_configs/node-ci.py +41 -0
  40. data/vendor/depot_tools/fix_encoding.py +3 -3
  41. data/vendor/depot_tools/gclient +1 -1
  42. data/vendor/depot_tools/gclient.py +415 -198
  43. data/vendor/depot_tools/gclient_eval.py +220 -171
  44. data/vendor/depot_tools/gclient_paths.py +142 -0
  45. data/vendor/depot_tools/gclient_scm.py +200 -51
  46. data/vendor/depot_tools/gclient_utils.py +88 -191
  47. data/vendor/depot_tools/gerrit_client.py +13 -0
  48. data/vendor/depot_tools/gerrit_util.py +158 -23
  49. data/vendor/depot_tools/git-nav-upstream +1 -1
  50. data/vendor/depot_tools/git_cache.py +77 -24
  51. data/vendor/depot_tools/git_cl.py +705 -1099
  52. data/vendor/depot_tools/git_common.py +9 -6
  53. data/vendor/depot_tools/git_map_branches.py +19 -2
  54. data/vendor/depot_tools/git_nav_downstream.py +3 -4
  55. data/vendor/depot_tools/git_rebase_update.py +14 -0
  56. data/vendor/depot_tools/git_reparent_branch.py +8 -2
  57. data/vendor/depot_tools/gn.py +38 -3
  58. data/vendor/depot_tools/gsutil.py +8 -3
  59. data/vendor/depot_tools/gsutil.py.bat +15 -0
  60. data/vendor/depot_tools/gsutil.vpython +16 -0
  61. data/vendor/depot_tools/infra/config/OWNERS +0 -1
  62. data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
  63. data/vendor/depot_tools/lucicfg +12 -0
  64. data/vendor/depot_tools/lucicfg.bat +7 -0
  65. data/vendor/depot_tools/man/html/git-map-branches.html +34 -2
  66. data/vendor/depot_tools/man/html/git-new-branch.html +40 -32
  67. data/vendor/depot_tools/man/man1/git-map-branches.1 +24 -5
  68. data/vendor/depot_tools/man/man1/git-new-branch.1 +35 -27
  69. data/vendor/depot_tools/man/src/git-map-branches.demo.1.sh +1 -0
  70. data/vendor/depot_tools/man/src/git-map-branches.txt +10 -0
  71. data/vendor/depot_tools/man/src/git-new-branch.demo.1.sh +9 -4
  72. data/vendor/depot_tools/man/src/git-new-branch.txt +1 -1
  73. data/vendor/depot_tools/metrics.README.md +98 -0
  74. data/vendor/depot_tools/metrics.py +296 -0
  75. data/vendor/depot_tools/metrics_utils.py +303 -0
  76. data/vendor/depot_tools/my_activity.py +91 -29
  77. data/vendor/depot_tools/ninja +1 -1
  78. data/vendor/depot_tools/ninjalog.README.md +64 -0
  79. data/vendor/depot_tools/ninjalog_uploader.py +232 -0
  80. data/vendor/depot_tools/ninjalog_uploader_wrapper.py +116 -0
  81. data/vendor/depot_tools/owners.py +30 -13
  82. data/vendor/depot_tools/owners_finder.py +5 -2
  83. data/vendor/depot_tools/presubmit_canned_checks.py +188 -29
  84. data/vendor/depot_tools/presubmit_support.py +18 -41
  85. data/vendor/depot_tools/pylintrc +23 -19
  86. data/vendor/depot_tools/recipes/OWNERS +2 -0
  87. data/vendor/depot_tools/recipes/README.recipes.md +344 -151
  88. data/vendor/depot_tools/recipes/recipe_modules/bot_update/OWNERS +2 -0
  89. data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +2 -16
  90. data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +141 -99
  91. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +5 -8
  92. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +5 -8
  93. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +6 -98
  94. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +4 -9
  95. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +45 -5
  96. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +4 -9
  97. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +4 -9
  98. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{tryjob.json → input_commit_with_id_without_repo.json} +6 -11
  99. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{tryjob_empty_revision.json → multiple_patch_refs.json} +8 -9
  100. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +19 -29
  101. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange.json → refs.json} +4 -9
  102. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +4 -9
  103. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +51 -6
  104. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +50 -6
  105. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +51 -6
  106. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +17 -25
  107. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +17 -25
  108. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +18 -26
  109. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +18 -26
  110. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +26 -28
  111. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +45 -5
  112. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +17 -25
  113. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +13 -0
  114. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name.json +13 -152
  115. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +4 -9
  116. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +185 -202
  117. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +52 -157
  118. data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +5 -14
  119. data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +34 -0
  120. data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +14 -2
  121. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +4 -5
  122. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +4 -5
  123. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +7 -5
  124. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +4 -5
  125. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +4 -5
  126. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +9 -3
  127. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +9 -3
  128. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +9 -3
  129. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +4 -5
  130. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +2 -3
  131. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +2 -3
  132. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +2 -3
  133. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +2 -3
  134. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +2 -3
  135. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +2 -3
  136. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +2 -3
  137. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +2 -3
  138. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +2 -3
  139. data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +2 -3
  140. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +13 -8
  141. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +18 -12
  142. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +18 -12
  143. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +18 -12
  144. data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.py +3 -0
  145. data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +1 -0
  146. data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +58 -46
  147. data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +65 -22
  148. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +20 -21
  149. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +20 -21
  150. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +20 -21
  151. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +20 -21
  152. data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +5 -2
  153. data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +62 -14
  154. data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +24 -38
  155. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +56 -50
  156. data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.py +15 -9
  157. data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +4 -1
  158. data/vendor/depot_tools/recipes/recipe_modules/git/api.py +34 -22
  159. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +5 -6
  160. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +5 -6
  161. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +5 -6
  162. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +5 -6
  163. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +222 -0
  164. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +5 -6
  165. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +5 -6
  166. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +224 -0
  167. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +10 -6
  168. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +5 -7
  169. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +5 -6
  170. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +5 -6
  171. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +5 -7
  172. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +5 -6
  173. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +10 -5
  174. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +5 -6
  175. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +8 -9
  176. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +5 -6
  177. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +12 -8
  178. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +5 -6
  179. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +5 -6
  180. data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +27 -11
  181. data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +1 -1
  182. data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +12 -13
  183. data/vendor/depot_tools/recipes/recipe_modules/gitiles/__init__.py +5 -0
  184. data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +120 -5
  185. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +45 -3
  186. data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.py +25 -0
  187. data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +56 -4
  188. data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +6 -0
  189. data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.py +49 -0
  190. data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +24 -13
  191. data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +13 -14
  192. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +2 -3
  193. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +2 -3
  194. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +2 -3
  195. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +2 -3
  196. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +2 -3
  197. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +2 -3
  198. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +2 -3
  199. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +2 -3
  200. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +2 -3
  201. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +2 -3
  202. data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +1 -2
  203. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +35 -0
  204. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +116 -0
  205. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +22 -0
  206. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +82 -0
  207. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +22 -0
  208. data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +23 -0
  209. data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +1 -0
  210. data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +2 -7
  211. data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +7 -6
  212. data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +1 -0
  213. data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +117 -8
  214. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +4 -5
  215. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +7 -4
  216. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +98 -7
  217. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +147 -0
  218. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +8 -5
  219. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +8 -5
  220. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +9 -6
  221. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +9 -6
  222. data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +27 -2
  223. data/vendor/depot_tools/recipes/recipe_modules/tryserver/test_api.py +14 -0
  224. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/__init__.py +25 -0
  225. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/api.py +137 -0
  226. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +22 -0
  227. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +22 -0
  228. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +107 -0
  229. data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +26 -0
  230. data/vendor/depot_tools/recipes/recipes.py +37 -27
  231. data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +7 -10
  232. data/vendor/depot_tools/repo +34 -8
  233. data/vendor/depot_tools/roll_dep.py +52 -49
  234. data/vendor/depot_tools/scm.py +38 -23
  235. data/vendor/depot_tools/setup_color.py +4 -2
  236. data/vendor/depot_tools/split_cl.py +32 -4
  237. data/vendor/depot_tools/subprocess2.py +22 -4
  238. data/vendor/depot_tools/third_party/httplib2/README.chromium +2 -2
  239. data/vendor/depot_tools/third_party/httplib2/__init__.py +242 -158
  240. data/vendor/depot_tools/third_party/httplib2/cacerts.txt +57 -44
  241. data/vendor/depot_tools/third_party/httplib2/socks.py +15 -5
  242. data/vendor/depot_tools/third_party/logilab/README.chromium +2 -4
  243. data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +2 -1
  244. data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +10 -5
  245. data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +5 -5
  246. data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +233 -0
  247. data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +82 -33
  248. data/vendor/depot_tools/third_party/logilab/astroid/bases.py +137 -153
  249. data/vendor/depot_tools/third_party/logilab/astroid/brain/{builtin_inference.py → brain_builtin_inference.py} +117 -26
  250. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +15 -0
  251. data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2gi.py → brain_gi.py} +48 -8
  252. data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2mechanize.py → brain_mechanize.py} +0 -0
  253. data/vendor/depot_tools/third_party/logilab/astroid/brain/{pynose.py → brain_nose.py} +4 -1
  254. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +62 -0
  255. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +76 -0
  256. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +44 -0
  257. data/vendor/depot_tools/third_party/logilab/astroid/brain/{pysix_moves.py → brain_six.py} +28 -1
  258. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +65 -0
  259. data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +473 -0
  260. data/vendor/depot_tools/third_party/logilab/astroid/builder.py +104 -81
  261. data/vendor/depot_tools/third_party/logilab/astroid/context.py +81 -0
  262. data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +75 -0
  263. data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +20 -0
  264. data/vendor/depot_tools/third_party/logilab/astroid/inference.py +137 -183
  265. data/vendor/depot_tools/third_party/logilab/astroid/manager.py +45 -169
  266. data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +37 -14
  267. data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +112 -41
  268. data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +243 -156
  269. data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +35 -22
  270. data/vendor/depot_tools/third_party/logilab/astroid/objects.py +186 -0
  271. data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +157 -102
  272. data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +32 -8
  273. data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +372 -309
  274. data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +652 -420
  275. data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +4 -21
  276. data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +96 -0
  277. data/vendor/depot_tools/third_party/logilab/astroid/util.py +89 -0
  278. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +19 -0
  279. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +11 -0
  280. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +20 -0
  281. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +1421 -0
  282. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +9 -0
  283. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +246 -0
  284. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +414 -0
  285. data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +13 -0
  286. data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +24 -0
  287. data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +11 -0
  288. data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +19 -0
  289. data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +2729 -0
  290. data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +96 -0
  291. data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +512 -0
  292. data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +228 -0
  293. data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +901 -0
  294. data/vendor/depot_tools/third_party/pylint/README.chromium +2 -25
  295. data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +13 -3
  296. data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +1 -2
  297. data/vendor/depot_tools/third_party/pylint/checkers/async.py +82 -0
  298. data/vendor/depot_tools/third_party/pylint/checkers/base.py +893 -119
  299. data/vendor/depot_tools/third_party/pylint/checkers/classes.py +342 -204
  300. data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +51 -34
  301. data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +84 -47
  302. data/vendor/depot_tools/third_party/pylint/checkers/format.py +55 -30
  303. data/vendor/depot_tools/third_party/pylint/checkers/imports.py +314 -73
  304. data/vendor/depot_tools/third_party/pylint/checkers/logging.py +10 -8
  305. data/vendor/depot_tools/third_party/pylint/checkers/misc.py +2 -1
  306. data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +45 -48
  307. data/vendor/depot_tools/third_party/pylint/checkers/python3.py +31 -21
  308. data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +3 -3
  309. data/vendor/depot_tools/third_party/pylint/checkers/similar.py +4 -5
  310. data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +24 -10
  311. data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +120 -56
  312. data/vendor/depot_tools/third_party/pylint/checkers/strings.py +38 -35
  313. data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +485 -138
  314. data/vendor/depot_tools/third_party/pylint/checkers/utils.py +319 -142
  315. data/vendor/depot_tools/third_party/pylint/checkers/variables.py +329 -207
  316. data/vendor/depot_tools/third_party/pylint/config.py +739 -76
  317. data/vendor/depot_tools/third_party/pylint/epylint.py +9 -5
  318. data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
  319. data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +311 -0
  320. data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +62 -0
  321. data/vendor/depot_tools/third_party/{logilab/common → pylint}/graph.py +30 -133
  322. data/vendor/depot_tools/third_party/pylint/gui.py +2 -2
  323. data/vendor/depot_tools/third_party/pylint/interfaces.py +21 -3
  324. data/vendor/depot_tools/third_party/pylint/lint.py +123 -140
  325. data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +10 -13
  326. data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +15 -4
  327. data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +372 -0
  328. data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +30 -7
  329. data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +80 -2
  330. data/vendor/depot_tools/third_party/{logilab/common → pylint/pyreverse}/vcgutils.py +19 -37
  331. data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +3 -4
  332. data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +34 -18
  333. data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +1 -1
  334. data/vendor/depot_tools/third_party/pylint/reporters/html.py +10 -3
  335. data/vendor/depot_tools/third_party/pylint/reporters/json.py +10 -4
  336. data/vendor/depot_tools/third_party/pylint/reporters/text.py +94 -3
  337. data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +106 -0
  338. data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/html_writer.py +17 -57
  339. data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/nodes.py +52 -74
  340. data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/text_writer.py +14 -60
  341. data/vendor/depot_tools/third_party/pylint/testutils.py +22 -20
  342. data/vendor/depot_tools/third_party/pylint/utils.py +268 -44
  343. data/vendor/depot_tools/third_party/repo/progress.py +42 -0
  344. data/vendor/depot_tools/update_depot_tools +1 -1
  345. data/vendor/depot_tools/upload_metrics.py +25 -0
  346. data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +45 -15
  347. data/vendor/depot_tools/win_toolchain/package_from_installed.py +71 -24
  348. data/vendor/depot_tools/yapf +1 -1
  349. data/vendor/depot_tools/yapf.bat +1 -1
  350. metadata +92 -77
  351. data/vendor/depot_tools/git-crsync +0 -3
  352. data/vendor/depot_tools/infra/config/cq.cfg +0 -32
  353. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/apply_gerrit_ref.json +0 -29
  354. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/apply_gerrit_ref_custom.json +0 -29
  355. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/buildbot.json +0 -105
  356. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/shallow.json +0 -195
  357. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +0 -248
  358. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8.json +0 -248
  359. data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name_no_patch.json +0 -105
  360. data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/apply_gerrit.py +0 -33
  361. data/vendor/depot_tools/third_party/logilab/astroid/brain/py2pytest.py +0 -31
  362. data/vendor/depot_tools/third_party/logilab/astroid/brain/py2qt4.py +0 -22
  363. data/vendor/depot_tools/third_party/logilab/astroid/brain/py2stdlib.py +0 -334
  364. data/vendor/depot_tools/third_party/logilab/astroid/inspector.py +0 -273
  365. data/vendor/depot_tools/third_party/logilab/astroid/utils.py +0 -239
  366. data/vendor/depot_tools/third_party/logilab/common/LICENSE.txt +0 -339
  367. data/vendor/depot_tools/third_party/logilab/common/README.chromium +0 -11
  368. data/vendor/depot_tools/third_party/logilab/common/__init__.py +0 -175
  369. data/vendor/depot_tools/third_party/logilab/common/__pkginfo__.py +0 -57
  370. data/vendor/depot_tools/third_party/logilab/common/cache.py +0 -114
  371. data/vendor/depot_tools/third_party/logilab/common/changelog.py +0 -238
  372. data/vendor/depot_tools/third_party/logilab/common/clcommands.py +0 -334
  373. data/vendor/depot_tools/third_party/logilab/common/cli.py +0 -211
  374. data/vendor/depot_tools/third_party/logilab/common/compat.py +0 -78
  375. data/vendor/depot_tools/third_party/logilab/common/configuration.py +0 -1105
  376. data/vendor/depot_tools/third_party/logilab/common/contexts.py +0 -5
  377. data/vendor/depot_tools/third_party/logilab/common/corbautils.py +0 -117
  378. data/vendor/depot_tools/third_party/logilab/common/daemon.py +0 -101
  379. data/vendor/depot_tools/third_party/logilab/common/date.py +0 -335
  380. data/vendor/depot_tools/third_party/logilab/common/dbf.py +0 -231
  381. data/vendor/depot_tools/third_party/logilab/common/debugger.py +0 -214
  382. data/vendor/depot_tools/third_party/logilab/common/decorators.py +0 -281
  383. data/vendor/depot_tools/third_party/logilab/common/deprecation.py +0 -189
  384. data/vendor/depot_tools/third_party/logilab/common/fileutils.py +0 -404
  385. data/vendor/depot_tools/third_party/logilab/common/interface.py +0 -71
  386. data/vendor/depot_tools/third_party/logilab/common/logging_ext.py +0 -195
  387. data/vendor/depot_tools/third_party/logilab/common/modutils.py +0 -702
  388. data/vendor/depot_tools/third_party/logilab/common/optik_ext.py +0 -392
  389. data/vendor/depot_tools/third_party/logilab/common/optparser.py +0 -92
  390. data/vendor/depot_tools/third_party/logilab/common/proc.py +0 -277
  391. data/vendor/depot_tools/third_party/logilab/common/pyro_ext.py +0 -180
  392. data/vendor/depot_tools/third_party/logilab/common/pytest.py +0 -1199
  393. data/vendor/depot_tools/third_party/logilab/common/registry.py +0 -1119
  394. data/vendor/depot_tools/third_party/logilab/common/shellutils.py +0 -462
  395. data/vendor/depot_tools/third_party/logilab/common/sphinx_ext.py +0 -87
  396. data/vendor/depot_tools/third_party/logilab/common/sphinxutils.py +0 -122
  397. data/vendor/depot_tools/third_party/logilab/common/table.py +0 -929
  398. data/vendor/depot_tools/third_party/logilab/common/tasksqueue.py +0 -101
  399. data/vendor/depot_tools/third_party/logilab/common/testlib.py +0 -1392
  400. data/vendor/depot_tools/third_party/logilab/common/textutils.py +0 -537
  401. data/vendor/depot_tools/third_party/logilab/common/tree.py +0 -369
  402. data/vendor/depot_tools/third_party/logilab/common/umessage.py +0 -194
  403. data/vendor/depot_tools/third_party/logilab/common/ureports/__init__.py +0 -172
  404. data/vendor/depot_tools/third_party/logilab/common/ureports/docbook_writer.py +0 -140
  405. data/vendor/depot_tools/third_party/logilab/common/urllib2ext.py +0 -89
  406. data/vendor/depot_tools/third_party/logilab/common/visitor.py +0 -109
  407. data/vendor/depot_tools/third_party/logilab/common/xmlrpcutils.py +0 -131
  408. data/vendor/depot_tools/third_party/logilab/common/xmlutils.py +0 -61
@@ -1,248 +0,0 @@
1
- [
2
- {
3
- "cmd": [
4
- "python",
5
- "-u",
6
- "RECIPE_PACKAGE_REPO[depot_tools]/gerrit_client.py",
7
- "changes",
8
- "--host",
9
- "https://chromium-review.googlesource.com",
10
- "--json_file",
11
- "/path/to/tmp/json",
12
- "--limit",
13
- "1",
14
- "-p",
15
- "change=338811"
16
- ],
17
- "env": {
18
- "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
19
- },
20
- "infra_step": true,
21
- "name": "gerrit get_patch_destination_branch",
22
- "~followup_annotations": [
23
- "@@@STEP_LOG_LINE@json.output@[@@@",
24
- "@@@STEP_LOG_LINE@json.output@ {@@@",
25
- "@@@STEP_LOG_LINE@json.output@ \"_number\": \"91827\", @@@",
26
- "@@@STEP_LOG_LINE@json.output@ \"branch\": \"master\", @@@",
27
- "@@@STEP_LOG_LINE@json.output@ \"change_id\": \"Ideadbeef\", @@@",
28
- "@@@STEP_LOG_LINE@json.output@ \"created\": \"2017-01-30 13:11:20.000000000\", @@@",
29
- "@@@STEP_LOG_LINE@json.output@ \"has_review_started\": false, @@@",
30
- "@@@STEP_LOG_LINE@json.output@ \"project\": \"chromium/src\", @@@",
31
- "@@@STEP_LOG_LINE@json.output@ \"revisions\": {@@@",
32
- "@@@STEP_LOG_LINE@json.output@ \"184ebe53805e102605d11f6b143486d15c23a09c\": {@@@",
33
- "@@@STEP_LOG_LINE@json.output@ \"_number\": \"1\", @@@",
34
- "@@@STEP_LOG_LINE@json.output@ \"commit\": {@@@",
35
- "@@@STEP_LOG_LINE@json.output@ \"message\": \"Change commit message\"@@@",
36
- "@@@STEP_LOG_LINE@json.output@ }@@@",
37
- "@@@STEP_LOG_LINE@json.output@ }@@@",
38
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
39
- "@@@STEP_LOG_LINE@json.output@ \"status\": \"NEW\", @@@",
40
- "@@@STEP_LOG_LINE@json.output@ \"subject\": \"Change title\"@@@",
41
- "@@@STEP_LOG_LINE@json.output@ }@@@",
42
- "@@@STEP_LOG_LINE@json.output@]@@@",
43
- "@@@STEP_LOG_END@json.output@@@"
44
- ]
45
- },
46
- {
47
- "cmd": [
48
- "python",
49
- "-u",
50
- "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
51
- "--spec-path",
52
- "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
53
- "--patch_root",
54
- "src/v8",
55
- "--revision_mapping_file",
56
- "{\"got_angle_revision\": \"src/third_party/angle\", \"got_cr_revision\": \"src\", \"got_revision\": \"src\", \"got_v8_revision\": \"src/v8\"}",
57
- "--git-cache-dir",
58
- "[GIT_CACHE]",
59
- "--cleanup-dir",
60
- "[CLEANUP]/bot_update",
61
- "--gerrit_repo",
62
- "https://chromium.googlesource.com/v8/v8",
63
- "--gerrit_ref",
64
- "refs/changes/11/338811/3",
65
- "--output_json",
66
- "/path/to/tmp/json",
67
- "--revision",
68
- "src@HEAD",
69
- "--revision",
70
- "src/v8@HEAD",
71
- "--disable-syntax-validation"
72
- ],
73
- "env_prefixes": {
74
- "PATH": [
75
- "RECIPE_PACKAGE_REPO[depot_tools]"
76
- ]
77
- },
78
- "infra_step": true,
79
- "name": "bot_update",
80
- "~followup_annotations": [
81
- "@@@STEP_TEXT@Some step text@@@",
82
- "@@@STEP_LOG_LINE@json.output@{@@@",
83
- "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
84
- "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
85
- "@@@STEP_LOG_LINE@json.output@ \"src\": \"HEAD\", @@@",
86
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": \"HEAD\"@@@",
87
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
88
- "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
89
- "@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
90
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src.git\", @@@",
91
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
92
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
93
- "@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
94
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/angle.git\", @@@",
95
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
96
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
97
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
98
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/v8.git\", @@@",
99
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
100
- "@@@STEP_LOG_LINE@json.output@ }@@@",
101
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
102
- "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
103
- "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src/v8\", @@@",
104
- "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
105
- "@@@STEP_LOG_LINE@json.output@ \"got_angle_revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\", @@@",
106
- "@@@STEP_LOG_LINE@json.output@ \"got_angle_revision_cp\": \"refs/heads/master@{#297276}\", @@@",
107
- "@@@STEP_LOG_LINE@json.output@ \"got_cr_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
108
- "@@@STEP_LOG_LINE@json.output@ \"got_cr_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
109
- "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
110
- "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
111
- "@@@STEP_LOG_LINE@json.output@ \"got_v8_revision\": \"801ada225ddc271c132c3a35f03975671d43e399\", @@@",
112
- "@@@STEP_LOG_LINE@json.output@ \"got_v8_revision_cp\": \"refs/heads/master@{#43426}\"@@@",
113
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
114
- "@@@STEP_LOG_LINE@json.output@ \"root\": \"src\", @@@",
115
- "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
116
- "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
117
- "@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
118
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
119
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src.git\", @@@",
120
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
121
- "@@@STEP_LOG_LINE@json.output@ }@@@",
122
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
123
- "@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
124
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
125
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/third_party/angle.git\", @@@",
126
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
127
- "@@@STEP_LOG_LINE@json.output@ }@@@",
128
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
129
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
130
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
131
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/v8.git\", @@@",
132
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
133
- "@@@STEP_LOG_LINE@json.output@ }@@@",
134
- "@@@STEP_LOG_LINE@json.output@ }@@@",
135
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
136
- "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
137
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
138
- "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
139
- "@@@STEP_LOG_LINE@json.output@}@@@",
140
- "@@@STEP_LOG_END@json.output@@@",
141
- "@@@SET_BUILD_PROPERTY@got_angle_revision@\"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
142
- "@@@SET_BUILD_PROPERTY@got_angle_revision_cp@\"refs/heads/master@{#297276}\"@@@",
143
- "@@@SET_BUILD_PROPERTY@got_cr_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
144
- "@@@SET_BUILD_PROPERTY@got_cr_revision_cp@\"refs/heads/master@{#170242}\"@@@",
145
- "@@@SET_BUILD_PROPERTY@got_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
146
- "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#170242}\"@@@",
147
- "@@@SET_BUILD_PROPERTY@got_v8_revision@\"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
148
- "@@@SET_BUILD_PROPERTY@got_v8_revision_cp@\"refs/heads/master@{#43426}\"@@@"
149
- ]
150
- },
151
- {
152
- "cmd": [
153
- "python",
154
- "-u",
155
- "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
156
- "--spec-path",
157
- "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
158
- "--patch_root",
159
- "src/v8",
160
- "--revision_mapping_file",
161
- "{\"got_angle_revision\": \"src/third_party/angle\", \"got_cr_revision\": \"src\", \"got_revision\": \"src\", \"got_v8_revision\": \"src/v8\"}",
162
- "--git-cache-dir",
163
- "[GIT_CACHE]",
164
- "--cleanup-dir",
165
- "[CLEANUP]/bot_update",
166
- "--output_json",
167
- "/path/to/tmp/json",
168
- "--revision",
169
- "src@f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9",
170
- "--revision",
171
- "src/v8@801ada225ddc271c132c3a35f03975671d43e399"
172
- ],
173
- "env_prefixes": {
174
- "PATH": [
175
- "RECIPE_PACKAGE_REPO[depot_tools]"
176
- ]
177
- },
178
- "infra_step": true,
179
- "name": "bot_update (without patch)",
180
- "~followup_annotations": [
181
- "@@@STEP_TEXT@Some step text@@@",
182
- "@@@STEP_LOG_LINE@json.output@{@@@",
183
- "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
184
- "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
185
- "@@@STEP_LOG_LINE@json.output@ \"src\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
186
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
187
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
188
- "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
189
- "@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
190
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src.git\", @@@",
191
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
192
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
193
- "@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
194
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/angle.git\", @@@",
195
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
196
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
197
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
198
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/v8.git\", @@@",
199
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
200
- "@@@STEP_LOG_LINE@json.output@ }@@@",
201
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
202
- "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
203
- "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src/v8\", @@@",
204
- "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
205
- "@@@STEP_LOG_LINE@json.output@ \"got_angle_revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\", @@@",
206
- "@@@STEP_LOG_LINE@json.output@ \"got_angle_revision_cp\": \"refs/heads/master@{#297276}\", @@@",
207
- "@@@STEP_LOG_LINE@json.output@ \"got_cr_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
208
- "@@@STEP_LOG_LINE@json.output@ \"got_cr_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
209
- "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
210
- "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
211
- "@@@STEP_LOG_LINE@json.output@ \"got_v8_revision\": \"801ada225ddc271c132c3a35f03975671d43e399\", @@@",
212
- "@@@STEP_LOG_LINE@json.output@ \"got_v8_revision_cp\": \"refs/heads/master@{#43426}\"@@@",
213
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
214
- "@@@STEP_LOG_LINE@json.output@ \"root\": \"src\", @@@",
215
- "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
216
- "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
217
- "@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
218
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
219
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src.git\", @@@",
220
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
221
- "@@@STEP_LOG_LINE@json.output@ }@@@",
222
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
223
- "@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
224
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
225
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/third_party/angle.git\", @@@",
226
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
227
- "@@@STEP_LOG_LINE@json.output@ }@@@",
228
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
229
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
230
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
231
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/v8.git\", @@@",
232
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
233
- "@@@STEP_LOG_LINE@json.output@ }@@@",
234
- "@@@STEP_LOG_LINE@json.output@ }@@@",
235
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
236
- "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
237
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
238
- "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
239
- "@@@STEP_LOG_LINE@json.output@}@@@",
240
- "@@@STEP_LOG_END@json.output@@@"
241
- ]
242
- },
243
- {
244
- "name": "$result",
245
- "recipe_result": null,
246
- "status_code": 0
247
- }
248
- ]
@@ -1,105 +0,0 @@
1
- [
2
- {
3
- "cmd": [
4
- "python",
5
- "-u",
6
- "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
7
- "--spec-path",
8
- "cache_dir = '[GIT_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
9
- "--patch_root",
10
- "src",
11
- "--revision_mapping_file",
12
- "{\"got_angle_revision\": \"src/third_party/angle\", \"got_cr_revision\": \"src\", \"got_revision\": \"src\", \"got_v8_revision\": \"src/v8\"}",
13
- "--git-cache-dir",
14
- "[GIT_CACHE]",
15
- "--cleanup-dir",
16
- "[CLEANUP]/bot_update",
17
- "--output_json",
18
- "/path/to/tmp/json",
19
- "--revision",
20
- "src@HEAD",
21
- "--disable-syntax-validation"
22
- ],
23
- "env_prefixes": {
24
- "PATH": [
25
- "RECIPE_PACKAGE_REPO[depot_tools]"
26
- ]
27
- },
28
- "infra_step": true,
29
- "name": "bot_update (without patch)",
30
- "~followup_annotations": [
31
- "@@@STEP_TEXT@Some step text@@@",
32
- "@@@STEP_LOG_LINE@json.output@{@@@",
33
- "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
34
- "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
35
- "@@@STEP_LOG_LINE@json.output@ \"src\": \"HEAD\"@@@",
36
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
37
- "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
38
- "@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
39
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src.git\", @@@",
40
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
41
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
42
- "@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
43
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/angle.git\", @@@",
44
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
45
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
46
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
47
- "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/v8.git\", @@@",
48
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
49
- "@@@STEP_LOG_LINE@json.output@ }@@@",
50
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
51
- "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
52
- "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src\", @@@",
53
- "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
54
- "@@@STEP_LOG_LINE@json.output@ \"got_angle_revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\", @@@",
55
- "@@@STEP_LOG_LINE@json.output@ \"got_angle_revision_cp\": \"refs/heads/master@{#297276}\", @@@",
56
- "@@@STEP_LOG_LINE@json.output@ \"got_cr_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
57
- "@@@STEP_LOG_LINE@json.output@ \"got_cr_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
58
- "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\", @@@",
59
- "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#170242}\", @@@",
60
- "@@@STEP_LOG_LINE@json.output@ \"got_v8_revision\": \"801ada225ddc271c132c3a35f03975671d43e399\", @@@",
61
- "@@@STEP_LOG_LINE@json.output@ \"got_v8_revision_cp\": \"refs/heads/master@{#43426}\"@@@",
62
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
63
- "@@@STEP_LOG_LINE@json.output@ \"root\": \"src\", @@@",
64
- "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
65
- "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
66
- "@@@STEP_LOG_LINE@json.output@ \"src\": {@@@",
67
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
68
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src.git\", @@@",
69
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
70
- "@@@STEP_LOG_LINE@json.output@ }@@@",
71
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
72
- "@@@STEP_LOG_LINE@json.output@ \"src/third_party/angle\": {@@@",
73
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
74
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/third_party/angle.git\", @@@",
75
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
76
- "@@@STEP_LOG_LINE@json.output@ }@@@",
77
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
78
- "@@@STEP_LOG_LINE@json.output@ \"src/v8\": {@@@",
79
- "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
80
- "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/v8.git\", @@@",
81
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
82
- "@@@STEP_LOG_LINE@json.output@ }@@@",
83
- "@@@STEP_LOG_LINE@json.output@ }@@@",
84
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
85
- "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
86
- "@@@STEP_LOG_LINE@json.output@ }, @@@",
87
- "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
88
- "@@@STEP_LOG_LINE@json.output@}@@@",
89
- "@@@STEP_LOG_END@json.output@@@",
90
- "@@@SET_BUILD_PROPERTY@got_angle_revision@\"fac9503c46405f77757b9a728eb85b8d7bc6080c\"@@@",
91
- "@@@SET_BUILD_PROPERTY@got_angle_revision_cp@\"refs/heads/master@{#297276}\"@@@",
92
- "@@@SET_BUILD_PROPERTY@got_cr_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
93
- "@@@SET_BUILD_PROPERTY@got_cr_revision_cp@\"refs/heads/master@{#170242}\"@@@",
94
- "@@@SET_BUILD_PROPERTY@got_revision@\"f27fede2220bcd326aee3e86ddfd4ebd0fe58cb9\"@@@",
95
- "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#170242}\"@@@",
96
- "@@@SET_BUILD_PROPERTY@got_v8_revision@\"801ada225ddc271c132c3a35f03975671d43e399\"@@@",
97
- "@@@SET_BUILD_PROPERTY@got_v8_revision_cp@\"refs/heads/master@{#43426}\"@@@"
98
- ]
99
- },
100
- {
101
- "name": "$result",
102
- "recipe_result": null,
103
- "status_code": 0
104
- }
105
- ]
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env python
2
- # Copyright 2016 The Chromium Authors. All rights reserved.
3
- # Use of this source code is governed by a BSD-style license that can be
4
- # found in the LICENSE file.
5
-
6
- import optparse
7
- import sys
8
-
9
- import bot_update # pylint: disable=relative-import
10
-
11
-
12
- if __name__ == '__main__':
13
- parse = optparse.OptionParser()
14
-
15
- parse.add_option('--gerrit_repo',
16
- help='Gerrit repository to pull the ref from.')
17
- parse.add_option('--gerrit_ref', help='Gerrit ref to apply.')
18
- parse.add_option('--root', help='The location of the checkout.')
19
- parse.add_option('--gerrit_no_reset', action='store_true',
20
- help='Bypass calling reset after applying a gerrit ref.')
21
- parse.add_option('--gerrit_no_rebase_patch_ref', action='store_true',
22
- help='Bypass rebase of Gerrit patch ref after checkout.')
23
-
24
- options, _ = parse.parse_args()
25
-
26
- sys.exit(
27
- bot_update.apply_gerrit_ref(
28
- options.gerrit_repo,
29
- options.gerrit_ref,
30
- options.root,
31
- not options.gerrit_no_reset,
32
- not options.gerrit_no_rebase_patch_ref)
33
- )
@@ -1,31 +0,0 @@
1
- """Astroid hooks for pytest."""
2
-
3
- from astroid import MANAGER, register_module_extender
4
- from astroid.builder import AstroidBuilder
5
-
6
-
7
- def pytest_transform():
8
- return AstroidBuilder(MANAGER).string_build('''
9
-
10
- try:
11
- import _pytest.mark
12
- import _pytest.recwarn
13
- import _pytest.runner
14
- import _pytest.python
15
- except ImportError:
16
- pass
17
- else:
18
- deprecated_call = _pytest.recwarn.deprecated_call
19
- exit = _pytest.runner.exit
20
- fail = _pytest.runner.fail
21
- fixture = _pytest.python.fixture
22
- importorskip = _pytest.runner.importorskip
23
- mark = _pytest.mark.MarkGenerator()
24
- raises = _pytest.python.raises
25
- skip = _pytest.runner.skip
26
- yield_fixture = _pytest.python.yield_fixture
27
-
28
- ''')
29
-
30
- register_module_extender(MANAGER, 'pytest', pytest_transform)
31
- register_module_extender(MANAGER, 'py.test', pytest_transform)
@@ -1,22 +0,0 @@
1
- """Astroid hooks for the Python 2 qt4 module.
2
-
3
- Currently help understanding of :
4
-
5
- * PyQT4.QtCore
6
- """
7
-
8
- from astroid import MANAGER, register_module_extender
9
- from astroid.builder import AstroidBuilder
10
-
11
-
12
- def pyqt4_qtcore_transform():
13
- return AstroidBuilder(MANAGER).string_build('''
14
-
15
- def SIGNAL(signal_name): pass
16
-
17
- class QObject(object):
18
- def emit(self, signal): pass
19
- ''')
20
-
21
-
22
- register_module_extender(MANAGER, 'PyQt4.QtCore', pyqt4_qtcore_transform)
@@ -1,334 +0,0 @@
1
-
2
- """Astroid hooks for the Python 2 standard library.
3
-
4
- Currently help understanding of :
5
-
6
- * hashlib.md5 and hashlib.sha1
7
- """
8
-
9
- import sys
10
- from functools import partial
11
- from textwrap import dedent
12
-
13
- from astroid import (
14
- MANAGER, AsStringRegexpPredicate,
15
- UseInferenceDefault, inference_tip,
16
- YES, InferenceError, register_module_extender)
17
- from astroid import exceptions
18
- from astroid import nodes
19
- from astroid.builder import AstroidBuilder
20
-
21
- PY3K = sys.version_info > (3, 0)
22
- PY33 = sys.version_info >= (3, 3)
23
-
24
- # general function
25
-
26
- def infer_func_form(node, base_type, context=None, enum=False):
27
- """Specific inference function for namedtuple or Python 3 enum. """
28
- def infer_first(node):
29
- try:
30
- value = next(node.infer(context=context))
31
- if value is YES:
32
- raise UseInferenceDefault()
33
- else:
34
- return value
35
- except StopIteration:
36
- raise InferenceError()
37
-
38
- # node is a CallFunc node, class name as first argument and generated class
39
- # attributes as second argument
40
- if len(node.args) != 2:
41
- # something weird here, go back to class implementation
42
- raise UseInferenceDefault()
43
- # namedtuple or enums list of attributes can be a list of strings or a
44
- # whitespace-separate string
45
- try:
46
- name = infer_first(node.args[0]).value
47
- names = infer_first(node.args[1])
48
- try:
49
- attributes = names.value.replace(',', ' ').split()
50
- except AttributeError:
51
- if not enum:
52
- attributes = [infer_first(const).value for const in names.elts]
53
- else:
54
- # Enums supports either iterator of (name, value) pairs
55
- # or mappings.
56
- # TODO: support only list, tuples and mappings.
57
- if hasattr(names, 'items') and isinstance(names.items, list):
58
- attributes = [infer_first(const[0]).value
59
- for const in names.items
60
- if isinstance(const[0], nodes.Const)]
61
- elif hasattr(names, 'elts'):
62
- # Enums can support either ["a", "b", "c"]
63
- # or [("a", 1), ("b", 2), ...], but they can't
64
- # be mixed.
65
- if all(isinstance(const, nodes.Tuple)
66
- for const in names.elts):
67
- attributes = [infer_first(const.elts[0]).value
68
- for const in names.elts
69
- if isinstance(const, nodes.Tuple)]
70
- else:
71
- attributes = [infer_first(const).value
72
- for const in names.elts]
73
- else:
74
- raise AttributeError
75
- if not attributes:
76
- raise AttributeError
77
- except (AttributeError, exceptions.InferenceError) as exc:
78
- raise UseInferenceDefault()
79
- # we want to return a Class node instance with proper attributes set
80
- class_node = nodes.Class(name, 'docstring')
81
- class_node.parent = node.parent
82
- # set base class=tuple
83
- class_node.bases.append(base_type)
84
- # XXX add __init__(*attributes) method
85
- for attr in attributes:
86
- fake_node = nodes.EmptyNode()
87
- fake_node.parent = class_node
88
- class_node.instance_attrs[attr] = [fake_node]
89
- return class_node, name, attributes
90
-
91
-
92
- # module specific transformation functions #####################################
93
-
94
- def hashlib_transform():
95
- template = '''
96
-
97
- class %(name)s(object):
98
- def __init__(self, value=''): pass
99
- def digest(self):
100
- return %(digest)s
101
- def copy(self):
102
- return self
103
- def update(self, value): pass
104
- def hexdigest(self):
105
- return ''
106
- @property
107
- def name(self):
108
- return %(name)r
109
- @property
110
- def block_size(self):
111
- return 1
112
- @property
113
- def digest_size(self):
114
- return 1
115
- '''
116
- algorithms = ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512')
117
- classes = "".join(
118
- template % {'name': hashfunc, 'digest': 'b""' if PY3K else '""'}
119
- for hashfunc in algorithms)
120
- return AstroidBuilder(MANAGER).string_build(classes)
121
-
122
-
123
- def collections_transform():
124
- return AstroidBuilder(MANAGER).string_build('''
125
-
126
- class defaultdict(dict):
127
- default_factory = None
128
- def __missing__(self, key): pass
129
-
130
- class deque(object):
131
- maxlen = 0
132
- def __init__(self, iterable=None, maxlen=None): pass
133
- def append(self, x): pass
134
- def appendleft(self, x): pass
135
- def clear(self): pass
136
- def count(self, x): return 0
137
- def extend(self, iterable): pass
138
- def extendleft(self, iterable): pass
139
- def pop(self): pass
140
- def popleft(self): pass
141
- def remove(self, value): pass
142
- def reverse(self): pass
143
- def rotate(self, n): pass
144
- def __iter__(self): return self
145
-
146
- ''')
147
-
148
-
149
- def pkg_resources_transform():
150
- return AstroidBuilder(MANAGER).string_build('''
151
-
152
- def resource_exists(package_or_requirement, resource_name):
153
- pass
154
-
155
- def resource_isdir(package_or_requirement, resource_name):
156
- pass
157
-
158
- def resource_filename(package_or_requirement, resource_name):
159
- pass
160
-
161
- def resource_stream(package_or_requirement, resource_name):
162
- pass
163
-
164
- def resource_string(package_or_requirement, resource_name):
165
- pass
166
-
167
- def resource_listdir(package_or_requirement, resource_name):
168
- pass
169
-
170
- def extraction_error():
171
- pass
172
-
173
- def get_cache_path(archive_name, names=()):
174
- pass
175
-
176
- def postprocess(tempname, filename):
177
- pass
178
-
179
- def set_extraction_path(path):
180
- pass
181
-
182
- def cleanup_resources(force=False):
183
- pass
184
-
185
- ''')
186
-
187
-
188
- def subprocess_transform():
189
- if PY3K:
190
- communicate = (bytes('string', 'ascii'), bytes('string', 'ascii'))
191
- init = """
192
- def __init__(self, args, bufsize=0, executable=None,
193
- stdin=None, stdout=None, stderr=None,
194
- preexec_fn=None, close_fds=False, shell=False,
195
- cwd=None, env=None, universal_newlines=False,
196
- startupinfo=None, creationflags=0, restore_signals=True,
197
- start_new_session=False, pass_fds=()):
198
- pass
199
- """
200
- else:
201
- communicate = ('string', 'string')
202
- init = """
203
- def __init__(self, args, bufsize=0, executable=None,
204
- stdin=None, stdout=None, stderr=None,
205
- preexec_fn=None, close_fds=False, shell=False,
206
- cwd=None, env=None, universal_newlines=False,
207
- startupinfo=None, creationflags=0):
208
- pass
209
- """
210
- if PY33:
211
- wait_signature = 'def wait(self, timeout=None)'
212
- else:
213
- wait_signature = 'def wait(self)'
214
- return AstroidBuilder(MANAGER).string_build('''
215
-
216
- class Popen(object):
217
- returncode = pid = 0
218
- stdin = stdout = stderr = file()
219
-
220
- %(init)s
221
-
222
- def communicate(self, input=None):
223
- return %(communicate)r
224
- %(wait_signature)s:
225
- return self.returncode
226
- def poll(self):
227
- return self.returncode
228
- def send_signal(self, signal):
229
- pass
230
- def terminate(self):
231
- pass
232
- def kill(self):
233
- pass
234
- ''' % {'init': init,
235
- 'communicate': communicate,
236
- 'wait_signature': wait_signature})
237
-
238
-
239
- # namedtuple support ###########################################################
240
-
241
- def looks_like_namedtuple(node):
242
- func = node.func
243
- if type(func) is nodes.Getattr:
244
- return func.attrname == 'namedtuple'
245
- if type(func) is nodes.Name:
246
- return func.name == 'namedtuple'
247
- return False
248
-
249
- def infer_named_tuple(node, context=None):
250
- """Specific inference function for namedtuple CallFunc node"""
251
- class_node, name, attributes = infer_func_form(node, nodes.Tuple._proxied,
252
- context=context)
253
- fake = AstroidBuilder(MANAGER).string_build('''
254
- class %(name)s(tuple):
255
- _fields = %(fields)r
256
- def _asdict(self):
257
- return self.__dict__
258
- @classmethod
259
- def _make(cls, iterable, new=tuple.__new__, len=len):
260
- return new(cls, iterable)
261
- def _replace(_self, **kwds):
262
- result = _self._make(map(kwds.pop, %(fields)r, _self))
263
- if kwds:
264
- raise ValueError('Got unexpected field names: %%r' %% list(kwds))
265
- return result
266
- ''' % {'name': name, 'fields': attributes})
267
- class_node.locals['_asdict'] = fake.body[0].locals['_asdict']
268
- class_node.locals['_make'] = fake.body[0].locals['_make']
269
- class_node.locals['_replace'] = fake.body[0].locals['_replace']
270
- class_node.locals['_fields'] = fake.body[0].locals['_fields']
271
- # we use UseInferenceDefault, we can't be a generator so return an iterator
272
- return iter([class_node])
273
-
274
- def infer_enum(node, context=None):
275
- """ Specific inference function for enum CallFunc node. """
276
- enum_meta = nodes.Class("EnumMeta", 'docstring')
277
- class_node = infer_func_form(node, enum_meta,
278
- context=context, enum=True)[0]
279
- return iter([class_node.instanciate_class()])
280
-
281
- def infer_enum_class(node):
282
- """ Specific inference for enums. """
283
- names = set(('Enum', 'IntEnum', 'enum.Enum', 'enum.IntEnum'))
284
- for basename in node.basenames:
285
- # TODO: doesn't handle subclasses yet. This implementation
286
- # is a hack to support enums.
287
- if basename not in names:
288
- continue
289
- if node.root().name == 'enum':
290
- # Skip if the class is directly from enum module.
291
- break
292
- for local, values in node.locals.items():
293
- if any(not isinstance(value, nodes.AssName)
294
- for value in values):
295
- continue
296
-
297
- stmt = values[0].statement()
298
- if isinstance(stmt.targets[0], nodes.Tuple):
299
- targets = stmt.targets[0].itered()
300
- else:
301
- targets = stmt.targets
302
-
303
- new_targets = []
304
- for target in targets:
305
- # Replace all the assignments with our mocked class.
306
- classdef = dedent('''
307
- class %(name)s(object):
308
- @property
309
- def value(self):
310
- # Not the best return.
311
- return None
312
- @property
313
- def name(self):
314
- return %(name)r
315
- ''' % {'name': target.name})
316
- fake = AstroidBuilder(MANAGER).string_build(classdef)[target.name]
317
- fake.parent = target.parent
318
- for method in node.mymethods():
319
- fake.locals[method.name] = [method]
320
- new_targets.append(fake.instanciate_class())
321
- node.locals[local] = new_targets
322
- break
323
- return node
324
-
325
-
326
- MANAGER.register_transform(nodes.CallFunc, inference_tip(infer_named_tuple),
327
- looks_like_namedtuple)
328
- MANAGER.register_transform(nodes.CallFunc, inference_tip(infer_enum),
329
- AsStringRegexpPredicate('Enum', 'func'))
330
- MANAGER.register_transform(nodes.Class, infer_enum_class)
331
- register_module_extender(MANAGER, 'hashlib', hashlib_transform)
332
- register_module_extender(MANAGER, 'collections', collections_transform)
333
- register_module_extender(MANAGER, 'pkg_resources', pkg_resources_transform)
334
- register_module_extender(MANAGER, 'subprocess', subprocess_transform)