chef 12.4.0.rc.0-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1709) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +212 -0
  3. data/LICENSE +201 -0
  4. data/README.md +134 -0
  5. data/Rakefile +160 -0
  6. data/bin/chef-apply +25 -0
  7. data/bin/chef-client +26 -0
  8. data/bin/chef-service-manager +37 -0
  9. data/bin/chef-shell +37 -0
  10. data/bin/chef-solo +25 -0
  11. data/bin/chef-windows-service +35 -0
  12. data/bin/knife +26 -0
  13. data/distro/common/html/_sources/ctl_chef_client.txt +36 -0
  14. data/distro/common/html/_sources/ctl_chef_server.txt +341 -0
  15. data/distro/common/html/_sources/ctl_chef_shell.txt +15 -0
  16. data/distro/common/html/_sources/ctl_chef_solo.txt +25 -0
  17. data/distro/common/html/_sources/index.txt +135 -0
  18. data/distro/common/html/_sources/knife.txt +74 -0
  19. data/distro/common/html/_sources/knife_bootstrap.txt +56 -0
  20. data/distro/common/html/_sources/knife_client.txt +151 -0
  21. data/distro/common/html/_sources/knife_common_options.txt +6 -0
  22. data/distro/common/html/_sources/knife_configure.txt +29 -0
  23. data/distro/common/html/_sources/knife_cookbook.txt +236 -0
  24. data/distro/common/html/_sources/knife_cookbook_site.txt +157 -0
  25. data/distro/common/html/_sources/knife_data_bag.txt +160 -0
  26. data/distro/common/html/_sources/knife_delete.txt +26 -0
  27. data/distro/common/html/_sources/knife_deps.txt +61 -0
  28. data/distro/common/html/_sources/knife_diff.txt +34 -0
  29. data/distro/common/html/_sources/knife_download.txt +44 -0
  30. data/distro/common/html/_sources/knife_edit.txt +26 -0
  31. data/distro/common/html/_sources/knife_environment.txt +158 -0
  32. data/distro/common/html/_sources/knife_exec.txt +47 -0
  33. data/distro/common/html/_sources/knife_index_rebuild.txt +21 -0
  34. data/distro/common/html/_sources/knife_list.txt +33 -0
  35. data/distro/common/html/_sources/knife_node.txt +250 -0
  36. data/distro/common/html/_sources/knife_raw.txt +35 -0
  37. data/distro/common/html/_sources/knife_recipe_list.txt +23 -0
  38. data/distro/common/html/_sources/knife_role.txt +157 -0
  39. data/distro/common/html/_sources/knife_search.txt +53 -0
  40. data/distro/common/html/_sources/knife_serve.txt +19 -0
  41. data/distro/common/html/_sources/knife_show.txt +27 -0
  42. data/distro/common/html/_sources/knife_ssh.txt +43 -0
  43. data/distro/common/html/_sources/knife_ssl_check.txt +41 -0
  44. data/distro/common/html/_sources/knife_ssl_fetch.txt +41 -0
  45. data/distro/common/html/_sources/knife_status.txt +37 -0
  46. data/distro/common/html/_sources/knife_tag.txt +69 -0
  47. data/distro/common/html/_sources/knife_upload.txt +49 -0
  48. data/distro/common/html/_sources/knife_user.txt +127 -0
  49. data/distro/common/html/_sources/knife_using.txt +43 -0
  50. data/distro/common/html/_sources/knife_xargs.txt +30 -0
  51. data/distro/common/html/_static/ajax-loader.gif +0 -0
  52. data/distro/common/html/_static/basic.css +537 -0
  53. data/distro/common/html/_static/chef.ico +0 -0
  54. data/distro/common/html/_static/chef_html_logo.png +0 -0
  55. data/distro/common/html/_static/comment-bright.png +0 -0
  56. data/distro/common/html/_static/comment-close.png +0 -0
  57. data/distro/common/html/_static/comment.png +0 -0
  58. data/distro/common/html/_static/contents.png +0 -0
  59. data/distro/common/html/_static/doctools.js +238 -0
  60. data/distro/common/html/_static/down-pressed.png +0 -0
  61. data/distro/common/html/_static/down.png +0 -0
  62. data/distro/common/html/_static/file.png +0 -0
  63. data/distro/common/html/_static/guide.css +505 -0
  64. data/distro/common/html/_static/jquery.js +2 -0
  65. data/distro/common/html/_static/minus.png +0 -0
  66. data/distro/common/html/_static/navigation.png +0 -0
  67. data/distro/common/html/_static/plus.png +0 -0
  68. data/distro/common/html/_static/pygments.css +62 -0
  69. data/distro/common/html/_static/searchtools.js +622 -0
  70. data/distro/common/html/_static/underscore.js +31 -0
  71. data/distro/common/html/_static/up-pressed.png +0 -0
  72. data/distro/common/html/_static/up.png +0 -0
  73. data/distro/common/html/_static/websupport.js +808 -0
  74. data/distro/common/html/ctl_chef_client.html +270 -0
  75. data/distro/common/html/ctl_chef_server.html +728 -0
  76. data/distro/common/html/ctl_chef_shell.html +163 -0
  77. data/distro/common/html/ctl_chef_solo.html +194 -0
  78. data/distro/common/html/index.html +202 -0
  79. data/distro/common/html/knife.html +170 -0
  80. data/distro/common/html/knife_bootstrap.html +285 -0
  81. data/distro/common/html/knife_client.html +285 -0
  82. data/distro/common/html/knife_common_options.html +96 -0
  83. data/distro/common/html/knife_configure.html +105 -0
  84. data/distro/common/html/knife_cookbook.html +487 -0
  85. data/distro/common/html/knife_cookbook_site.html +375 -0
  86. data/distro/common/html/knife_data_bag.html +374 -0
  87. data/distro/common/html/knife_delete.html +93 -0
  88. data/distro/common/html/knife_deps.html +143 -0
  89. data/distro/common/html/knife_diff.html +123 -0
  90. data/distro/common/html/knife_download.html +145 -0
  91. data/distro/common/html/knife_edit.html +89 -0
  92. data/distro/common/html/knife_environment.html +326 -0
  93. data/distro/common/html/knife_exec.html +220 -0
  94. data/distro/common/html/knife_index_rebuild.html +83 -0
  95. data/distro/common/html/knife_list.html +114 -0
  96. data/distro/common/html/knife_node.html +458 -0
  97. data/distro/common/html/knife_raw.html +110 -0
  98. data/distro/common/html/knife_recipe_list.html +91 -0
  99. data/distro/common/html/knife_role.html +295 -0
  100. data/distro/common/html/knife_search.html +203 -0
  101. data/distro/common/html/knife_serve.html +79 -0
  102. data/distro/common/html/knife_show.html +104 -0
  103. data/distro/common/html/knife_ssh.html +177 -0
  104. data/distro/common/html/knife_ssl_check.html +151 -0
  105. data/distro/common/html/knife_ssl_fetch.html +151 -0
  106. data/distro/common/html/knife_status.html +144 -0
  107. data/distro/common/html/knife_tag.html +138 -0
  108. data/distro/common/html/knife_upload.html +153 -0
  109. data/distro/common/html/knife_user.html +242 -0
  110. data/distro/common/html/knife_using.html +210 -0
  111. data/distro/common/html/knife_xargs.html +122 -0
  112. data/distro/common/html/objects.inv +0 -0
  113. data/distro/common/html/search.html +82 -0
  114. data/distro/common/html/searchindex.js +1 -0
  115. data/distro/common/man/man1/README.md +58 -0
  116. data/distro/common/man/man1/chef-shell.1 +194 -0
  117. data/distro/common/man/man1/knife-bootstrap.1 +215 -0
  118. data/distro/common/man/man1/knife-client.1 +443 -0
  119. data/distro/common/man/man1/knife-configure.1 +161 -0
  120. data/distro/common/man/man1/knife-cookbook-site.1 +552 -0
  121. data/distro/common/man/man1/knife-cookbook.1 +770 -0
  122. data/distro/common/man/man1/knife-data-bag.1 +617 -0
  123. data/distro/common/man/man1/knife-delete.1 +127 -0
  124. data/distro/common/man/man1/knife-deps.1 +246 -0
  125. data/distro/common/man/man1/knife-diff.1 +226 -0
  126. data/distro/common/man/man1/knife-download.1 +258 -0
  127. data/distro/common/man/man1/knife-edit.1 +121 -0
  128. data/distro/common/man/man1/knife-environment.1 +508 -0
  129. data/distro/common/man/man1/knife-exec.1 +362 -0
  130. data/distro/common/man/man1/knife-index-rebuild.1 +63 -0
  131. data/distro/common/man/man1/knife-list.1 +174 -0
  132. data/distro/common/man/man1/knife-node.1 +716 -0
  133. data/distro/common/man/man1/knife-raw.1 +172 -0
  134. data/distro/common/man/man1/knife-recipe-list.1 +85 -0
  135. data/distro/common/man/man1/knife-role.1 +426 -0
  136. data/distro/common/man/man1/knife-search.1 +359 -0
  137. data/distro/common/man/man1/knife-serve.1 +109 -0
  138. data/distro/common/man/man1/knife-show.1 +160 -0
  139. data/distro/common/man/man1/knife-ssh.1 +284 -0
  140. data/distro/common/man/man1/knife-ssl-check.1 +207 -0
  141. data/distro/common/man/man1/knife-ssl-fetch.1 +207 -0
  142. data/distro/common/man/man1/knife-status.1 +234 -0
  143. data/distro/common/man/man1/knife-tag.1 +189 -0
  144. data/distro/common/man/man1/knife-upload.1 +280 -0
  145. data/distro/common/man/man1/knife-user.1 +356 -0
  146. data/distro/common/man/man1/knife-xargs.1 +189 -0
  147. data/distro/common/man/man1/knife.1 +332 -0
  148. data/distro/common/man/man8/chef-apply.8 +86 -0
  149. data/distro/common/man/man8/chef-client.8 +398 -0
  150. data/distro/common/man/man8/chef-solo.8 +260 -0
  151. data/distro/common/markdown/README +3 -0
  152. data/distro/common/markdown/man1/chef-shell.mkd +195 -0
  153. data/distro/common/markdown/man1/knife-bootstrap.mkd +141 -0
  154. data/distro/common/markdown/man1/knife-client.mkd +103 -0
  155. data/distro/common/markdown/man1/knife-configure.mkd +70 -0
  156. data/distro/common/markdown/man1/knife-cookbook-site.mkd +123 -0
  157. data/distro/common/markdown/man1/knife-cookbook.mkd +263 -0
  158. data/distro/common/markdown/man1/knife-data-bag.mkd +121 -0
  159. data/distro/common/markdown/man1/knife-environment.mkd +151 -0
  160. data/distro/common/markdown/man1/knife-exec.mkd +42 -0
  161. data/distro/common/markdown/man1/knife-index.mkd +30 -0
  162. data/distro/common/markdown/man1/knife-node.mkd +130 -0
  163. data/distro/common/markdown/man1/knife-role.mkd +85 -0
  164. data/distro/common/markdown/man1/knife-search.mkd +180 -0
  165. data/distro/common/markdown/man1/knife-ssh.mkd +69 -0
  166. data/distro/common/markdown/man1/knife-status.mkd +36 -0
  167. data/distro/common/markdown/man1/knife-tag.mkd +39 -0
  168. data/distro/common/markdown/man1/knife.mkd +213 -0
  169. data/distro/common/markdown/man8/chef-client.mkd +73 -0
  170. data/distro/common/markdown/man8/chef-expander.mkd +81 -0
  171. data/distro/common/markdown/man8/chef-expanderctl.mkd +57 -0
  172. data/distro/common/markdown/man8/chef-server-webui.mkd +121 -0
  173. data/distro/common/markdown/man8/chef-server.mkd +120 -0
  174. data/distro/common/markdown/man8/chef-solo.mkd +107 -0
  175. data/distro/common/markdown/man8/chef-solr.mkd +89 -0
  176. data/ext/win32-eventlog/Rakefile +54 -0
  177. data/ext/win32-eventlog/chef-log.man +56 -0
  178. data/lib/chef.rb +35 -0
  179. data/lib/chef/api_client.rb +226 -0
  180. data/lib/chef/api_client/registration.rb +163 -0
  181. data/lib/chef/application.rb +415 -0
  182. data/lib/chef/application/apply.rb +196 -0
  183. data/lib/chef/application/client.rb +481 -0
  184. data/lib/chef/application/knife.rb +202 -0
  185. data/lib/chef/application/solo.rb +313 -0
  186. data/lib/chef/application/windows_service.rb +323 -0
  187. data/lib/chef/application/windows_service_manager.rb +196 -0
  188. data/lib/chef/applications.rb +4 -0
  189. data/lib/chef/audit/audit_event_proxy.rb +93 -0
  190. data/lib/chef/audit/audit_reporter.rb +169 -0
  191. data/lib/chef/audit/control_group_data.rb +140 -0
  192. data/lib/chef/audit/rspec_formatter.rb +37 -0
  193. data/lib/chef/audit/runner.rb +192 -0
  194. data/lib/chef/chef_class.rb +130 -0
  195. data/lib/chef/chef_fs.rb +9 -0
  196. data/lib/chef/chef_fs/chef_fs_data_store.rb +482 -0
  197. data/lib/chef/chef_fs/command_line.rb +285 -0
  198. data/lib/chef/chef_fs/config.rb +255 -0
  199. data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +26 -0
  200. data/lib/chef/chef_fs/data_handler/client_data_handler.rb +37 -0
  201. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +29 -0
  202. data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +38 -0
  203. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +56 -0
  204. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +202 -0
  205. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +40 -0
  206. data/lib/chef/chef_fs/data_handler/group_data_handler.rb +55 -0
  207. data/lib/chef/chef_fs/data_handler/node_data_handler.rb +36 -0
  208. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +30 -0
  209. data/lib/chef/chef_fs/data_handler/organization_invites_data_handler.rb +17 -0
  210. data/lib/chef/chef_fs/data_handler/organization_members_data_handler.rb +17 -0
  211. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +15 -0
  212. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +40 -0
  213. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +29 -0
  214. data/lib/chef/chef_fs/file_pattern.rb +312 -0
  215. data/lib/chef/chef_fs/file_system.rb +429 -0
  216. data/lib/chef/chef_fs/file_system/acl_dir.rb +64 -0
  217. data/lib/chef/chef_fs/file_system/acl_entry.rb +58 -0
  218. data/lib/chef/chef_fs/file_system/acls_dir.rb +68 -0
  219. data/lib/chef/chef_fs/file_system/already_exists_error.rb +31 -0
  220. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +52 -0
  221. data/lib/chef/chef_fs/file_system/base_fs_object.rb +180 -0
  222. data/lib/chef/chef_fs/file_system/chef_repository_file_system_acls_dir.rb +37 -0
  223. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +109 -0
  224. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +87 -0
  225. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +89 -0
  226. data/lib/chef/chef_fs/file_system/chef_repository_file_system_data_bags_dir.rb +36 -0
  227. data/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +92 -0
  228. data/lib/chef/chef_fs/file_system/chef_repository_file_system_policies_dir.rb +38 -0
  229. data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +192 -0
  230. data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +159 -0
  231. data/lib/chef/chef_fs/file_system/cookbook_dir.rb +224 -0
  232. data/lib/chef/chef_fs/file_system/cookbook_file.rb +82 -0
  233. data/lib/chef/chef_fs/file_system/cookbook_frozen_error.rb +31 -0
  234. data/lib/chef/chef_fs/file_system/cookbook_subdir.rb +54 -0
  235. data/lib/chef/chef_fs/file_system/cookbooks_acl_dir.rb +41 -0
  236. data/lib/chef/chef_fs/file_system/cookbooks_dir.rb +164 -0
  237. data/lib/chef/chef_fs/file_system/data_bag_dir.rb +69 -0
  238. data/lib/chef/chef_fs/file_system/data_bags_dir.rb +73 -0
  239. data/lib/chef/chef_fs/file_system/default_environment_cannot_be_modified_error.rb +36 -0
  240. data/lib/chef/chef_fs/file_system/environments_dir.rb +60 -0
  241. data/lib/chef/chef_fs/file_system/file_system_entry.rb +108 -0
  242. data/lib/chef/chef_fs/file_system/file_system_error.rb +33 -0
  243. data/lib/chef/chef_fs/file_system/file_system_root_dir.rb +31 -0
  244. data/lib/chef/chef_fs/file_system/memory_dir.rb +52 -0
  245. data/lib/chef/chef_fs/file_system/memory_file.rb +17 -0
  246. data/lib/chef/chef_fs/file_system/memory_root.rb +21 -0
  247. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +49 -0
  248. data/lib/chef/chef_fs/file_system/must_delete_recursively_error.rb +31 -0
  249. data/lib/chef/chef_fs/file_system/nodes_dir.rb +55 -0
  250. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +36 -0
  251. data/lib/chef/chef_fs/file_system/not_found_error.rb +31 -0
  252. data/lib/chef/chef_fs/file_system/operation_failed_error.rb +42 -0
  253. data/lib/chef/chef_fs/file_system/operation_not_allowed_error.rb +48 -0
  254. data/lib/chef/chef_fs/file_system/org_entry.rb +34 -0
  255. data/lib/chef/chef_fs/file_system/organization_invites_entry.rb +59 -0
  256. data/lib/chef/chef_fs/file_system/organization_members_entry.rb +58 -0
  257. data/lib/chef/chef_fs/file_system/rest_list_dir.rb +115 -0
  258. data/lib/chef/chef_fs/file_system/rest_list_entry.rb +185 -0
  259. data/lib/chef/chef_fs/knife.rb +133 -0
  260. data/lib/chef/chef_fs/parallelizer.rb +105 -0
  261. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +35 -0
  262. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +281 -0
  263. data/lib/chef/chef_fs/path_utils.rb +95 -0
  264. data/lib/chef/client.rb +546 -0
  265. data/lib/chef/config.rb +54 -0
  266. data/lib/chef/config_fetcher.rb +64 -0
  267. data/lib/chef/cookbook/chefignore.rb +75 -0
  268. data/lib/chef/cookbook/cookbook_collection.rb +45 -0
  269. data/lib/chef/cookbook/cookbook_version_loader.rb +301 -0
  270. data/lib/chef/cookbook/file_system_file_vendor.rb +59 -0
  271. data/lib/chef/cookbook/file_vendor.rb +72 -0
  272. data/lib/chef/cookbook/metadata.rb +757 -0
  273. data/lib/chef/cookbook/remote_file_vendor.rb +87 -0
  274. data/lib/chef/cookbook/synchronizer.rb +293 -0
  275. data/lib/chef/cookbook/syntax_check.rb +260 -0
  276. data/lib/chef/cookbook_loader.rb +182 -0
  277. data/lib/chef/cookbook_manifest.rb +289 -0
  278. data/lib/chef/cookbook_site_streaming_uploader.rb +244 -0
  279. data/lib/chef/cookbook_uploader.rb +156 -0
  280. data/lib/chef/cookbook_version.rb +623 -0
  281. data/lib/chef/daemon.rb +131 -0
  282. data/lib/chef/data_bag.rb +169 -0
  283. data/lib/chef/data_bag_item.rb +215 -0
  284. data/lib/chef/deprecation/mixin/template.rb +49 -0
  285. data/lib/chef/deprecation/provider/cookbook_file.rb +55 -0
  286. data/lib/chef/deprecation/provider/file.rb +198 -0
  287. data/lib/chef/deprecation/provider/remote_file.rb +86 -0
  288. data/lib/chef/deprecation/provider/template.rb +63 -0
  289. data/lib/chef/deprecation/warnings.rb +39 -0
  290. data/lib/chef/digester.rb +70 -0
  291. data/lib/chef/dsl.rb +6 -0
  292. data/lib/chef/dsl/audit.rb +51 -0
  293. data/lib/chef/dsl/data_query.rb +89 -0
  294. data/lib/chef/dsl/definitions.rb +44 -0
  295. data/lib/chef/dsl/include_attribute.rb +63 -0
  296. data/lib/chef/dsl/include_recipe.rb +44 -0
  297. data/lib/chef/dsl/platform_introspection.rb +260 -0
  298. data/lib/chef/dsl/powershell.rb +29 -0
  299. data/lib/chef/dsl/reboot_pending.rb +64 -0
  300. data/lib/chef/dsl/recipe.rb +196 -0
  301. data/lib/chef/dsl/registry_helper.rb +59 -0
  302. data/lib/chef/dsl/resources.rb +28 -0
  303. data/lib/chef/encrypted_data_bag_item.rb +155 -0
  304. data/lib/chef/encrypted_data_bag_item/assertions.rb +54 -0
  305. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +56 -0
  306. data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +22 -0
  307. data/lib/chef/encrypted_data_bag_item/decryptor.rb +225 -0
  308. data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +37 -0
  309. data/lib/chef/encrypted_data_bag_item/encryption_failure.rb +22 -0
  310. data/lib/chef/encrypted_data_bag_item/encryptor.rb +225 -0
  311. data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +22 -0
  312. data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +22 -0
  313. data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +22 -0
  314. data/lib/chef/environment.rb +319 -0
  315. data/lib/chef/event_dispatch/base.rb +363 -0
  316. data/lib/chef/event_dispatch/dispatcher.rb +42 -0
  317. data/lib/chef/event_dispatch/events_output_stream.rb +29 -0
  318. data/lib/chef/event_loggers/base.rb +62 -0
  319. data/lib/chef/event_loggers/windows_eventlog.rb +101 -0
  320. data/lib/chef/exceptions.rb +465 -0
  321. data/lib/chef/file_access_control.rb +75 -0
  322. data/lib/chef/file_access_control/unix.rb +290 -0
  323. data/lib/chef/file_access_control/windows.rb +335 -0
  324. data/lib/chef/file_cache.rb +221 -0
  325. data/lib/chef/file_content_management/content_base.rb +56 -0
  326. data/lib/chef/file_content_management/deploy.rb +38 -0
  327. data/lib/chef/file_content_management/deploy/cp.rb +48 -0
  328. data/lib/chef/file_content_management/deploy/mv_unix.rb +77 -0
  329. data/lib/chef/file_content_management/deploy/mv_windows.rb +95 -0
  330. data/lib/chef/file_content_management/tempfile.rb +96 -0
  331. data/lib/chef/formatters/base.rb +228 -0
  332. data/lib/chef/formatters/doc.rb +338 -0
  333. data/lib/chef/formatters/error_descriptor.rb +67 -0
  334. data/lib/chef/formatters/error_inspectors.rb +19 -0
  335. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +146 -0
  336. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +118 -0
  337. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +168 -0
  338. data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +80 -0
  339. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +127 -0
  340. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +145 -0
  341. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +127 -0
  342. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +120 -0
  343. data/lib/chef/formatters/error_mapper.rb +85 -0
  344. data/lib/chef/formatters/indentable_output_stream.rb +165 -0
  345. data/lib/chef/formatters/minimal.rb +235 -0
  346. data/lib/chef/guard_interpreter.rb +32 -0
  347. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +42 -0
  348. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +132 -0
  349. data/lib/chef/handler.rb +235 -0
  350. data/lib/chef/handler/error_report.rb +33 -0
  351. data/lib/chef/handler/json_file.rb +63 -0
  352. data/lib/chef/http.rb +414 -0
  353. data/lib/chef/http/auth_credentials.rb +57 -0
  354. data/lib/chef/http/authenticator.rb +96 -0
  355. data/lib/chef/http/basic_client.rb +169 -0
  356. data/lib/chef/http/cookie_jar.rb +31 -0
  357. data/lib/chef/http/cookie_manager.rb +59 -0
  358. data/lib/chef/http/decompressor.rb +144 -0
  359. data/lib/chef/http/http_request.rb +187 -0
  360. data/lib/chef/http/json_input.rb +73 -0
  361. data/lib/chef/http/json_output.rb +78 -0
  362. data/lib/chef/http/json_to_model_output.rb +34 -0
  363. data/lib/chef/http/remote_request_id.rb +46 -0
  364. data/lib/chef/http/simple.rb +22 -0
  365. data/lib/chef/http/socketless_chef_zero_client.rb +207 -0
  366. data/lib/chef/http/ssl_policies.rb +130 -0
  367. data/lib/chef/http/validate_content_length.rb +110 -0
  368. data/lib/chef/json_compat.rb +163 -0
  369. data/lib/chef/key.rb +271 -0
  370. data/lib/chef/knife.rb +571 -0
  371. data/lib/chef/knife/bootstrap.rb +394 -0
  372. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +165 -0
  373. data/lib/chef/knife/bootstrap/client_builder.rb +190 -0
  374. data/lib/chef/knife/bootstrap/templates/README.md +12 -0
  375. data/lib/chef/knife/bootstrap/templates/archlinux-gems.erb +76 -0
  376. data/lib/chef/knife/bootstrap/templates/chef-aix.erb +72 -0
  377. data/lib/chef/knife/bootstrap/templates/chef-full.erb +231 -0
  378. data/lib/chef/knife/client_bulk_delete.rb +104 -0
  379. data/lib/chef/knife/client_create.rb +87 -0
  380. data/lib/chef/knife/client_delete.rb +60 -0
  381. data/lib/chef/knife/client_edit.rb +45 -0
  382. data/lib/chef/knife/client_key_create.rb +67 -0
  383. data/lib/chef/knife/client_key_delete.rb +76 -0
  384. data/lib/chef/knife/client_key_edit.rb +80 -0
  385. data/lib/chef/knife/client_key_list.rb +69 -0
  386. data/lib/chef/knife/client_key_show.rb +76 -0
  387. data/lib/chef/knife/client_list.rb +42 -0
  388. data/lib/chef/knife/client_reregister.rb +59 -0
  389. data/lib/chef/knife/client_show.rb +49 -0
  390. data/lib/chef/knife/configure.rb +171 -0
  391. data/lib/chef/knife/configure_client.rb +50 -0
  392. data/lib/chef/knife/cookbook_bulk_delete.rb +72 -0
  393. data/lib/chef/knife/cookbook_create.rb +448 -0
  394. data/lib/chef/knife/cookbook_delete.rb +151 -0
  395. data/lib/chef/knife/cookbook_download.rb +145 -0
  396. data/lib/chef/knife/cookbook_list.rb +47 -0
  397. data/lib/chef/knife/cookbook_metadata.rb +108 -0
  398. data/lib/chef/knife/cookbook_metadata_from_file.rb +44 -0
  399. data/lib/chef/knife/cookbook_show.rb +102 -0
  400. data/lib/chef/knife/cookbook_site_download.rb +109 -0
  401. data/lib/chef/knife/cookbook_site_install.rb +188 -0
  402. data/lib/chef/knife/cookbook_site_list.rb +62 -0
  403. data/lib/chef/knife/cookbook_site_search.rb +51 -0
  404. data/lib/chef/knife/cookbook_site_share.rb +170 -0
  405. data/lib/chef/knife/cookbook_site_show.rb +60 -0
  406. data/lib/chef/knife/cookbook_site_unshare.rb +56 -0
  407. data/lib/chef/knife/cookbook_site_vendor.rb +46 -0
  408. data/lib/chef/knife/cookbook_test.rb +96 -0
  409. data/lib/chef/knife/cookbook_upload.rb +311 -0
  410. data/lib/chef/knife/core/bootstrap_context.rb +187 -0
  411. data/lib/chef/knife/core/cookbook_scm_repo.rb +160 -0
  412. data/lib/chef/knife/core/generic_presenter.rb +223 -0
  413. data/lib/chef/knife/core/node_editor.rb +109 -0
  414. data/lib/chef/knife/core/node_presenter.rb +137 -0
  415. data/lib/chef/knife/core/object_loader.rb +114 -0
  416. data/lib/chef/knife/core/status_presenter.rb +157 -0
  417. data/lib/chef/knife/core/subcommand_loader.rb +222 -0
  418. data/lib/chef/knife/core/text_formatter.rb +86 -0
  419. data/lib/chef/knife/core/ui.rb +276 -0
  420. data/lib/chef/knife/data_bag_create.rb +77 -0
  421. data/lib/chef/knife/data_bag_delete.rb +51 -0
  422. data/lib/chef/knife/data_bag_edit.rb +77 -0
  423. data/lib/chef/knife/data_bag_from_file.rb +113 -0
  424. data/lib/chef/knife/data_bag_list.rb +46 -0
  425. data/lib/chef/knife/data_bag_secret_options.rb +142 -0
  426. data/lib/chef/knife/data_bag_show.rb +69 -0
  427. data/lib/chef/knife/delete.rb +108 -0
  428. data/lib/chef/knife/deps.rb +140 -0
  429. data/lib/chef/knife/diff.rb +69 -0
  430. data/lib/chef/knife/download.rb +69 -0
  431. data/lib/chef/knife/edit.rb +73 -0
  432. data/lib/chef/knife/environment_compare.rb +127 -0
  433. data/lib/chef/knife/environment_create.rb +53 -0
  434. data/lib/chef/knife/environment_delete.rb +45 -0
  435. data/lib/chef/knife/environment_edit.rb +45 -0
  436. data/lib/chef/knife/environment_from_file.rb +83 -0
  437. data/lib/chef/knife/environment_list.rb +42 -0
  438. data/lib/chef/knife/environment_show.rb +48 -0
  439. data/lib/chef/knife/exec.rb +87 -0
  440. data/lib/chef/knife/help.rb +103 -0
  441. data/lib/chef/knife/help_topics.rb +4 -0
  442. data/lib/chef/knife/index_rebuild.rb +134 -0
  443. data/lib/chef/knife/key_create.rb +108 -0
  444. data/lib/chef/knife/key_create_base.rb +50 -0
  445. data/lib/chef/knife/key_delete.rb +55 -0
  446. data/lib/chef/knife/key_edit.rb +114 -0
  447. data/lib/chef/knife/key_edit_base.rb +55 -0
  448. data/lib/chef/knife/key_list.rb +88 -0
  449. data/lib/chef/knife/key_list_base.rb +45 -0
  450. data/lib/chef/knife/key_show.rb +53 -0
  451. data/lib/chef/knife/list.rb +156 -0
  452. data/lib/chef/knife/node_bulk_delete.rb +80 -0
  453. data/lib/chef/knife/node_create.rb +50 -0
  454. data/lib/chef/knife/node_delete.rb +47 -0
  455. data/lib/chef/knife/node_edit.rb +72 -0
  456. data/lib/chef/knife/node_environment_set.rb +54 -0
  457. data/lib/chef/knife/node_from_file.rb +51 -0
  458. data/lib/chef/knife/node_list.rb +46 -0
  459. data/lib/chef/knife/node_run_list_add.rb +104 -0
  460. data/lib/chef/knife/node_run_list_remove.rb +56 -0
  461. data/lib/chef/knife/node_run_list_set.rb +66 -0
  462. data/lib/chef/knife/node_show.rb +67 -0
  463. data/lib/chef/knife/raw.rb +102 -0
  464. data/lib/chef/knife/recipe_list.rb +32 -0
  465. data/lib/chef/knife/role_bulk_delete.rb +70 -0
  466. data/lib/chef/knife/role_create.rb +55 -0
  467. data/lib/chef/knife/role_delete.rb +47 -0
  468. data/lib/chef/knife/role_edit.rb +48 -0
  469. data/lib/chef/knife/role_env_run_list_add.rb +86 -0
  470. data/lib/chef/knife/role_env_run_list_clear.rb +55 -0
  471. data/lib/chef/knife/role_env_run_list_remove.rb +57 -0
  472. data/lib/chef/knife/role_env_run_list_replace.rb +59 -0
  473. data/lib/chef/knife/role_env_run_list_set.rb +70 -0
  474. data/lib/chef/knife/role_from_file.rb +56 -0
  475. data/lib/chef/knife/role_list.rb +43 -0
  476. data/lib/chef/knife/role_run_list_add.rb +86 -0
  477. data/lib/chef/knife/role_run_list_clear.rb +55 -0
  478. data/lib/chef/knife/role_run_list_remove.rb +57 -0
  479. data/lib/chef/knife/role_run_list_replace.rb +59 -0
  480. data/lib/chef/knife/role_run_list_set.rb +70 -0
  481. data/lib/chef/knife/role_show.rb +52 -0
  482. data/lib/chef/knife/search.rb +201 -0
  483. data/lib/chef/knife/serve.rb +48 -0
  484. data/lib/chef/knife/show.rb +56 -0
  485. data/lib/chef/knife/ssh.rb +539 -0
  486. data/lib/chef/knife/ssl_check.rb +277 -0
  487. data/lib/chef/knife/ssl_fetch.rb +158 -0
  488. data/lib/chef/knife/status.rb +97 -0
  489. data/lib/chef/knife/tag_create.rb +52 -0
  490. data/lib/chef/knife/tag_delete.rb +60 -0
  491. data/lib/chef/knife/tag_list.rb +47 -0
  492. data/lib/chef/knife/upload.rb +71 -0
  493. data/lib/chef/knife/user_create.rb +93 -0
  494. data/lib/chef/knife/user_delete.rb +46 -0
  495. data/lib/chef/knife/user_edit.rb +53 -0
  496. data/lib/chef/knife/user_key_create.rb +69 -0
  497. data/lib/chef/knife/user_key_delete.rb +76 -0
  498. data/lib/chef/knife/user_key_edit.rb +80 -0
  499. data/lib/chef/knife/user_key_list.rb +69 -0
  500. data/lib/chef/knife/user_key_show.rb +76 -0
  501. data/lib/chef/knife/user_list.rb +42 -0
  502. data/lib/chef/knife/user_reregister.rb +59 -0
  503. data/lib/chef/knife/user_show.rb +49 -0
  504. data/lib/chef/knife/xargs.rb +267 -0
  505. data/lib/chef/local_mode.rb +121 -0
  506. data/lib/chef/log.rb +50 -0
  507. data/lib/chef/log/syslog.rb +46 -0
  508. data/lib/chef/log/winevt.rb +99 -0
  509. data/lib/chef/mash.rb +225 -0
  510. data/lib/chef/mixin/checksum.rb +32 -0
  511. data/lib/chef/mixin/command.rb +192 -0
  512. data/lib/chef/mixin/command/unix.rb +220 -0
  513. data/lib/chef/mixin/command/windows.rb +72 -0
  514. data/lib/chef/mixin/convert_to_class_name.rb +120 -0
  515. data/lib/chef/mixin/create_path.rb +73 -0
  516. data/lib/chef/mixin/deep_merge.rb +140 -0
  517. data/lib/chef/mixin/deprecation.rb +100 -0
  518. data/lib/chef/mixin/descendants_tracker.rb +82 -0
  519. data/lib/chef/mixin/enforce_ownership_and_permissions.rb +39 -0
  520. data/lib/chef/mixin/file_class.rb +37 -0
  521. data/lib/chef/mixin/from_file.rb +50 -0
  522. data/lib/chef/mixin/get_source_from_package.rb +43 -0
  523. data/lib/chef/mixin/homebrew_user.rb +68 -0
  524. data/lib/chef/mixin/language.rb +48 -0
  525. data/lib/chef/mixin/language_include_attribute.rb +35 -0
  526. data/lib/chef/mixin/language_include_recipe.rb +32 -0
  527. data/lib/chef/mixin/params_validate.rb +242 -0
  528. data/lib/chef/mixin/path_sanity.rb +68 -0
  529. data/lib/chef/mixin/powershell_type_coercions.rb +82 -0
  530. data/lib/chef/mixin/provides.rb +40 -0
  531. data/lib/chef/mixin/recipe_definition_dsl_core.rb +35 -0
  532. data/lib/chef/mixin/securable.rb +199 -0
  533. data/lib/chef/mixin/shell_out.rb +117 -0
  534. data/lib/chef/mixin/template.rb +215 -0
  535. data/lib/chef/mixin/unformatter.rb +32 -0
  536. data/lib/chef/mixin/uris.rb +33 -0
  537. data/lib/chef/mixin/which.rb +37 -0
  538. data/lib/chef/mixin/why_run.rb +332 -0
  539. data/lib/chef/mixin/windows_architecture_helper.rb +136 -0
  540. data/lib/chef/mixin/windows_env_helper.rb +56 -0
  541. data/lib/chef/mixin/wstring.rb +31 -0
  542. data/lib/chef/mixin/xml_escape.rb +140 -0
  543. data/lib/chef/mixins.rb +14 -0
  544. data/lib/chef/monkey_patches/net-ssh-multi.rb +140 -0
  545. data/lib/chef/monkey_patches/net_http.rb +60 -0
  546. data/lib/chef/monologger.rb +90 -0
  547. data/lib/chef/nil_argument.rb +3 -0
  548. data/lib/chef/node.rb +573 -0
  549. data/lib/chef/node/attribute.rb +586 -0
  550. data/lib/chef/node/attribute_collections.rb +323 -0
  551. data/lib/chef/node/immutable_collections.rb +219 -0
  552. data/lib/chef/node_map.rb +146 -0
  553. data/lib/chef/null_logger.rb +72 -0
  554. data/lib/chef/org.rb +148 -0
  555. data/lib/chef/platform.rb +30 -0
  556. data/lib/chef/platform/provider_mapping.rb +481 -0
  557. data/lib/chef/platform/provider_priority_map.rb +92 -0
  558. data/lib/chef/platform/query_helpers.rb +55 -0
  559. data/lib/chef/platform/rebooter.rb +54 -0
  560. data/lib/chef/platform/resource_priority_map.rb +37 -0
  561. data/lib/chef/platform/service_helpers.rb +142 -0
  562. data/lib/chef/policy_builder.rb +49 -0
  563. data/lib/chef/policy_builder/expand_node_object.rb +251 -0
  564. data/lib/chef/policy_builder/policyfile.rb +387 -0
  565. data/lib/chef/provider.rb +228 -0
  566. data/lib/chef/provider/batch.rb +37 -0
  567. data/lib/chef/provider/breakpoint.rb +38 -0
  568. data/lib/chef/provider/cookbook_file.rb +53 -0
  569. data/lib/chef/provider/cookbook_file/content.rb +49 -0
  570. data/lib/chef/provider/cron.rb +263 -0
  571. data/lib/chef/provider/cron/aix.rb +50 -0
  572. data/lib/chef/provider/cron/solaris.rb +22 -0
  573. data/lib/chef/provider/cron/unix.rb +83 -0
  574. data/lib/chef/provider/deploy.rb +479 -0
  575. data/lib/chef/provider/deploy/revision.rb +109 -0
  576. data/lib/chef/provider/deploy/timestamped.rb +34 -0
  577. data/lib/chef/provider/directory.rb +137 -0
  578. data/lib/chef/provider/dsc_resource.rb +157 -0
  579. data/lib/chef/provider/dsc_script.rb +185 -0
  580. data/lib/chef/provider/env.rb +169 -0
  581. data/lib/chef/provider/env/windows.rb +72 -0
  582. data/lib/chef/provider/erl_call.rb +108 -0
  583. data/lib/chef/provider/execute.rb +104 -0
  584. data/lib/chef/provider/file.rb +494 -0
  585. data/lib/chef/provider/file/content.rb +39 -0
  586. data/lib/chef/provider/git.rb +334 -0
  587. data/lib/chef/provider/group.rb +183 -0
  588. data/lib/chef/provider/group/aix.rb +85 -0
  589. data/lib/chef/provider/group/dscl.rb +170 -0
  590. data/lib/chef/provider/group/gpasswd.rb +57 -0
  591. data/lib/chef/provider/group/groupadd.rb +137 -0
  592. data/lib/chef/provider/group/groupmod.rb +128 -0
  593. data/lib/chef/provider/group/pw.rb +139 -0
  594. data/lib/chef/provider/group/suse.rb +60 -0
  595. data/lib/chef/provider/group/usermod.rb +90 -0
  596. data/lib/chef/provider/group/windows.rb +98 -0
  597. data/lib/chef/provider/http_request.rb +122 -0
  598. data/lib/chef/provider/ifconfig.rb +223 -0
  599. data/lib/chef/provider/ifconfig/aix.rb +97 -0
  600. data/lib/chef/provider/ifconfig/debian.rb +82 -0
  601. data/lib/chef/provider/ifconfig/redhat.rb +47 -0
  602. data/lib/chef/provider/link.rb +159 -0
  603. data/lib/chef/provider/log.rb +57 -0
  604. data/lib/chef/provider/lwrp_base.rb +168 -0
  605. data/lib/chef/provider/mdadm.rb +92 -0
  606. data/lib/chef/provider/mount.rb +170 -0
  607. data/lib/chef/provider/mount/aix.rb +179 -0
  608. data/lib/chef/provider/mount/mount.rb +268 -0
  609. data/lib/chef/provider/mount/solaris.rb +269 -0
  610. data/lib/chef/provider/mount/windows.rb +86 -0
  611. data/lib/chef/provider/ohai.rb +49 -0
  612. data/lib/chef/provider/package.rb +495 -0
  613. data/lib/chef/provider/package/aix.rb +136 -0
  614. data/lib/chef/provider/package/apt.rb +184 -0
  615. data/lib/chef/provider/package/dpkg.rb +149 -0
  616. data/lib/chef/provider/package/easy_install.rb +134 -0
  617. data/lib/chef/provider/package/freebsd/base.rb +89 -0
  618. data/lib/chef/provider/package/freebsd/pkg.rb +114 -0
  619. data/lib/chef/provider/package/freebsd/pkgng.rb +78 -0
  620. data/lib/chef/provider/package/freebsd/port.rb +60 -0
  621. data/lib/chef/provider/package/homebrew.rb +136 -0
  622. data/lib/chef/provider/package/ips.rb +90 -0
  623. data/lib/chef/provider/package/macports.rb +100 -0
  624. data/lib/chef/provider/package/openbsd.rb +138 -0
  625. data/lib/chef/provider/package/pacman.rb +106 -0
  626. data/lib/chef/provider/package/paludis.rb +88 -0
  627. data/lib/chef/provider/package/portage.rb +139 -0
  628. data/lib/chef/provider/package/rpm.rb +125 -0
  629. data/lib/chef/provider/package/rubygems.rb +593 -0
  630. data/lib/chef/provider/package/smartos.rb +94 -0
  631. data/lib/chef/provider/package/solaris.rb +139 -0
  632. data/lib/chef/provider/package/windows.rb +170 -0
  633. data/lib/chef/provider/package/windows/msi.rb +69 -0
  634. data/lib/chef/provider/package/yum-dump.py +307 -0
  635. data/lib/chef/provider/package/yum.rb +1401 -0
  636. data/lib/chef/provider/package/zypper.rb +130 -0
  637. data/lib/chef/provider/powershell_script.rb +94 -0
  638. data/lib/chef/provider/reboot.rb +70 -0
  639. data/lib/chef/provider/registry_key.rb +155 -0
  640. data/lib/chef/provider/remote_directory.rb +193 -0
  641. data/lib/chef/provider/remote_file.rb +53 -0
  642. data/lib/chef/provider/remote_file/cache_control_data.rb +163 -0
  643. data/lib/chef/provider/remote_file/content.rb +78 -0
  644. data/lib/chef/provider/remote_file/fetcher.rb +55 -0
  645. data/lib/chef/provider/remote_file/ftp.rb +183 -0
  646. data/lib/chef/provider/remote_file/http.rb +117 -0
  647. data/lib/chef/provider/remote_file/local_file.rb +54 -0
  648. data/lib/chef/provider/remote_file/network_file.rb +48 -0
  649. data/lib/chef/provider/resource_update.rb +52 -0
  650. data/lib/chef/provider/route.rb +229 -0
  651. data/lib/chef/provider/ruby_block.rb +44 -0
  652. data/lib/chef/provider/script.rb +84 -0
  653. data/lib/chef/provider/service.rb +173 -0
  654. data/lib/chef/provider/service/aix.rb +129 -0
  655. data/lib/chef/provider/service/aixinit.rb +117 -0
  656. data/lib/chef/provider/service/arch.rb +118 -0
  657. data/lib/chef/provider/service/debian.rb +185 -0
  658. data/lib/chef/provider/service/freebsd.rb +195 -0
  659. data/lib/chef/provider/service/gentoo.rb +71 -0
  660. data/lib/chef/provider/service/init.rb +93 -0
  661. data/lib/chef/provider/service/insserv.rb +61 -0
  662. data/lib/chef/provider/service/invokercd.rb +43 -0
  663. data/lib/chef/provider/service/macosx.rb +246 -0
  664. data/lib/chef/provider/service/openbsd.rb +216 -0
  665. data/lib/chef/provider/service/redhat.rb +84 -0
  666. data/lib/chef/provider/service/simple.rb +174 -0
  667. data/lib/chef/provider/service/solaris.rb +91 -0
  668. data/lib/chef/provider/service/systemd.rb +141 -0
  669. data/lib/chef/provider/service/upstart.rb +243 -0
  670. data/lib/chef/provider/service/windows.rb +360 -0
  671. data/lib/chef/provider/subversion.rb +215 -0
  672. data/lib/chef/provider/template.rb +65 -0
  673. data/lib/chef/provider/template/content.rb +60 -0
  674. data/lib/chef/provider/template_finder.rb +61 -0
  675. data/lib/chef/provider/user.rb +214 -0
  676. data/lib/chef/provider/user/aix.rb +95 -0
  677. data/lib/chef/provider/user/dscl.rb +700 -0
  678. data/lib/chef/provider/user/pw.rb +113 -0
  679. data/lib/chef/provider/user/solaris.rb +91 -0
  680. data/lib/chef/provider/user/useradd.rb +162 -0
  681. data/lib/chef/provider/user/windows.rb +126 -0
  682. data/lib/chef/provider/whyrun_safe_ruby_block.rb +32 -0
  683. data/lib/chef/provider/windows_script.rb +74 -0
  684. data/lib/chef/provider_resolver.rb +211 -0
  685. data/lib/chef/providers.rb +138 -0
  686. data/lib/chef/recipe.rb +129 -0
  687. data/lib/chef/request_id.rb +37 -0
  688. data/lib/chef/reserved_names.rb +9 -0
  689. data/lib/chef/resource.rb +1187 -0
  690. data/lib/chef/resource/apt_package.rb +45 -0
  691. data/lib/chef/resource/bash.rb +35 -0
  692. data/lib/chef/resource/batch.rb +33 -0
  693. data/lib/chef/resource/bff_package.rb +34 -0
  694. data/lib/chef/resource/breakpoint.rb +36 -0
  695. data/lib/chef/resource/chef_gem.rb +70 -0
  696. data/lib/chef/resource/conditional.rb +127 -0
  697. data/lib/chef/resource/conditional_action_not_nothing.rb +48 -0
  698. data/lib/chef/resource/cookbook_file.rb +51 -0
  699. data/lib/chef/resource/cron.rb +218 -0
  700. data/lib/chef/resource/csh.rb +35 -0
  701. data/lib/chef/resource/deploy.rb +434 -0
  702. data/lib/chef/resource/deploy_revision.rb +45 -0
  703. data/lib/chef/resource/directory.rb +64 -0
  704. data/lib/chef/resource/dpkg_package.rb +35 -0
  705. data/lib/chef/resource/dsc_resource.rb +83 -0
  706. data/lib/chef/resource/dsc_script.rb +139 -0
  707. data/lib/chef/resource/easy_install_package.rb +58 -0
  708. data/lib/chef/resource/env.rb +65 -0
  709. data/lib/chef/resource/erl_call.rb +88 -0
  710. data/lib/chef/resource/execute.rb +166 -0
  711. data/lib/chef/resource/file.rb +152 -0
  712. data/lib/chef/resource/file/verification.rb +122 -0
  713. data/lib/chef/resource/freebsd_package.rb +66 -0
  714. data/lib/chef/resource/gem_package.rb +59 -0
  715. data/lib/chef/resource/git.rb +47 -0
  716. data/lib/chef/resource/group.rb +105 -0
  717. data/lib/chef/resource/homebrew_package.rb +47 -0
  718. data/lib/chef/resource/http_request.rb +67 -0
  719. data/lib/chef/resource/ifconfig.rb +148 -0
  720. data/lib/chef/resource/ips_package.rb +44 -0
  721. data/lib/chef/resource/link.rb +108 -0
  722. data/lib/chef/resource/log.rb +78 -0
  723. data/lib/chef/resource/lwrp_base.rb +184 -0
  724. data/lib/chef/resource/macosx_service.rb +59 -0
  725. data/lib/chef/resource/macports_package.rb +32 -0
  726. data/lib/chef/resource/mdadm.rb +107 -0
  727. data/lib/chef/resource/mount.rb +181 -0
  728. data/lib/chef/resource/ohai.rb +55 -0
  729. data/lib/chef/resource/openbsd_package.rb +51 -0
  730. data/lib/chef/resource/package.rb +104 -0
  731. data/lib/chef/resource/pacman_package.rb +34 -0
  732. data/lib/chef/resource/paludis_package.rb +36 -0
  733. data/lib/chef/resource/perl.rb +35 -0
  734. data/lib/chef/resource/portage_package.rb +34 -0
  735. data/lib/chef/resource/powershell_script.rb +51 -0
  736. data/lib/chef/resource/python.rb +34 -0
  737. data/lib/chef/resource/reboot.rb +50 -0
  738. data/lib/chef/resource/registry_key.rb +146 -0
  739. data/lib/chef/resource/remote_directory.rb +125 -0
  740. data/lib/chef/resource/remote_file.rb +150 -0
  741. data/lib/chef/resource/resource_notification.rb +109 -0
  742. data/lib/chef/resource/route.rb +139 -0
  743. data/lib/chef/resource/rpm_package.rb +44 -0
  744. data/lib/chef/resource/ruby.rb +35 -0
  745. data/lib/chef/resource/ruby_block.rb +55 -0
  746. data/lib/chef/resource/scm.rb +188 -0
  747. data/lib/chef/resource/script.rb +77 -0
  748. data/lib/chef/resource/service.rb +191 -0
  749. data/lib/chef/resource/smartos_package.rb +37 -0
  750. data/lib/chef/resource/solaris_package.rb +43 -0
  751. data/lib/chef/resource/subversion.rb +41 -0
  752. data/lib/chef/resource/template.rb +219 -0
  753. data/lib/chef/resource/timestamped_deploy.rb +30 -0
  754. data/lib/chef/resource/user.rb +163 -0
  755. data/lib/chef/resource/whyrun_safe_ruby_block.rb +31 -0
  756. data/lib/chef/resource/windows_package.rb +100 -0
  757. data/lib/chef/resource/windows_script.rb +61 -0
  758. data/lib/chef/resource/windows_service.rb +71 -0
  759. data/lib/chef/resource/yum_package.rb +65 -0
  760. data/lib/chef/resource_builder.rb +137 -0
  761. data/lib/chef/resource_collection.rb +89 -0
  762. data/lib/chef/resource_collection/resource_collection_serialization.rb +59 -0
  763. data/lib/chef/resource_collection/resource_list.rb +89 -0
  764. data/lib/chef/resource_collection/resource_set.rb +170 -0
  765. data/lib/chef/resource_collection/stepable_iterator.rb +124 -0
  766. data/lib/chef/resource_definition.rb +68 -0
  767. data/lib/chef/resource_definition_list.rb +38 -0
  768. data/lib/chef/resource_reporter.rb +322 -0
  769. data/lib/chef/resource_resolver.rb +111 -0
  770. data/lib/chef/resources.rb +89 -0
  771. data/lib/chef/rest.rb +208 -0
  772. data/lib/chef/role.rb +274 -0
  773. data/lib/chef/run_context.rb +310 -0
  774. data/lib/chef/run_context/cookbook_compiler.rb +292 -0
  775. data/lib/chef/run_list.rb +166 -0
  776. data/lib/chef/run_list/run_list_expansion.rb +191 -0
  777. data/lib/chef/run_list/run_list_item.rb +99 -0
  778. data/lib/chef/run_list/versioned_recipe_list.rb +86 -0
  779. data/lib/chef/run_lock.rb +188 -0
  780. data/lib/chef/run_status.rb +125 -0
  781. data/lib/chef/runner.rb +117 -0
  782. data/lib/chef/sandbox.rb +20 -0
  783. data/lib/chef/scan_access_control.rb +138 -0
  784. data/lib/chef/search/query.rb +152 -0
  785. data/lib/chef/server_api.rb +44 -0
  786. data/lib/chef/shell.rb +323 -0
  787. data/lib/chef/shell/ext.rb +593 -0
  788. data/lib/chef/shell/model_wrapper.rb +120 -0
  789. data/lib/chef/shell/shell_rest.rb +28 -0
  790. data/lib/chef/shell/shell_session.rb +298 -0
  791. data/lib/chef/shell_out.rb +13 -0
  792. data/lib/chef/tasks/chef_repo.rake +201 -0
  793. data/lib/chef/user.rb +183 -0
  794. data/lib/chef/util/backup.rb +86 -0
  795. data/lib/chef/util/diff.rb +184 -0
  796. data/lib/chef/util/dsc/configuration_generator.rb +139 -0
  797. data/lib/chef/util/dsc/lcm_output_parser.rb +137 -0
  798. data/lib/chef/util/dsc/local_configuration_manager.rb +141 -0
  799. data/lib/chef/util/dsc/resource_info.rb +26 -0
  800. data/lib/chef/util/dsc/resource_store.rb +110 -0
  801. data/lib/chef/util/editor.rb +92 -0
  802. data/lib/chef/util/file_edit.rb +100 -0
  803. data/lib/chef/util/path_helper.rb +26 -0
  804. data/lib/chef/util/powershell/cmdlet.rb +170 -0
  805. data/lib/chef/util/powershell/cmdlet_result.rb +61 -0
  806. data/lib/chef/util/powershell/ps_credential.rb +38 -0
  807. data/lib/chef/util/selinux.rb +92 -0
  808. data/lib/chef/util/threaded_job_queue.rb +61 -0
  809. data/lib/chef/util/windows.rb +56 -0
  810. data/lib/chef/util/windows/net_group.rb +106 -0
  811. data/lib/chef/util/windows/net_use.rb +121 -0
  812. data/lib/chef/util/windows/net_user.rb +169 -0
  813. data/lib/chef/util/windows/volume.rb +59 -0
  814. data/lib/chef/version.rb +34 -0
  815. data/lib/chef/version/platform.rb +44 -0
  816. data/lib/chef/version_class.rb +70 -0
  817. data/lib/chef/version_constraint.rb +118 -0
  818. data/lib/chef/version_constraint/platform.rb +26 -0
  819. data/lib/chef/whitelist.rb +86 -0
  820. data/lib/chef/win32/api.rb +368 -0
  821. data/lib/chef/win32/api/crypto.rb +63 -0
  822. data/lib/chef/win32/api/error.rb +921 -0
  823. data/lib/chef/win32/api/file.rb +551 -0
  824. data/lib/chef/win32/api/installer.rb +166 -0
  825. data/lib/chef/win32/api/memory.rb +105 -0
  826. data/lib/chef/win32/api/net.rb +204 -0
  827. data/lib/chef/win32/api/process.rb +42 -0
  828. data/lib/chef/win32/api/psapi.rb +51 -0
  829. data/lib/chef/win32/api/security.rb +435 -0
  830. data/lib/chef/win32/api/synchronization.rb +89 -0
  831. data/lib/chef/win32/api/system.rb +215 -0
  832. data/lib/chef/win32/api/unicode.rb +178 -0
  833. data/lib/chef/win32/crypto.rb +49 -0
  834. data/lib/chef/win32/error.rb +73 -0
  835. data/lib/chef/win32/eventlog.rb +31 -0
  836. data/lib/chef/win32/file.rb +188 -0
  837. data/lib/chef/win32/file/info.rb +100 -0
  838. data/lib/chef/win32/handle.rb +55 -0
  839. data/lib/chef/win32/memory.rb +101 -0
  840. data/lib/chef/win32/mutex.rb +117 -0
  841. data/lib/chef/win32/net.rb +190 -0
  842. data/lib/chef/win32/process.rb +84 -0
  843. data/lib/chef/win32/registry.rb +381 -0
  844. data/lib/chef/win32/security.rb +603 -0
  845. data/lib/chef/win32/security/ace.rb +123 -0
  846. data/lib/chef/win32/security/acl.rb +103 -0
  847. data/lib/chef/win32/security/securable_object.rb +109 -0
  848. data/lib/chef/win32/security/security_descriptor.rb +93 -0
  849. data/lib/chef/win32/security/sid.rb +266 -0
  850. data/lib/chef/win32/security/token.rb +72 -0
  851. data/lib/chef/win32/unicode.rb +55 -0
  852. data/lib/chef/win32/version.rb +162 -0
  853. data/lib/chef/workstation_config_loader.rb +178 -0
  854. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -0
  855. data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -0
  856. data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -0
  857. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +34 -0
  858. data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -0
  859. data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -0
  860. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -0
  861. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -0
  862. data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -0
  863. data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -0
  864. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +34 -0
  865. data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -0
  866. data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -0
  867. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -0
  868. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -0
  869. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  870. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  871. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -0
  872. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  873. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  874. data/spec/data/apt/var/www/apt/conf/distributions +7 -0
  875. data/spec/data/apt/var/www/apt/conf/incoming +4 -0
  876. data/spec/data/apt/var/www/apt/conf/pulls +3 -0
  877. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  878. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  879. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  880. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  881. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  882. data/spec/data/apt/var/www/apt/db/version +4 -0
  883. data/spec/data/apt/var/www/apt/dists/sid/Release +19 -0
  884. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -0
  885. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  886. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -0
  887. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  888. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  889. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  890. data/spec/data/bad-config.rb +1 -0
  891. data/spec/data/bootstrap/encrypted_data_bag_secret +1 -0
  892. data/spec/data/bootstrap/no_proxy.erb +2 -0
  893. data/spec/data/bootstrap/secret.erb +9 -0
  894. data/spec/data/bootstrap/test-hints.erb +12 -0
  895. data/spec/data/bootstrap/test.erb +1 -0
  896. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  897. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  898. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +3 -0
  899. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -0
  900. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +1 -0
  901. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +1 -0
  902. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +1 -0
  903. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +1 -0
  904. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +1 -0
  905. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +1 -0
  906. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  907. data/spec/data/checksum/random.txt +1 -0
  908. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -0
  909. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  910. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -0
  911. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -0
  912. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -0
  913. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -0
  914. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -0
  915. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -0
  916. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -0
  917. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -0
  918. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -0
  919. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -0
  920. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -0
  921. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -0
  922. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -0
  923. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -0
  924. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -0
  925. data/spec/data/config.rb +6 -0
  926. data/spec/data/cookbooks/angrybash/metadata.rb +2 -0
  927. data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -0
  928. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -0
  929. data/spec/data/cookbooks/apache2/metadata.rb +2 -0
  930. data/spec/data/cookbooks/apache2/recipes/default.rb +3 -0
  931. data/spec/data/cookbooks/borken/metadata.rb +2 -0
  932. data/spec/data/cookbooks/borken/recipes/default.rb +2 -0
  933. data/spec/data/cookbooks/borken/templates/default/borken.erb +2 -0
  934. data/spec/data/cookbooks/chefignore +8 -0
  935. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -0
  936. data/spec/data/cookbooks/ignorken/metadata.rb +2 -0
  937. data/spec/data/cookbooks/ignorken/recipes/default.rb +1 -0
  938. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +2 -0
  939. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -0
  940. data/spec/data/cookbooks/java/files/default/java.response +2 -0
  941. data/spec/data/cookbooks/java/metadata.rb +2 -0
  942. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -0
  943. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -0
  944. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +8 -0
  945. data/spec/data/cookbooks/openldap/attributes/default.rb +16 -0
  946. data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -0
  947. data/spec/data/cookbooks/openldap/definitions/client.rb +5 -0
  948. data/spec/data/cookbooks/openldap/definitions/server.rb +5 -0
  949. data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -0
  950. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +1 -0
  951. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -0
  952. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -0
  953. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +3 -0
  954. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +3 -0
  955. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -0
  956. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +3 -0
  957. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +3 -0
  958. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -0
  959. data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -0
  960. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -0
  961. data/spec/data/cookbooks/openldap/metadata.rb +8 -0
  962. data/spec/data/cookbooks/openldap/recipes/default.rb +4 -0
  963. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -0
  964. data/spec/data/cookbooks/openldap/recipes/one.rb +15 -0
  965. data/spec/data/cookbooks/openldap/recipes/return.rb +2 -0
  966. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +4 -0
  967. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -0
  968. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -0
  969. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -0
  970. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +1 -0
  971. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -0
  972. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +4 -0
  973. data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -0
  974. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -0
  975. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -0
  976. data/spec/data/cookbooks/preseed/metadata.rb +2 -0
  977. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -0
  978. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -0
  979. data/spec/data/definitions/test.rb +5 -0
  980. data/spec/data/environment-config.rb +5 -0
  981. data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -0
  982. data/spec/data/fileedit/blank +0 -0
  983. data/spec/data/fileedit/hosts +4 -0
  984. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  985. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  986. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  987. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  988. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  989. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -0
  990. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -0
  991. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +8 -0
  992. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -0
  993. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +10 -0
  994. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +8 -0
  995. data/spec/data/kitchen/chefignore +6 -0
  996. data/spec/data/kitchen/openldap/attributes/default.rb +3 -0
  997. data/spec/data/kitchen/openldap/attributes/robinson.rb +3 -0
  998. data/spec/data/kitchen/openldap/definitions/client.rb +3 -0
  999. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +3 -0
  1000. data/spec/data/kitchen/openldap/recipes/gigantor.rb +3 -0
  1001. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +3 -0
  1002. data/spec/data/kitchen/openldap/recipes/woot.rb +3 -0
  1003. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  1004. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  1005. data/spec/data/knife_subcommand/test_explicit_category.rb +7 -0
  1006. data/spec/data/knife_subcommand/test_name_mapping.rb +4 -0
  1007. data/spec/data/knife_subcommand/test_yourself.rb +21 -0
  1008. data/spec/data/lwrp/providers/buck_passer.rb +28 -0
  1009. data/spec/data/lwrp/providers/buck_passer_2.rb +26 -0
  1010. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +28 -0
  1011. data/spec/data/lwrp/providers/inline_compiler.rb +26 -0
  1012. data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -0
  1013. data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -0
  1014. data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -0
  1015. data/spec/data/lwrp/resources/bar.rb +2 -0
  1016. data/spec/data/lwrp/resources/foo.rb +4 -0
  1017. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +1 -0
  1018. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -0
  1019. data/spec/data/lwrp_override/providers/buck_passer.rb +5 -0
  1020. data/spec/data/lwrp_override/resources/foo.rb +10 -0
  1021. data/spec/data/mac_users/10.7-8.plist.xml +559 -0
  1022. data/spec/data/mac_users/10.7-8.shadow.xml +11 -0
  1023. data/spec/data/mac_users/10.7.plist.xml +559 -0
  1024. data/spec/data/mac_users/10.7.shadow.xml +11 -0
  1025. data/spec/data/mac_users/10.8.plist.xml +559 -0
  1026. data/spec/data/mac_users/10.8.shadow.xml +21 -0
  1027. data/spec/data/mac_users/10.9.plist.xml +560 -0
  1028. data/spec/data/mac_users/10.9.shadow.xml +21 -0
  1029. data/spec/data/metadata/quick_start/metadata.rb +19 -0
  1030. data/spec/data/nested.json +2 -0
  1031. data/spec/data/nodes/default.rb +15 -0
  1032. data/spec/data/nodes/test.example.com.rb +17 -0
  1033. data/spec/data/nodes/test.rb +15 -0
  1034. data/spec/data/null_config.rb +1 -0
  1035. data/spec/data/object_loader/environments/test.json +7 -0
  1036. data/spec/data/object_loader/environments/test.rb +2 -0
  1037. data/spec/data/object_loader/environments/test_json_class.json +8 -0
  1038. data/spec/data/object_loader/nodes/test.json +7 -0
  1039. data/spec/data/object_loader/nodes/test.rb +2 -0
  1040. data/spec/data/object_loader/nodes/test_json_class.json +8 -0
  1041. data/spec/data/object_loader/roles/test.json +7 -0
  1042. data/spec/data/object_loader/roles/test.rb +2 -0
  1043. data/spec/data/object_loader/roles/test_json_class.json +8 -0
  1044. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  1045. data/spec/data/old_home_dir/my-dot-vim +0 -0
  1046. data/spec/data/partial_one.erb +1 -0
  1047. data/spec/data/recipes.tgz +0 -0
  1048. data/spec/data/recipes/test.rb +7 -0
  1049. data/spec/data/remote_directory_data/remote_dir_file.txt +1 -0
  1050. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +1 -0
  1051. data/spec/data/remote_file/nyan_cat.png +0 -0
  1052. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  1053. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +4 -0
  1054. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -0
  1055. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -0
  1056. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -0
  1057. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -0
  1058. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  1059. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  1060. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +3 -0
  1061. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -0
  1062. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -0
  1063. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -0
  1064. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -0
  1065. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  1066. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  1067. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -0
  1068. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -0
  1069. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +3 -0
  1070. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -0
  1071. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -0
  1072. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -0
  1073. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  1074. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  1075. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +3 -0
  1076. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -0
  1077. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -0
  1078. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -0
  1079. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  1080. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  1081. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +3 -0
  1082. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -0
  1083. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -0
  1084. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  1085. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  1086. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +3 -0
  1087. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -0
  1088. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -0
  1089. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -0
  1090. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -0
  1091. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  1092. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -0
  1093. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +3 -0
  1094. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -0
  1095. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -0
  1096. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -0
  1097. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -0
  1098. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  1099. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  1100. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  1101. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  1102. data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -0
  1103. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -0
  1104. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -0
  1105. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -0
  1106. data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -0
  1107. data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -0
  1108. data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -0
  1109. data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -0
  1110. data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -0
  1111. data/spec/data/run_context/nodes/run_context.rb +5 -0
  1112. data/spec/data/search_queries_to_transform.txt +98 -0
  1113. data/spec/data/shef-config.rb +10 -0
  1114. data/spec/data/ssl/5e707473.0 +18 -0
  1115. data/spec/data/ssl/chef-rspec.cert +27 -0
  1116. data/spec/data/ssl/chef-rspec.key +27 -0
  1117. data/spec/data/ssl/key.pem +15 -0
  1118. data/spec/data/ssl/private_key.pem +27 -0
  1119. data/spec/data/ssl/private_key_with_whitespace.pem +32 -0
  1120. data/spec/data/standalone_cookbook/Gemfile +1 -0
  1121. data/spec/data/standalone_cookbook/chefignore +9 -0
  1122. data/spec/data/standalone_cookbook/recipes/default.rb +3 -0
  1123. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +1 -0
  1124. data/spec/data/templates/seattle.txt +1 -0
  1125. data/spec/data/trusted_certs/example.crt +22 -0
  1126. data/spec/data/trusted_certs/intermediate.pem +27 -0
  1127. data/spec/data/trusted_certs/opscode.pem +60 -0
  1128. data/spec/data/trusted_certs/root.pem +22 -0
  1129. data/spec/functional/application_spec.rb +58 -0
  1130. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  1131. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  1132. data/spec/functional/assets/chefinittest +34 -0
  1133. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  1134. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  1135. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  1136. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  1137. data/spec/functional/assets/testchefsubsys +11 -0
  1138. data/spec/functional/audit/rspec_formatter_spec.rb +54 -0
  1139. data/spec/functional/audit/runner_spec.rb +137 -0
  1140. data/spec/functional/dsl/reboot_pending_spec.rb +121 -0
  1141. data/spec/functional/dsl/registry_helper_spec.rb +63 -0
  1142. data/spec/functional/event_loggers/windows_eventlog_spec.rb +96 -0
  1143. data/spec/functional/file_content_management/deploy_strategies_spec.rb +230 -0
  1144. data/spec/functional/http/simple_spec.rb +140 -0
  1145. data/spec/functional/knife/configure_spec.rb +38 -0
  1146. data/spec/functional/knife/cookbook_delete_spec.rb +157 -0
  1147. data/spec/functional/knife/exec_spec.rb +55 -0
  1148. data/spec/functional/knife/smoke_test.rb +34 -0
  1149. data/spec/functional/knife/ssh_spec.rb +268 -0
  1150. data/spec/functional/mixin/shell_out_spec.rb +48 -0
  1151. data/spec/functional/notifications_spec.rb +169 -0
  1152. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +101 -0
  1153. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +51 -0
  1154. data/spec/functional/rebooter_spec.rb +105 -0
  1155. data/spec/functional/resource/aix_service_spec.rb +139 -0
  1156. data/spec/functional/resource/aixinit_service_spec.rb +211 -0
  1157. data/spec/functional/resource/base.rb +30 -0
  1158. data/spec/functional/resource/bash_spec.rb +88 -0
  1159. data/spec/functional/resource/batch_spec.rb +30 -0
  1160. data/spec/functional/resource/bff_spec.rb +122 -0
  1161. data/spec/functional/resource/cookbook_file_spec.rb +81 -0
  1162. data/spec/functional/resource/cron_spec.rb +172 -0
  1163. data/spec/functional/resource/deploy_revision_spec.rb +881 -0
  1164. data/spec/functional/resource/directory_spec.rb +43 -0
  1165. data/spec/functional/resource/dsc_resource_spec.rb +93 -0
  1166. data/spec/functional/resource/dsc_script_spec.rb +382 -0
  1167. data/spec/functional/resource/env_spec.rb +192 -0
  1168. data/spec/functional/resource/execute_spec.rb +147 -0
  1169. data/spec/functional/resource/file_spec.rb +143 -0
  1170. data/spec/functional/resource/git_spec.rb +259 -0
  1171. data/spec/functional/resource/group_spec.rb +433 -0
  1172. data/spec/functional/resource/ifconfig_spec.rb +163 -0
  1173. data/spec/functional/resource/link_spec.rb +614 -0
  1174. data/spec/functional/resource/mount_spec.rb +212 -0
  1175. data/spec/functional/resource/ohai_spec.rb +65 -0
  1176. data/spec/functional/resource/package_spec.rb +390 -0
  1177. data/spec/functional/resource/powershell_spec.rb +477 -0
  1178. data/spec/functional/resource/reboot_spec.rb +103 -0
  1179. data/spec/functional/resource/registry_spec.rb +561 -0
  1180. data/spec/functional/resource/remote_directory_spec.rb +220 -0
  1181. data/spec/functional/resource/remote_file_spec.rb +240 -0
  1182. data/spec/functional/resource/rpm_spec.rb +123 -0
  1183. data/spec/functional/resource/template_spec.rb +212 -0
  1184. data/spec/functional/resource/user/dscl_spec.rb +198 -0
  1185. data/spec/functional/resource/user/useradd_spec.rb +713 -0
  1186. data/spec/functional/resource/user/windows_spec.rb +125 -0
  1187. data/spec/functional/resource/windows_service_spec.rb +98 -0
  1188. data/spec/functional/rest_spec.rb +94 -0
  1189. data/spec/functional/run_lock_spec.rb +286 -0
  1190. data/spec/functional/shell_spec.rb +147 -0
  1191. data/spec/functional/tiny_server_spec.rb +78 -0
  1192. data/spec/functional/util/path_helper_spec.rb +37 -0
  1193. data/spec/functional/util/powershell/cmdlet_spec.rb +114 -0
  1194. data/spec/functional/version_spec.rb +35 -0
  1195. data/spec/functional/win32/crypto_spec.rb +57 -0
  1196. data/spec/functional/win32/registry_helper_spec.rb +632 -0
  1197. data/spec/functional/win32/security_spec.rb +100 -0
  1198. data/spec/functional/win32/service_manager_spec.rb +221 -0
  1199. data/spec/functional/win32/sid_spec.rb +55 -0
  1200. data/spec/functional/win32/versions_spec.rb +117 -0
  1201. data/spec/integration/client/client_spec.rb +370 -0
  1202. data/spec/integration/client/ipv6_spec.rb +135 -0
  1203. data/spec/integration/knife/chef_fs_data_store_spec.rb +370 -0
  1204. data/spec/integration/knife/chef_repo_path_spec.rb +888 -0
  1205. data/spec/integration/knife/chef_repository_file_system_spec.rb +292 -0
  1206. data/spec/integration/knife/chefignore_spec.rb +300 -0
  1207. data/spec/integration/knife/common_options_spec.rb +155 -0
  1208. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +112 -0
  1209. data/spec/integration/knife/delete_spec.rb +1003 -0
  1210. data/spec/integration/knife/deps_spec.rb +706 -0
  1211. data/spec/integration/knife/diff_spec.rb +602 -0
  1212. data/spec/integration/knife/download_spec.rb +1170 -0
  1213. data/spec/integration/knife/list_spec.rb +865 -0
  1214. data/spec/integration/knife/raw_spec.rb +242 -0
  1215. data/spec/integration/knife/redirection_spec.rb +52 -0
  1216. data/spec/integration/knife/serve_spec.rb +57 -0
  1217. data/spec/integration/knife/show_spec.rb +167 -0
  1218. data/spec/integration/knife/upload_spec.rb +1391 -0
  1219. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +78 -0
  1220. data/spec/integration/recipes/provider_choice.rb +41 -0
  1221. data/spec/integration/recipes/recipe_dsl_spec.rb +259 -0
  1222. data/spec/integration/solo/solo_spec.rb +143 -0
  1223. data/spec/rcov.opts +2 -0
  1224. data/spec/scripts/ssl-serve.rb +52 -0
  1225. data/spec/spec_helper.rb +219 -0
  1226. data/spec/stress/win32/file_spec.rb +37 -0
  1227. data/spec/stress/win32/memory_spec.rb +22 -0
  1228. data/spec/stress/win32/security_spec.rb +69 -0
  1229. data/spec/support/chef_helpers.rb +96 -0
  1230. data/spec/support/key_helpers.rb +104 -0
  1231. data/spec/support/lib/chef/provider/easy.rb +35 -0
  1232. data/spec/support/lib/chef/provider/snakeoil.rb +41 -0
  1233. data/spec/support/lib/chef/resource/cat.rb +40 -0
  1234. data/spec/support/lib/chef/resource/one_two_three_four.rb +43 -0
  1235. data/spec/support/lib/chef/resource/with_state.rb +37 -0
  1236. data/spec/support/lib/chef/resource/zen_follower.rb +41 -0
  1237. data/spec/support/lib/chef/resource/zen_master.rb +47 -0
  1238. data/spec/support/lib/library_load_order.rb +22 -0
  1239. data/spec/support/matchers/leak.rb +96 -0
  1240. data/spec/support/mock/constant.rb +52 -0
  1241. data/spec/support/mock/platform.rb +25 -0
  1242. data/spec/support/pedant/Gemfile +3 -0
  1243. data/spec/support/pedant/Gemfile.lock +67 -0
  1244. data/spec/support/pedant/pedant_config.rb +129 -0
  1245. data/spec/support/pedant/run_pedant.rb +63 -0
  1246. data/spec/support/pedant/stickywicket.pem +27 -0
  1247. data/spec/support/platform_helpers.rb +184 -0
  1248. data/spec/support/platforms/prof/gc.rb +54 -0
  1249. data/spec/support/platforms/prof/win32.rb +46 -0
  1250. data/spec/support/platforms/win32/spec_service.rb +59 -0
  1251. data/spec/support/shared/context/config.rb +21 -0
  1252. data/spec/support/shared/functional/diff_disabled.rb +10 -0
  1253. data/spec/support/shared/functional/directory_resource.rb +176 -0
  1254. data/spec/support/shared/functional/file_resource.rb +1056 -0
  1255. data/spec/support/shared/functional/http.rb +249 -0
  1256. data/spec/support/shared/functional/knife.rb +37 -0
  1257. data/spec/support/shared/functional/securable_resource.rb +571 -0
  1258. data/spec/support/shared/functional/securable_resource_with_reporting.rb +398 -0
  1259. data/spec/support/shared/functional/win32_service.rb +60 -0
  1260. data/spec/support/shared/functional/windows_script.rb +165 -0
  1261. data/spec/support/shared/integration/app_server_support.rb +42 -0
  1262. data/spec/support/shared/integration/integration_helper.rb +148 -0
  1263. data/spec/support/shared/integration/knife_support.rb +173 -0
  1264. data/spec/support/shared/matchers/exit_with_code.rb +32 -0
  1265. data/spec/support/shared/matchers/match_environment_variable.rb +17 -0
  1266. data/spec/support/shared/shared_examples.rb +14 -0
  1267. data/spec/support/shared/unit/api_error_inspector.rb +192 -0
  1268. data/spec/support/shared/unit/execute_resource.rb +128 -0
  1269. data/spec/support/shared/unit/file_system_support.rb +70 -0
  1270. data/spec/support/shared/unit/platform_introspector.rb +184 -0
  1271. data/spec/support/shared/unit/provider/file.rb +840 -0
  1272. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +434 -0
  1273. data/spec/support/shared/unit/resource/static_provider_resolution.rb +66 -0
  1274. data/spec/support/shared/unit/script_resource.rb +98 -0
  1275. data/spec/support/shared/unit/windows_script_resource.rb +81 -0
  1276. data/spec/tiny_server.rb +203 -0
  1277. data/spec/unit/api_client/registration_spec.rb +274 -0
  1278. data/spec/unit/api_client_spec.rb +348 -0
  1279. data/spec/unit/application/agent_spec.rb +0 -0
  1280. data/spec/unit/application/apply_spec.rb +110 -0
  1281. data/spec/unit/application/client_spec.rb +420 -0
  1282. data/spec/unit/application/knife_spec.rb +177 -0
  1283. data/spec/unit/application/server_spec.rb +0 -0
  1284. data/spec/unit/application/solo_spec.rb +185 -0
  1285. data/spec/unit/application_spec.rb +544 -0
  1286. data/spec/unit/audit/audit_event_proxy_spec.rb +311 -0
  1287. data/spec/unit/audit/audit_reporter_spec.rb +393 -0
  1288. data/spec/unit/audit/control_group_data_spec.rb +478 -0
  1289. data/spec/unit/audit/rspec_formatter_spec.rb +29 -0
  1290. data/spec/unit/audit/runner_spec.rb +145 -0
  1291. data/spec/unit/chef_class_spec.rb +91 -0
  1292. data/spec/unit/chef_fs/config_spec.rb +110 -0
  1293. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +63 -0
  1294. data/spec/unit/chef_fs/diff_spec.rb +328 -0
  1295. data/spec/unit/chef_fs/file_pattern_spec.rb +525 -0
  1296. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +47 -0
  1297. data/spec/unit/chef_fs/file_system_spec.rb +148 -0
  1298. data/spec/unit/chef_fs/parallelizer.rb +482 -0
  1299. data/spec/unit/chef_spec.rb +25 -0
  1300. data/spec/unit/client_spec.rb +839 -0
  1301. data/spec/unit/config_fetcher_spec.rb +97 -0
  1302. data/spec/unit/cookbook/chefignore_spec.rb +49 -0
  1303. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +187 -0
  1304. data/spec/unit/cookbook/file_vendor_spec.rb +98 -0
  1305. data/spec/unit/cookbook/metadata_spec.rb +787 -0
  1306. data/spec/unit/cookbook/synchronizer_spec.rb +521 -0
  1307. data/spec/unit/cookbook/syntax_check_spec.rb +214 -0
  1308. data/spec/unit/cookbook_loader_spec.rb +291 -0
  1309. data/spec/unit/cookbook_manifest_spec.rb +244 -0
  1310. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +199 -0
  1311. data/spec/unit/cookbook_spec.rb +75 -0
  1312. data/spec/unit/cookbook_uploader_spec.rb +200 -0
  1313. data/spec/unit/cookbook_version_file_specificity_spec.rb +554 -0
  1314. data/spec/unit/cookbook_version_spec.rb +364 -0
  1315. data/spec/unit/daemon_spec.rb +174 -0
  1316. data/spec/unit/data_bag_item_spec.rb +324 -0
  1317. data/spec/unit/data_bag_spec.rb +260 -0
  1318. data/spec/unit/deprecation_spec.rb +98 -0
  1319. data/spec/unit/digester_spec.rb +50 -0
  1320. data/spec/unit/dsl/audit_spec.rb +43 -0
  1321. data/spec/unit/dsl/data_query_spec.rb +106 -0
  1322. data/spec/unit/dsl/platform_introspection_spec.rb +130 -0
  1323. data/spec/unit/dsl/reboot_pending_spec.rb +94 -0
  1324. data/spec/unit/dsl/recipe_spec.rb +82 -0
  1325. data/spec/unit/dsl/regsitry_helper_spec.rb +55 -0
  1326. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +95 -0
  1327. data/spec/unit/encrypted_data_bag_item_spec.rb +437 -0
  1328. data/spec/unit/environment_spec.rb +470 -0
  1329. data/spec/unit/event_dispatch/dispatcher_spec.rb +61 -0
  1330. data/spec/unit/exceptions_spec.rb +130 -0
  1331. data/spec/unit/file_access_control_spec.rb +308 -0
  1332. data/spec/unit/file_cache_spec.rb +114 -0
  1333. data/spec/unit/file_content_management/deploy/cp_spec.rb +46 -0
  1334. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +103 -0
  1335. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +179 -0
  1336. data/spec/unit/formatters/base_spec.rb +48 -0
  1337. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +75 -0
  1338. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +239 -0
  1339. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +129 -0
  1340. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +43 -0
  1341. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +27 -0
  1342. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +27 -0
  1343. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +193 -0
  1344. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +93 -0
  1345. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +147 -0
  1346. data/spec/unit/guard_interpreter_spec.rb +41 -0
  1347. data/spec/unit/handler/json_file_spec.rb +64 -0
  1348. data/spec/unit/handler_spec.rb +215 -0
  1349. data/spec/unit/http/authenticator_spec.rb +69 -0
  1350. data/spec/unit/http/basic_client_spec.rb +129 -0
  1351. data/spec/unit/http/http_request_spec.rb +91 -0
  1352. data/spec/unit/http/json_input_spec.rb +128 -0
  1353. data/spec/unit/http/simple_spec.rb +32 -0
  1354. data/spec/unit/http/socketless_chef_zero_client_spec.rb +174 -0
  1355. data/spec/unit/http/ssl_policies_spec.rb +170 -0
  1356. data/spec/unit/http/validate_content_length_spec.rb +192 -0
  1357. data/spec/unit/http_spec.rb +92 -0
  1358. data/spec/unit/json_compat_spec.rb +97 -0
  1359. data/spec/unit/key_spec.rb +634 -0
  1360. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +153 -0
  1361. data/spec/unit/knife/bootstrap/client_builder_spec.rb +178 -0
  1362. data/spec/unit/knife/bootstrap_spec.rb +641 -0
  1363. data/spec/unit/knife/client_bulk_delete_spec.rb +166 -0
  1364. data/spec/unit/knife/client_create_spec.rb +116 -0
  1365. data/spec/unit/knife/client_delete_spec.rb +83 -0
  1366. data/spec/unit/knife/client_edit_spec.rb +40 -0
  1367. data/spec/unit/knife/client_list_spec.rb +34 -0
  1368. data/spec/unit/knife/client_reregister_spec.rb +62 -0
  1369. data/spec/unit/knife/client_show_spec.rb +52 -0
  1370. data/spec/unit/knife/configure_client_spec.rb +84 -0
  1371. data/spec/unit/knife/configure_spec.rb +243 -0
  1372. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +89 -0
  1373. data/spec/unit/knife/cookbook_create_spec.rb +260 -0
  1374. data/spec/unit/knife/cookbook_delete_spec.rb +239 -0
  1375. data/spec/unit/knife/cookbook_download_spec.rb +238 -0
  1376. data/spec/unit/knife/cookbook_list_spec.rb +88 -0
  1377. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +65 -0
  1378. data/spec/unit/knife/cookbook_metadata_spec.rb +179 -0
  1379. data/spec/unit/knife/cookbook_show_spec.rb +223 -0
  1380. data/spec/unit/knife/cookbook_site_download_spec.rb +151 -0
  1381. data/spec/unit/knife/cookbook_site_install_spec.rb +195 -0
  1382. data/spec/unit/knife/cookbook_site_share_spec.rb +209 -0
  1383. data/spec/unit/knife/cookbook_site_unshare_spec.rb +77 -0
  1384. data/spec/unit/knife/cookbook_test_spec.rb +84 -0
  1385. data/spec/unit/knife/cookbook_upload_spec.rb +329 -0
  1386. data/spec/unit/knife/core/bootstrap_context_spec.rb +227 -0
  1387. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +187 -0
  1388. data/spec/unit/knife/core/object_loader_spec.rb +81 -0
  1389. data/spec/unit/knife/core/subcommand_loader_spec.rb +224 -0
  1390. data/spec/unit/knife/core/ui_spec.rb +577 -0
  1391. data/spec/unit/knife/data_bag_create_spec.rb +109 -0
  1392. data/spec/unit/knife/data_bag_edit_spec.rb +127 -0
  1393. data/spec/unit/knife/data_bag_from_file_spec.rb +172 -0
  1394. data/spec/unit/knife/data_bag_secret_options_spec.rb +165 -0
  1395. data/spec/unit/knife/data_bag_show_spec.rb +123 -0
  1396. data/spec/unit/knife/environment_compare_spec.rb +112 -0
  1397. data/spec/unit/knife/environment_create_spec.rb +91 -0
  1398. data/spec/unit/knife/environment_delete_spec.rb +71 -0
  1399. data/spec/unit/knife/environment_edit_spec.rb +79 -0
  1400. data/spec/unit/knife/environment_from_file_spec.rb +90 -0
  1401. data/spec/unit/knife/environment_list_spec.rb +54 -0
  1402. data/spec/unit/knife/environment_show_spec.rb +52 -0
  1403. data/spec/unit/knife/index_rebuild_spec.rb +128 -0
  1404. data/spec/unit/knife/key_create_spec.rb +224 -0
  1405. data/spec/unit/knife/key_delete_spec.rb +135 -0
  1406. data/spec/unit/knife/key_edit_spec.rb +267 -0
  1407. data/spec/unit/knife/key_helper.rb +74 -0
  1408. data/spec/unit/knife/key_list_spec.rb +216 -0
  1409. data/spec/unit/knife/key_show_spec.rb +126 -0
  1410. data/spec/unit/knife/knife_help.rb +92 -0
  1411. data/spec/unit/knife/node_bulk_delete_spec.rb +97 -0
  1412. data/spec/unit/knife/node_delete_spec.rb +68 -0
  1413. data/spec/unit/knife/node_edit_spec.rb +115 -0
  1414. data/spec/unit/knife/node_environment_set_spec.rb +80 -0
  1415. data/spec/unit/knife/node_from_file_spec.rb +59 -0
  1416. data/spec/unit/knife/node_list_spec.rb +63 -0
  1417. data/spec/unit/knife/node_run_list_add_spec.rb +148 -0
  1418. data/spec/unit/knife/node_run_list_remove_spec.rb +89 -0
  1419. data/spec/unit/knife/node_run_list_set_spec.rb +140 -0
  1420. data/spec/unit/knife/node_show_spec.rb +65 -0
  1421. data/spec/unit/knife/raw_spec.rb +43 -0
  1422. data/spec/unit/knife/role_bulk_delete_spec.rb +80 -0
  1423. data/spec/unit/knife/role_create_spec.rb +80 -0
  1424. data/spec/unit/knife/role_delete_spec.rb +67 -0
  1425. data/spec/unit/knife/role_edit_spec.rb +79 -0
  1426. data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -0
  1427. data/spec/unit/knife/role_env_run_list_clear_spec.rb +100 -0
  1428. data/spec/unit/knife/role_env_run_list_remove_spec.rb +108 -0
  1429. data/spec/unit/knife/role_env_run_list_replace_spec.rb +108 -0
  1430. data/spec/unit/knife/role_env_run_list_set_spec.rb +102 -0
  1431. data/spec/unit/knife/role_from_file_spec.rb +69 -0
  1432. data/spec/unit/knife/role_list_spec.rb +56 -0
  1433. data/spec/unit/knife/role_run_list_add_spec.rb +179 -0
  1434. data/spec/unit/knife/role_run_list_clear_spec.rb +90 -0
  1435. data/spec/unit/knife/role_run_list_remove_spec.rb +98 -0
  1436. data/spec/unit/knife/role_run_list_replace_spec.rb +101 -0
  1437. data/spec/unit/knife/role_run_list_set_spec.rb +92 -0
  1438. data/spec/unit/knife/role_show_spec.rb +59 -0
  1439. data/spec/unit/knife/ssh_spec.rb +410 -0
  1440. data/spec/unit/knife/ssl_check_spec.rb +232 -0
  1441. data/spec/unit/knife/ssl_fetch_spec.rb +184 -0
  1442. data/spec/unit/knife/status_spec.rb +108 -0
  1443. data/spec/unit/knife/tag_create_spec.rb +23 -0
  1444. data/spec/unit/knife/tag_delete_spec.rb +25 -0
  1445. data/spec/unit/knife/tag_list_spec.rb +23 -0
  1446. data/spec/unit/knife/user_create_spec.rb +88 -0
  1447. data/spec/unit/knife/user_delete_spec.rb +39 -0
  1448. data/spec/unit/knife/user_edit_spec.rb +47 -0
  1449. data/spec/unit/knife/user_list_spec.rb +32 -0
  1450. data/spec/unit/knife/user_reregister_spec.rb +53 -0
  1451. data/spec/unit/knife/user_show_spec.rb +41 -0
  1452. data/spec/unit/knife_spec.rb +492 -0
  1453. data/spec/unit/log/syslog_spec.rb +53 -0
  1454. data/spec/unit/log/winevt_spec.rb +55 -0
  1455. data/spec/unit/log_spec.rb +24 -0
  1456. data/spec/unit/lwrp_spec.rb +497 -0
  1457. data/spec/unit/mash_spec.rb +51 -0
  1458. data/spec/unit/mixin/checksum_spec.rb +41 -0
  1459. data/spec/unit/mixin/command_spec.rb +105 -0
  1460. data/spec/unit/mixin/convert_to_class_name_spec.rb +54 -0
  1461. data/spec/unit/mixin/deep_merge_spec.rb +342 -0
  1462. data/spec/unit/mixin/deprecation_spec.rb +57 -0
  1463. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +96 -0
  1464. data/spec/unit/mixin/homebrew_user_spec.rb +100 -0
  1465. data/spec/unit/mixin/params_validate_spec.rb +407 -0
  1466. data/spec/unit/mixin/path_sanity_spec.rb +86 -0
  1467. data/spec/unit/mixin/powershell_type_coercions_spec.rb +72 -0
  1468. data/spec/unit/mixin/securable_spec.rb +314 -0
  1469. data/spec/unit/mixin/shell_out_spec.rb +299 -0
  1470. data/spec/unit/mixin/template_spec.rb +269 -0
  1471. data/spec/unit/mixin/unformatter_spec.rb +61 -0
  1472. data/spec/unit/mixin/uris_spec.rb +45 -0
  1473. data/spec/unit/mixin/windows_architecture_helper_spec.rb +83 -0
  1474. data/spec/unit/mixin/xml_escape_spec.rb +54 -0
  1475. data/spec/unit/monkey_patches/uri_spec.rb +34 -0
  1476. data/spec/unit/monologger_spec.rb +45 -0
  1477. data/spec/unit/node/attribute_spec.rb +1224 -0
  1478. data/spec/unit/node/immutable_collections_spec.rb +198 -0
  1479. data/spec/unit/node_map_spec.rb +155 -0
  1480. data/spec/unit/node_spec.rb +1307 -0
  1481. data/spec/unit/org_spec.rb +196 -0
  1482. data/spec/unit/platform/query_helpers_spec.rb +77 -0
  1483. data/spec/unit/platform_spec.rb +301 -0
  1484. data/spec/unit/policy_builder/expand_node_object_spec.rb +335 -0
  1485. data/spec/unit/policy_builder/policyfile_spec.rb +530 -0
  1486. data/spec/unit/policy_builder_spec.rb +26 -0
  1487. data/spec/unit/provider/breakpoint_spec.rb +54 -0
  1488. data/spec/unit/provider/cookbook_file/content_spec.rb +40 -0
  1489. data/spec/unit/provider/cookbook_file_spec.rb +58 -0
  1490. data/spec/unit/provider/cron/unix_spec.rb +139 -0
  1491. data/spec/unit/provider/cron_spec.rb +1010 -0
  1492. data/spec/unit/provider/deploy/revision_spec.rb +111 -0
  1493. data/spec/unit/provider/deploy/timestamped_spec.rb +40 -0
  1494. data/spec/unit/provider/deploy_spec.rb +642 -0
  1495. data/spec/unit/provider/directory_spec.rb +188 -0
  1496. data/spec/unit/provider/dsc_resource_spec.rb +84 -0
  1497. data/spec/unit/provider/dsc_script_spec.rb +174 -0
  1498. data/spec/unit/provider/env/windows_spec.rb +103 -0
  1499. data/spec/unit/provider/env_spec.rb +310 -0
  1500. data/spec/unit/provider/erl_call_spec.rb +86 -0
  1501. data/spec/unit/provider/execute_spec.rb +176 -0
  1502. data/spec/unit/provider/file/content_spec.rb +114 -0
  1503. data/spec/unit/provider/file_spec.rb +57 -0
  1504. data/spec/unit/provider/git_spec.rb +669 -0
  1505. data/spec/unit/provider/group/dscl_spec.rb +331 -0
  1506. data/spec/unit/provider/group/gpasswd_spec.rb +116 -0
  1507. data/spec/unit/provider/group/groupadd_spec.rb +174 -0
  1508. data/spec/unit/provider/group/groupmod_spec.rb +133 -0
  1509. data/spec/unit/provider/group/pw_spec.rb +138 -0
  1510. data/spec/unit/provider/group/usermod_spec.rb +115 -0
  1511. data/spec/unit/provider/group/windows_spec.rb +101 -0
  1512. data/spec/unit/provider/group_spec.rb +286 -0
  1513. data/spec/unit/provider/http_request_spec.rb +159 -0
  1514. data/spec/unit/provider/ifconfig/aix_spec.rb +181 -0
  1515. data/spec/unit/provider/ifconfig/debian_spec.rb +354 -0
  1516. data/spec/unit/provider/ifconfig/redhat_spec.rb +73 -0
  1517. data/spec/unit/provider/ifconfig_spec.rb +180 -0
  1518. data/spec/unit/provider/link_spec.rb +252 -0
  1519. data/spec/unit/provider/log_spec.rb +75 -0
  1520. data/spec/unit/provider/mdadm_spec.rb +131 -0
  1521. data/spec/unit/provider/mount/aix_spec.rb +237 -0
  1522. data/spec/unit/provider/mount/mount_spec.rb +474 -0
  1523. data/spec/unit/provider/mount/solaris_spec.rb +822 -0
  1524. data/spec/unit/provider/mount/windows_spec.rb +137 -0
  1525. data/spec/unit/provider/mount_spec.rb +193 -0
  1526. data/spec/unit/provider/ohai_spec.rb +84 -0
  1527. data/spec/unit/provider/package/aix_spec.rb +172 -0
  1528. data/spec/unit/provider/package/apt_spec.rb +386 -0
  1529. data/spec/unit/provider/package/dpkg_spec.rb +195 -0
  1530. data/spec/unit/provider/package/easy_install_spec.rb +112 -0
  1531. data/spec/unit/provider/package/freebsd/pkg_spec.rb +274 -0
  1532. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +155 -0
  1533. data/spec/unit/provider/package/freebsd/port_spec.rb +170 -0
  1534. data/spec/unit/provider/package/homebrew_spec.rb +292 -0
  1535. data/spec/unit/provider/package/ips_spec.rb +228 -0
  1536. data/spec/unit/provider/package/macports_spec.rb +203 -0
  1537. data/spec/unit/provider/package/openbsd_spec.rb +154 -0
  1538. data/spec/unit/provider/package/pacman_spec.rb +195 -0
  1539. data/spec/unit/provider/package/paludis_spec.rb +135 -0
  1540. data/spec/unit/provider/package/portage_spec.rb +310 -0
  1541. data/spec/unit/provider/package/rpm_spec.rb +205 -0
  1542. data/spec/unit/provider/package/rubygems_spec.rb +701 -0
  1543. data/spec/unit/provider/package/smartos_spec.rb +112 -0
  1544. data/spec/unit/provider/package/solaris_spec.rb +167 -0
  1545. data/spec/unit/provider/package/windows/msi_spec.rb +75 -0
  1546. data/spec/unit/provider/package/windows_spec.rb +165 -0
  1547. data/spec/unit/provider/package/yum_spec.rb +2190 -0
  1548. data/spec/unit/provider/package/zypper_spec.rb +230 -0
  1549. data/spec/unit/provider/package_spec.rb +707 -0
  1550. data/spec/unit/provider/package_spec.rbe +0 -0
  1551. data/spec/unit/provider/powershell_spec.rb +38 -0
  1552. data/spec/unit/provider/registry_key_spec.rb +283 -0
  1553. data/spec/unit/provider/remote_directory_spec.rb +222 -0
  1554. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +220 -0
  1555. data/spec/unit/provider/remote_file/content_spec.rb +253 -0
  1556. data/spec/unit/provider/remote_file/fetcher_spec.rb +94 -0
  1557. data/spec/unit/provider/remote_file/ftp_spec.rb +219 -0
  1558. data/spec/unit/provider/remote_file/http_spec.rb +303 -0
  1559. data/spec/unit/provider/remote_file/local_file_spec.rb +84 -0
  1560. data/spec/unit/provider/remote_file/network_file_spec.rb +45 -0
  1561. data/spec/unit/provider/remote_file_spec.rb +63 -0
  1562. data/spec/unit/provider/route_spec.rb +243 -0
  1563. data/spec/unit/provider/ruby_block_spec.rb +46 -0
  1564. data/spec/unit/provider/script_spec.rb +114 -0
  1565. data/spec/unit/provider/service/aix_service_spec.rb +196 -0
  1566. data/spec/unit/provider/service/aixinit_service_spec.rb +269 -0
  1567. data/spec/unit/provider/service/arch_service_spec.rb +324 -0
  1568. data/spec/unit/provider/service/debian_service_spec.rb +375 -0
  1569. data/spec/unit/provider/service/freebsd_service_spec.rb +625 -0
  1570. data/spec/unit/provider/service/gentoo_service_spec.rb +144 -0
  1571. data/spec/unit/provider/service/init_service_spec.rb +235 -0
  1572. data/spec/unit/provider/service/insserv_service_spec.rb +75 -0
  1573. data/spec/unit/provider/service/invokercd_service_spec.rb +211 -0
  1574. data/spec/unit/provider/service/macosx_spec.rb +335 -0
  1575. data/spec/unit/provider/service/openbsd_service_spec.rb +543 -0
  1576. data/spec/unit/provider/service/redhat_spec.rb +156 -0
  1577. data/spec/unit/provider/service/simple_service_spec.rb +169 -0
  1578. data/spec/unit/provider/service/solaris_smf_service_spec.rb +184 -0
  1579. data/spec/unit/provider/service/systemd_service_spec.rb +279 -0
  1580. data/spec/unit/provider/service/upstart_service_spec.rb +319 -0
  1581. data/spec/unit/provider/service/windows_spec.rb +461 -0
  1582. data/spec/unit/provider/service_spec.rb +169 -0
  1583. data/spec/unit/provider/subversion_spec.rb +280 -0
  1584. data/spec/unit/provider/template/content_spec.rb +78 -0
  1585. data/spec/unit/provider/template_spec.rb +90 -0
  1586. data/spec/unit/provider/user/dscl_spec.rb +887 -0
  1587. data/spec/unit/provider/user/pw_spec.rb +252 -0
  1588. data/spec/unit/provider/user/solaris_spec.rb +80 -0
  1589. data/spec/unit/provider/user/useradd_spec.rb +51 -0
  1590. data/spec/unit/provider/user/windows_spec.rb +185 -0
  1591. data/spec/unit/provider/user_spec.rb +466 -0
  1592. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +47 -0
  1593. data/spec/unit/provider_resolver_spec.rb +689 -0
  1594. data/spec/unit/provider_spec.rb +201 -0
  1595. data/spec/unit/pure_application_spec.rb +32 -0
  1596. data/spec/unit/recipe_spec.rb +649 -0
  1597. data/spec/unit/registry_helper_spec.rb +376 -0
  1598. data/spec/unit/resource/apt_package_spec.rb +38 -0
  1599. data/spec/unit/resource/bash_spec.rb +40 -0
  1600. data/spec/unit/resource/batch_spec.rb +49 -0
  1601. data/spec/unit/resource/breakpoint_spec.rb +47 -0
  1602. data/spec/unit/resource/chef_gem_spec.rb +161 -0
  1603. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +45 -0
  1604. data/spec/unit/resource/conditional_spec.rb +208 -0
  1605. data/spec/unit/resource/cookbook_file_spec.rb +89 -0
  1606. data/spec/unit/resource/cron_spec.rb +186 -0
  1607. data/spec/unit/resource/csh_spec.rb +40 -0
  1608. data/spec/unit/resource/deploy_revision_spec.rb +42 -0
  1609. data/spec/unit/resource/deploy_spec.rb +278 -0
  1610. data/spec/unit/resource/directory_spec.rb +82 -0
  1611. data/spec/unit/resource/dpkg_package_spec.rb +32 -0
  1612. data/spec/unit/resource/dsc_resource_spec.rb +85 -0
  1613. data/spec/unit/resource/dsc_script_spec.rb +130 -0
  1614. data/spec/unit/resource/easy_install_package_spec.rb +39 -0
  1615. data/spec/unit/resource/env_spec.rb +85 -0
  1616. data/spec/unit/resource/erl_call_spec.rb +81 -0
  1617. data/spec/unit/resource/execute_spec.rb +35 -0
  1618. data/spec/unit/resource/file/verification_spec.rb +111 -0
  1619. data/spec/unit/resource/file_spec.rb +130 -0
  1620. data/spec/unit/resource/freebsd_package_spec.rb +90 -0
  1621. data/spec/unit/resource/gem_package_spec.rb +42 -0
  1622. data/spec/unit/resource/git_spec.rb +50 -0
  1623. data/spec/unit/resource/group_spec.rb +157 -0
  1624. data/spec/unit/resource/homebrew_package_spec.rb +50 -0
  1625. data/spec/unit/resource/http_request_spec.rb +59 -0
  1626. data/spec/unit/resource/ifconfig_spec.rb +105 -0
  1627. data/spec/unit/resource/ips_package_spec.rb +40 -0
  1628. data/spec/unit/resource/link_spec.rb +134 -0
  1629. data/spec/unit/resource/log_spec.rb +73 -0
  1630. data/spec/unit/resource/macports_package_spec.rb +32 -0
  1631. data/spec/unit/resource/mdadm_spec.rb +102 -0
  1632. data/spec/unit/resource/mount_spec.rb +214 -0
  1633. data/spec/unit/resource/ohai_spec.rb +62 -0
  1634. data/spec/unit/resource/openbsd_package_spec.rb +49 -0
  1635. data/spec/unit/resource/package_spec.rb +93 -0
  1636. data/spec/unit/resource/pacman_package_spec.rb +32 -0
  1637. data/spec/unit/resource/perl_spec.rb +40 -0
  1638. data/spec/unit/resource/portage_package_spec.rb +38 -0
  1639. data/spec/unit/resource/powershell_spec.rb +132 -0
  1640. data/spec/unit/resource/python_spec.rb +40 -0
  1641. data/spec/unit/resource/registry_key_spec.rb +199 -0
  1642. data/spec/unit/resource/remote_directory_spec.rb +97 -0
  1643. data/spec/unit/resource/remote_file_spec.rb +202 -0
  1644. data/spec/unit/resource/resource_notification_spec.rb +170 -0
  1645. data/spec/unit/resource/route_spec.rb +107 -0
  1646. data/spec/unit/resource/rpm_package_spec.rb +46 -0
  1647. data/spec/unit/resource/ruby_block_spec.rb +61 -0
  1648. data/spec/unit/resource/ruby_spec.rb +40 -0
  1649. data/spec/unit/resource/scm_spec.rb +193 -0
  1650. data/spec/unit/resource/script_spec.rb +44 -0
  1651. data/spec/unit/resource/service_spec.rb +180 -0
  1652. data/spec/unit/resource/smartos_package_spec.rb +33 -0
  1653. data/spec/unit/resource/solaris_package_spec.rb +42 -0
  1654. data/spec/unit/resource/subversion_spec.rb +67 -0
  1655. data/spec/unit/resource/template_spec.rb +211 -0
  1656. data/spec/unit/resource/timestamped_deploy_spec.rb +33 -0
  1657. data/spec/unit/resource/user_spec.rb +133 -0
  1658. data/spec/unit/resource/windows_package_spec.rb +95 -0
  1659. data/spec/unit/resource/windows_service_spec.rb +49 -0
  1660. data/spec/unit/resource/yum_package_spec.rb +80 -0
  1661. data/spec/unit/resource_builder_spec.rb +1 -0
  1662. data/spec/unit/resource_collection/resource_list_spec.rb +137 -0
  1663. data/spec/unit/resource_collection/resource_set_spec.rb +199 -0
  1664. data/spec/unit/resource_collection/stepable_iterator_spec.rb +144 -0
  1665. data/spec/unit/resource_collection_spec.rb +300 -0
  1666. data/spec/unit/resource_definition_spec.rb +117 -0
  1667. data/spec/unit/resource_reporter_spec.rb +759 -0
  1668. data/spec/unit/resource_spec.rb +879 -0
  1669. data/spec/unit/rest/auth_credentials_spec.rb +328 -0
  1670. data/spec/unit/rest_spec.rb +747 -0
  1671. data/spec/unit/role_spec.rb +362 -0
  1672. data/spec/unit/run_context/cookbook_compiler_spec.rb +186 -0
  1673. data/spec/unit/run_context_spec.rb +193 -0
  1674. data/spec/unit/run_list/run_list_expansion_spec.rb +129 -0
  1675. data/spec/unit/run_list/run_list_item_spec.rb +117 -0
  1676. data/spec/unit/run_list/versioned_recipe_list_spec.rb +123 -0
  1677. data/spec/unit/run_list_spec.rb +316 -0
  1678. data/spec/unit/run_lock_spec.rb +140 -0
  1679. data/spec/unit/run_status_spec.rb +145 -0
  1680. data/spec/unit/runner_spec.rb +411 -0
  1681. data/spec/unit/scan_access_control_spec.rb +184 -0
  1682. data/spec/unit/search/query_spec.rb +267 -0
  1683. data/spec/unit/shell/model_wrapper_spec.rb +97 -0
  1684. data/spec/unit/shell/shell_ext_spec.rb +153 -0
  1685. data/spec/unit/shell/shell_session_spec.rb +196 -0
  1686. data/spec/unit/shell_out_spec.rb +18 -0
  1687. data/spec/unit/shell_spec.rb +162 -0
  1688. data/spec/unit/user_spec.rb +271 -0
  1689. data/spec/unit/util/backup_spec.rb +142 -0
  1690. data/spec/unit/util/diff_spec.rb +579 -0
  1691. data/spec/unit/util/dsc/configuration_generator_spec.rb +193 -0
  1692. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +164 -0
  1693. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +139 -0
  1694. data/spec/unit/util/dsc/resource_store.rb +76 -0
  1695. data/spec/unit/util/editor_spec.rb +152 -0
  1696. data/spec/unit/util/file_edit_spec.rb +224 -0
  1697. data/spec/unit/util/powershell/cmdlet_spec.rb +106 -0
  1698. data/spec/unit/util/powershell/ps_credential_spec.rb +37 -0
  1699. data/spec/unit/util/selinux_spec.rb +172 -0
  1700. data/spec/unit/util/threaded_job_queue_spec.rb +51 -0
  1701. data/spec/unit/version/platform_spec.rb +61 -0
  1702. data/spec/unit/version_class_spec.rb +172 -0
  1703. data/spec/unit/version_constraint/platform_spec.rb +46 -0
  1704. data/spec/unit/version_constraint_spec.rb +179 -0
  1705. data/spec/unit/windows_service_spec.rb +71 -0
  1706. data/spec/unit/workstation_config_loader_spec.rb +283 -0
  1707. data/tasks/external_tests.rb +29 -0
  1708. data/tasks/rspec.rb +86 -0
  1709. metadata +2305 -0
@@ -0,0 +1,59 @@
1
+ #
2
+ # Author:: Doug MacEachern (<dougm@vmware.com>)
3
+ # Copyright:: Copyright (c) 2010 VMware, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ #simple wrapper around Volume APIs. might be possible with WMI, but possibly more complex.
20
+
21
+ require 'chef/util/windows'
22
+ require 'windows/volume'
23
+
24
+ class Chef::Util::Windows::Volume < Chef::Util::Windows
25
+
26
+ private
27
+ include Windows::Volume
28
+ #XXX not defined in the current windows-pr release
29
+ DeleteVolumeMountPoint =
30
+ Windows::API.new('DeleteVolumeMountPoint', 'S', 'B') unless defined? DeleteVolumeMountPoint
31
+
32
+ public
33
+
34
+ def initialize(name)
35
+ name += "\\" unless name =~ /\\$/ #trailing slash required
36
+ @name = name
37
+ end
38
+
39
+ def device
40
+ buffer = 0.chr * 256
41
+ if GetVolumeNameForVolumeMountPoint(@name, buffer, buffer.size)
42
+ return buffer[0,buffer.size].unpack("Z*")[0]
43
+ else
44
+ raise ArgumentError, get_last_error
45
+ end
46
+ end
47
+
48
+ def delete
49
+ unless DeleteVolumeMountPoint.call(@name)
50
+ raise ArgumentError, get_last_error
51
+ end
52
+ end
53
+
54
+ def add(args)
55
+ unless SetVolumeMountPoint(@name, args[:remote])
56
+ raise ArgumentError, get_last_error
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,34 @@
1
+ # Copyright:: Copyright (c) 2010-2015 Chef Software, Inc.
2
+ # License:: Apache License, Version 2.0
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17
+ # NOTE: This file is generated by running `rake version` in the top level of
18
+ # this repo. Do not edit this manually. Edit the VERSION file and run the rake
19
+ # task instead.
20
+ #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21
+
22
+ class Chef
23
+ CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
24
+ VERSION = '12.4.0.rc.0'
25
+ end
26
+
27
+ #
28
+ # NOTE: the Chef::Version class is defined in version_class.rb
29
+ #
30
+ # NOTE: DO NOT Use the Chef::Version class on Chef::VERSIONs. The
31
+ # Chef::Version class is for _cookbooks_ only, and cannot handle
32
+ # pre-release chef-client versions like "10.14.0.rc.2". Please
33
+ # use Rubygem's Gem::Version class instead.
34
+ #
@@ -0,0 +1,44 @@
1
+ # Author:: Xabier de Zuazo (<xabier@onddo.com>)
2
+ # Copyright:: Copyright (c) 2013 Onddo Labs, SL.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require 'chef/version_class'
18
+
19
+ class Chef
20
+ class Version
21
+ class Platform < Chef::Version
22
+
23
+ protected
24
+
25
+ def parse(str="")
26
+ @major, @minor, @patch =
27
+ case str.to_s
28
+ when /^(\d+)\.(\d+)\.(\d+)$/
29
+ [ $1.to_i, $2.to_i, $3.to_i ]
30
+ when /^(\d+)\.(\d+)$/
31
+ [ $1.to_i, $2.to_i, 0 ]
32
+ when /^(\d+)$/
33
+ [ $1.to_i, 0, 0 ]
34
+ when /^(\d+).(\d+)-[a-z]+\d?(-p(\d+))?$/i # Match FreeBSD
35
+ [ $1.to_i, $2.to_i, ($4 ? $4.to_i : 0)]
36
+ else
37
+ msg = "'#{str.to_s}' does not match 'x.y.z', 'x.y' or 'x'"
38
+ raise Chef::Exceptions::InvalidPlatformVersion.new( msg )
39
+ end
40
+ end
41
+
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,70 @@
1
+ # Author:: Seth Falcon (<seth@opscode.com>)
2
+ # Author:: Christopher Walters (<cw@opscode.com>)
3
+ # Copyright:: Copyright 2010-2011 Opscode, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
18
+ class Chef
19
+ class Version
20
+ include Comparable
21
+ attr_reader :major, :minor, :patch
22
+
23
+ def initialize(str="")
24
+ parse(str)
25
+ end
26
+
27
+ def inspect
28
+ "#{@major}.#{@minor}.#{@patch}"
29
+ end
30
+
31
+ def to_s
32
+ "#{@major}.#{@minor}.#{@patch}"
33
+ end
34
+
35
+ def <=>(v)
36
+ [:major, :minor, :patch].each do |method|
37
+ ans = (self.send(method) <=> v.send(method))
38
+ return ans if ans != 0
39
+ end
40
+ 0
41
+ end
42
+
43
+ def hash
44
+ # Didn't put any thought or research into this, probably can be
45
+ # done better
46
+ to_s.hash
47
+ end
48
+
49
+ # For hash
50
+ def eql?(other)
51
+ other.is_a?(Version) && self == other
52
+ end
53
+
54
+ protected
55
+
56
+ def parse(str="")
57
+ @major, @minor, @patch =
58
+ case str.to_s
59
+ when /^(\d+)\.(\d+)\.(\d+)$/
60
+ [ $1.to_i, $2.to_i, $3.to_i ]
61
+ when /^(\d+)\.(\d+)$/
62
+ [ $1.to_i, $2.to_i, 0 ]
63
+ else
64
+ msg = "'#{str.to_s}' does not match 'x.y.z' or 'x.y'"
65
+ raise Chef::Exceptions::InvalidCookbookVersion.new( msg )
66
+ end
67
+ end
68
+
69
+ end
70
+ end
@@ -0,0 +1,118 @@
1
+ # Author:: Seth Falcon (<seth@opscode.com>)
2
+ # Author:: Christopher Walters (<cw@opscode.com>)
3
+ # Copyright:: Copyright 2010-2011 Opscode, Inc.
4
+ # License:: Apache License, Version 2.0
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ require 'chef/version_class'
18
+
19
+ class Chef
20
+ class VersionConstraint
21
+ DEFAULT_CONSTRAINT = ">= 0.0.0"
22
+ STANDARD_OPS = %w(< > <= >=)
23
+ OPS = %w(< > = <= >= ~>)
24
+ PATTERN = /^(#{OPS.join('|')}) *([0-9].*)$/
25
+ VERSION_CLASS = Chef::Version
26
+
27
+ attr_reader :op, :version
28
+
29
+ def initialize(constraint_spec=DEFAULT_CONSTRAINT)
30
+ case constraint_spec
31
+ when nil
32
+ parse(DEFAULT_CONSTRAINT)
33
+ when Array
34
+ parse_from_array(constraint_spec)
35
+ when String
36
+ parse(constraint_spec)
37
+ else
38
+ msg = "VersionConstraint should be created from a String. You gave: #{constraint_spec.inspect}"
39
+ raise Chef::Exceptions::InvalidVersionConstraint, msg
40
+ end
41
+ end
42
+
43
+ def include?(v)
44
+ version = if v.respond_to? :version # a CookbookVersion-like object
45
+ self.class::VERSION_CLASS.new(v.version.to_s)
46
+ else
47
+ self.class::VERSION_CLASS.new(v.to_s)
48
+ end
49
+ do_op(version)
50
+ end
51
+
52
+ def inspect
53
+ "(#{to_s})"
54
+ end
55
+
56
+ def to_s
57
+ "#{@op} #{@raw_version}"
58
+ end
59
+
60
+ def eql?(o)
61
+ o.class == self.class && @op == o.op && @version == o.version
62
+ end
63
+ alias_method :==, :eql?
64
+
65
+ private
66
+
67
+ def do_op(other_version)
68
+ if STANDARD_OPS.include? @op
69
+ other_version.send(@op.to_sym, @version)
70
+ elsif @op == '='
71
+ other_version == @version
72
+ elsif @op == '~>'
73
+ if @missing_patch_level
74
+ (other_version.major == @version.major &&
75
+ other_version.minor >= @version.minor)
76
+ else
77
+ (other_version.major == @version.major &&
78
+ other_version.minor == @version.minor &&
79
+ other_version.patch >= @version.patch)
80
+ end
81
+ else # should never happen
82
+ raise "bad op #{@op}"
83
+ end
84
+ end
85
+
86
+ def parse_from_array(constraint_spec)
87
+ if constraint_spec.empty?
88
+ parse(DEFAULT_CONSTRAINT)
89
+ elsif constraint_spec.size == 1
90
+ parse(constraint_spec.first)
91
+ else
92
+ msg = "only one version constraint operation is supported, but you gave #{constraint_spec.size} "
93
+ msg << "['#{constraint_spec.join(', ')}']"
94
+ raise Chef::Exceptions::InvalidVersionConstraint, msg
95
+ end
96
+ end
97
+
98
+ def parse(str)
99
+ @missing_patch_level = false
100
+ if str.index(" ").nil? && str =~ /^[0-9]/
101
+ # try for lone version, implied '='
102
+ @raw_version = str
103
+ @version = self.class::VERSION_CLASS.new(@raw_version)
104
+ @op = "="
105
+ elsif PATTERN.match str
106
+ @op = $1
107
+ @raw_version = $2
108
+ @version = self.class::VERSION_CLASS.new(@raw_version)
109
+ if @raw_version.split('.').size <= 2
110
+ @missing_patch_level = true
111
+ end
112
+ else
113
+ raise Chef::Exceptions::InvalidVersionConstraint, "'#{str}'"
114
+ end
115
+ end
116
+
117
+ end
118
+ end
@@ -0,0 +1,26 @@
1
+ # Author:: Xabier de Zuazo (<xabier@onddo.com>)
2
+ # Copyright:: Copyright (c) 2013 Onddo Labs, SL.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ require 'chef/version_constraint'
17
+ require 'chef/version/platform'
18
+
19
+ class Chef
20
+ class VersionConstraint
21
+ class Platform < Chef::VersionConstraint
22
+ VERSION_CLASS = Chef::Version::Platform
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,86 @@
1
+
2
+ require 'chef/exceptions'
3
+
4
+ class Chef
5
+ class Whitelist
6
+
7
+ # filter takes two arguments - the data you want to filter, and a whitelisted array
8
+ # of keys you want included. You can capture a subtree of the data to filter by
9
+ # providing a "/"-delimited string of keys. If some key includes "/"-characters,
10
+ # you must provide an array of keys instead.
11
+ #
12
+ # Whitelist.filter(
13
+ # { "filesystem" => {
14
+ # "/dev/disk" => {
15
+ # "size" => "10mb"
16
+ # },
17
+ # "map - autohome" => {
18
+ # "size" => "10mb"
19
+ # }
20
+ # },
21
+ # "network" => {
22
+ # "interfaces" => {
23
+ # "eth0" => {...},
24
+ # "eth1" => {...}
25
+ # }
26
+ # }
27
+ # },
28
+ # ["network/interfaces/eth0", ["filesystem", "/dev/disk"]])
29
+ # will capture the eth0 and /dev/disk subtrees.
30
+ def self.filter(data, whitelist=nil)
31
+ return data if whitelist.nil?
32
+
33
+ new_data = {}
34
+ whitelist.each do |item|
35
+ add_data(data, new_data, item)
36
+ end
37
+ new_data
38
+ end
39
+
40
+ # Walk the data has according to the keys provided by the whitelisted item
41
+ # and add the data to the whitelisting result.
42
+ def self.add_data(data, new_data, item)
43
+ parts = to_array(item)
44
+
45
+ all_data = data
46
+ filtered_data = new_data
47
+ parts[0..-2].each do |part|
48
+ unless all_data[part]
49
+ Chef::Log.warn("Could not find whitelist attribute #{item}.")
50
+ return nil
51
+ end
52
+
53
+ filtered_data[part] ||= {}
54
+ filtered_data = filtered_data[part]
55
+ all_data = all_data[part]
56
+ end
57
+
58
+ # Note: You can't do all_data[parts[-1]] here because the value
59
+ # may be false-y
60
+ unless all_data.key?(parts[-1])
61
+ Chef::Log.warn("Could not find whitelist attribute #{item}.")
62
+ return nil
63
+ end
64
+
65
+ filtered_data[parts[-1]] = all_data[parts[-1]]
66
+ new_data
67
+ end
68
+
69
+ private_class_method :add_data
70
+
71
+ # Accepts a String or an Array, and returns an Array of String keys that
72
+ # are used to traverse the data hash. Strings are split on "/", Arrays are
73
+ # assumed to contain exact keys (that is, Array elements will not be split
74
+ # by "/").
75
+ def self.to_array(item)
76
+ return item if item.kind_of? Array
77
+
78
+ parts = item.split("/")
79
+ parts.shift if !parts.empty? && parts[0].empty?
80
+ parts
81
+ end
82
+
83
+ private_class_method :to_array
84
+
85
+ end
86
+ end
@@ -0,0 +1,368 @@
1
+ #
2
+ # Author:: Seth Chisamore (<schisamo@opscode.com>)
3
+ # Author:: John Keiser (<jkeiser@opscode.com>)
4
+ # Copyright:: Copyright 2011 Opscode, Inc.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'ffi'
21
+ require 'chef/reserved_names'
22
+ require 'chef/exceptions'
23
+
24
+ class Chef
25
+ module ReservedNames::Win32
26
+ module API
27
+
28
+ # Attempts to use FFI's attach_function method to link a native Win32
29
+ # function into the calling module. If this fails a dummy method is
30
+ # defined which when called, raises a helpful exception to the end-user.
31
+ def safe_attach_function(win32_func, *args)
32
+ begin
33
+ attach_function(win32_func.to_sym, *args)
34
+ rescue FFI::NotFoundError
35
+ define_method(win32_func.to_sym) do |*margs|
36
+ raise Chef::Exceptions::Win32APIFunctionNotImplemented, "This version of Windows does not implement the Win32 function [#{win32_func}]."
37
+ end
38
+ end
39
+ end
40
+
41
+ # put shared stuff (like constants) for all raw Win32 API calls
42
+ def self.extended(host)
43
+ host.extend FFI::Library
44
+ host.extend Macros
45
+
46
+ host.ffi_convention :stdcall
47
+
48
+ # Windows-specific type defs (ms-help://MS.MSDNQTR.v90.en/winprog/winprog/windows_data_types.htm):
49
+ host.typedef :ushort, :ATOM # Atom ~= Symbol: Atom table stores strings and corresponding identifiers. Application
50
+ # places a string in an atom table and receives a 16-bit integer, called an atom, that
51
+ # can be used to access the string. Placed string is called an atom name.
52
+ # See: http://msdn.microsoft.com/en-us/library/ms648708%28VS.85%29.aspx
53
+ host.typedef :bool, :BOOL
54
+ host.typedef :bool, :BOOLEAN
55
+ host.typedef :uchar, :BYTE # Byte (8 bits). Declared as unsigned char
56
+ #CALLBACK: K, # Win32.API gem-specific ?? MSDN: #define CALLBACK __stdcall
57
+ host.typedef :char, :CHAR # 8-bit Windows (ANSI) character. See http://msdn.microsoft.com/en-us/library/dd183415%28VS.85%29.aspx
58
+ host.typedef :uint32, :COLORREF # Red, green, blue (RGB) color value (32 bits). See COLORREF for more info.
59
+ host.typedef :uint32, :DWORD # 32-bit unsigned integer. The range is 0 through 4,294,967,295 decimal.
60
+ host.typedef :uint64, :DWORDLONG # 64-bit unsigned integer. The range is 0 through 18,446,744,073,709,551,615 decimal.
61
+ host.typedef :ulong, :DWORD_PTR # Unsigned long type for pointer precision. Use when casting a pointer to a long type
62
+ # to perform pointer arithmetic. (Also commonly used for general 32-bit parameters that have
63
+ # been extended to 64 bits in 64-bit Windows.) BaseTsd.h: #host.typedef ULONG_PTR DWORD_PTR;
64
+ host.typedef :uint32, :DWORD32
65
+ host.typedef :uint64, :DWORD64
66
+ host.typedef :int, :HALF_PTR # Half the size of a pointer. Use within a structure that contains a pointer and two small fields.
67
+ # BaseTsd.h: #ifdef (_WIN64) host.typedef int HALF_PTR; #else host.typedef short HALF_PTR;
68
+ host.typedef :ulong, :HACCEL # (L) Handle to an accelerator table. WinDef.h: #host.typedef HANDLE HACCEL;
69
+ # See http://msdn.microsoft.com/en-us/library/ms645526%28VS.85%29.aspx
70
+ host.typedef :size_t, :HANDLE # (L) Handle to an object. WinNT.h: #host.typedef PVOID HANDLE;
71
+ # todo: Platform-dependent! Need to change to :uint64 for Win64
72
+ host.typedef :ulong, :HBITMAP # (L) Handle to a bitmap: http://msdn.microsoft.com/en-us/library/dd183377%28VS.85%29.aspx
73
+ host.typedef :ulong, :HBRUSH # (L) Handle to a brush. http://msdn.microsoft.com/en-us/library/dd183394%28VS.85%29.aspx
74
+ host.typedef :ulong, :HCOLORSPACE # (L) Handle to a color space. http://msdn.microsoft.com/en-us/library/ms536546%28VS.85%29.aspx
75
+ host.typedef :ulong, :HCURSOR # (L) Handle to a cursor. http://msdn.microsoft.com/en-us/library/ms646970%28VS.85%29.aspx
76
+ host.typedef :ulong, :HCONV # (L) Handle to a dynamic data exchange (DDE) conversation.
77
+ host.typedef :ulong, :HCONVLIST # (L) Handle to a DDE conversation list. HANDLE - L ?
78
+ host.typedef :ulong, :HDDEDATA # (L) Handle to DDE data (structure?)
79
+ host.typedef :ulong, :HDC # (L) Handle to a device context (DC). http://msdn.microsoft.com/en-us/library/dd183560%28VS.85%29.aspx
80
+ host.typedef :ulong, :HDESK # (L) Handle to a desktop. http://msdn.microsoft.com/en-us/library/ms682573%28VS.85%29.aspx
81
+ host.typedef :ulong, :HDROP # (L) Handle to an internal drop structure.
82
+ host.typedef :ulong, :HDWP # (L) Handle to a deferred window position structure.
83
+ host.typedef :ulong, :HENHMETAFILE #(L) Handle to an enhanced metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
84
+ host.typedef :uint, :HFILE # (I) Special file handle to a file opened by OpenFile, not CreateFile.
85
+ # WinDef.h: #host.typedef int HFILE;
86
+ host.typedef :ulong, :HFONT # (L) Handle to a font. http://msdn.microsoft.com/en-us/library/dd162470%28VS.85%29.aspx
87
+ host.typedef :ulong, :HGDIOBJ # (L) Handle to a GDI object.
88
+ host.typedef :ulong, :HGLOBAL # (L) Handle to a global memory block.
89
+ host.typedef :ulong, :HHOOK # (L) Handle to a hook. http://msdn.microsoft.com/en-us/library/ms632589%28VS.85%29.aspx
90
+ host.typedef :ulong, :HICON # (L) Handle to an icon. http://msdn.microsoft.com/en-us/library/ms646973%28VS.85%29.aspx
91
+ host.typedef :ulong, :HINSTANCE # (L) Handle to an instance. This is the base address of the module in memory.
92
+ # HMODULE and HINSTANCE are the same today, but were different in 16-bit Windows.
93
+ host.typedef :ulong, :HKEY # (L) Handle to a registry key.
94
+ host.typedef :ulong, :HKL # (L) Input locale identifier.
95
+ host.typedef :ulong, :HLOCAL # (L) Handle to a local memory block.
96
+ host.typedef :ulong, :HMENU # (L) Handle to a menu. http://msdn.microsoft.com/en-us/library/ms646977%28VS.85%29.aspx
97
+ host.typedef :ulong, :HMETAFILE # (L) Handle to a metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
98
+ host.typedef :ulong, :HMODULE # (L) Handle to an instance. Same as HINSTANCE today, but was different in 16-bit Windows.
99
+ host.typedef :ulong, :HMONITOR # (L) Рandle to a display monitor. WinDef.h: if(WINVER >= 0x0500) host.typedef HANDLE HMONITOR;
100
+ host.typedef :ulong, :HPALETTE # (L) Handle to a palette.
101
+ host.typedef :ulong, :HPEN # (L) Handle to a pen. http://msdn.microsoft.com/en-us/library/dd162786%28VS.85%29.aspx
102
+ host.typedef :long, :HRESULT # Return code used by COM interfaces. For more info, Structure of the COM Error Codes.
103
+ # To test an HRESULT value, use the FAILED and SUCCEEDED macros.
104
+ host.typedef :ulong, :HRGN # (L) Handle to a region. http://msdn.microsoft.com/en-us/library/dd162913%28VS.85%29.aspx
105
+ host.typedef :ulong, :HRSRC # (L) Handle to a resource.
106
+ host.typedef :ulong, :HSZ # (L) Handle to a DDE string.
107
+ host.typedef :ulong, :HWINSTA # (L) Handle to a window station. http://msdn.microsoft.com/en-us/library/ms687096%28VS.85%29.aspx
108
+ host.typedef :ulong, :HWND # (L) Handle to a window. http://msdn.microsoft.com/en-us/library/ms632595%28VS.85%29.aspx
109
+ host.typedef :int, :INT # 32-bit signed integer. The range is -2147483648 through 2147483647 decimal.
110
+ host.typedef :int, :INT_PTR # Signed integer type for pointer precision. Use when casting a pointer to an integer
111
+ # to perform pointer arithmetic. BaseTsd.h:
112
+ #if defined(_WIN64) host.typedef __int64 INT_PTR; #else host.typedef int INT_PTR;
113
+ host.typedef :int32, :INT32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
114
+ host.typedef :int64, :INT64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
115
+ host.typedef :ushort, :LANGID # Language identifier. For more information, see Locales. WinNT.h: #host.typedef WORD LANGID;
116
+ # See http://msdn.microsoft.com/en-us/library/dd318716%28VS.85%29.aspx
117
+ host.typedef :uint32, :LCID # Locale identifier. For more information, see Locales.
118
+ host.typedef :uint32, :LCTYPE # Locale information type. For a list, see Locale Information Constants.
119
+ host.typedef :uint32, :LGRPID # Language group identifier. For a list, see EnumLanguageGroupLocales.
120
+ host.typedef :pointer, :LMSTR # Pointer to null termiated string of unicode characters
121
+ host.typedef :long, :LONG # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
122
+ host.typedef :int32, :LONG32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
123
+ host.typedef :int64, :LONG64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
124
+ host.typedef :int64, :LONGLONG # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
125
+ host.typedef :long, :LONG_PTR # Signed long type for pointer precision. Use when casting a pointer to a long to
126
+ # perform pointer arithmetic. BaseTsd.h:
127
+ #if defined(_WIN64) host.typedef __int64 LONG_PTR; #else host.typedef long LONG_PTR;
128
+ host.typedef :long, :LPARAM # Message parameter. WinDef.h as follows: #host.typedef LONG_PTR LPARAM;
129
+ host.typedef :pointer, :LPBOOL # Pointer to a BOOL. WinDef.h as follows: #host.typedef BOOL far *LPBOOL;
130
+ host.typedef :pointer, :LPBYTE # Pointer to a BYTE. WinDef.h as follows: #host.typedef BYTE far *LPBYTE;
131
+ host.typedef :pointer, :LPCOLORREF # Pointer to a COLORREF value. WinDef.h as follows: #host.typedef DWORD *LPCOLORREF;
132
+ host.typedef :pointer, :LPCSTR # Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
133
+ # See Character Sets Used By Fonts. http://msdn.microsoft.com/en-us/library/dd183415%28VS.85%29.aspx
134
+ host.typedef :pointer, :LPCTSTR # An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.
135
+ host.typedef :pointer, :LPCVOID # Pointer to a constant of any type. WinDef.h as follows: host.typedef CONST void *LPCVOID;
136
+ host.typedef :pointer, :LPCWSTR # Pointer to a constant null-terminated string of 16-bit Unicode characters.
137
+ host.typedef :pointer, :LPDWORD # Pointer to a DWORD. WinDef.h as follows: host.typedef DWORD *LPDWORD;
138
+ host.typedef :pointer, :LPHANDLE # Pointer to a HANDLE. WinDef.h as follows: host.typedef HANDLE *LPHANDLE;
139
+ host.typedef :pointer, :LPINT # Pointer to an INT.
140
+ host.typedef :pointer, :LPLONG # Pointer to an LONG.
141
+ host.typedef :pointer, :LPSECURITY_ATTRIBUTES # Pointer to SECURITY_ATTRIBUTES struct
142
+ host.typedef :pointer, :LPSTR # Pointer to a null-terminated string of 8-bit Windows (ANSI) characters.
143
+ host.typedef :pointer, :LPTSTR # An LPWSTR if UNICODE is defined, an LPSTR otherwise.
144
+ host.typedef :pointer, :LPVOID # Pointer to any type.
145
+ host.typedef :pointer, :LPWORD # Pointer to a WORD.
146
+ host.typedef :pointer, :LPWSTR # Pointer to a null-terminated string of 16-bit Unicode characters.
147
+ host.typedef :long, :LRESULT # Signed result of message processing. WinDef.h: host.typedef LONG_PTR LRESULT;
148
+ host.typedef :pointer, :LPWIN32_FIND_DATA # Pointer to WIN32_FIND_DATA struct
149
+ host.typedef :pointer, :LPBY_HANDLE_FILE_INFORMATION # Point to a BY_HANDLE_FILE_INFORMATION struct
150
+ host.typedef :pointer, :PBOOL # Pointer to a BOOL.
151
+ host.typedef :pointer, :PBOOLEAN # Pointer to a BOOL.
152
+ host.typedef :pointer, :PBYTE # Pointer to a BYTE.
153
+ host.typedef :pointer, :PCHAR # Pointer to a CHAR.
154
+ host.typedef :pointer, :PCSTR # Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters.
155
+ host.typedef :pointer, :PCTSTR # A PCWSTR if UNICODE is defined, a PCSTR otherwise.
156
+ host.typedef :pointer, :PCWSTR # Pointer to a constant null-terminated string of 16-bit Unicode characters.
157
+ host.typedef :pointer, :PDWORD # Pointer to a DWORD.
158
+ host.typedef :pointer, :PDWORDLONG # Pointer to a DWORDLONG.
159
+ host.typedef :pointer, :PDWORD_PTR # Pointer to a DWORD_PTR.
160
+ host.typedef :pointer, :PDWORD32 # Pointer to a DWORD32.
161
+ host.typedef :pointer, :PDWORD64 # Pointer to a DWORD64.
162
+ host.typedef :pointer, :PFLOAT # Pointer to a FLOAT.
163
+ host.typedef :pointer, :PGENERICMAPPING #Pointer to GENERIC_MAPPING
164
+ host.typedef :pointer, :PHALF_PTR # Pointer to a HALF_PTR.
165
+ host.typedef :pointer, :PHANDLE # Pointer to a HANDLE.
166
+ host.typedef :pointer, :PHKEY # Pointer to an HKEY.
167
+ host.typedef :pointer, :PINT # Pointer to an INT.
168
+ host.typedef :pointer, :PINT_PTR # Pointer to an INT_PTR.
169
+ host.typedef :pointer, :PINT32 # Pointer to an INT32.
170
+ host.typedef :pointer, :PINT64 # Pointer to an INT64.
171
+ host.typedef :pointer, :PLCID # Pointer to an LCID.
172
+ host.typedef :pointer, :PLONG # Pointer to a LONG.
173
+ host.typedef :pointer, :PLONGLONG # Pointer to a LONGLONG.
174
+ host.typedef :pointer, :PLONG_PTR # Pointer to a LONG_PTR.
175
+ host.typedef :pointer, :PLONG32 # Pointer to a LONG32.
176
+ host.typedef :pointer, :PLONG64 # Pointer to a LONG64.
177
+ host.typedef :pointer, :PLUID # Pointer to a LUID.
178
+ host.typedef :pointer, :POINTER_32 # 32-bit pointer. On a 32-bit system, this is a native pointer. On a 64-bit system, this is a truncated 64-bit pointer.
179
+ host.typedef :pointer, :POINTER_64 # 64-bit pointer. On a 64-bit system, this is a native pointer. On a 32-bit system, this is a sign-extended 32-bit pointer.
180
+ host.typedef :pointer, :POINTER_SIGNED # A signed pointer.
181
+ host.typedef :pointer, :POINTER_UNSIGNED # An unsigned pointer.
182
+ host.typedef :pointer, :PSHORT # Pointer to a SHORT.
183
+ host.typedef :pointer, :PSIZE_T # Pointer to a SIZE_T.
184
+ host.typedef :pointer, :PSSIZE_T # Pointer to a SSIZE_T.
185
+ host.typedef :pointer, :PSTR # Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.
186
+ host.typedef :pointer, :PTBYTE # Pointer to a TBYTE.
187
+ host.typedef :pointer, :PTCHAR # Pointer to a TCHAR.
188
+ host.typedef :pointer, :PCRYPTPROTECT_PROMPTSTRUCT # Pointer to a CRYPTOPROTECT_PROMPTSTRUCT.
189
+ host.typedef :pointer, :PDATA_BLOB # Pointer to a DATA_BLOB.
190
+ host.typedef :pointer, :PTSTR # A PWSTR if UNICODE is defined, a PSTR otherwise.
191
+ host.typedef :pointer, :PUCHAR # Pointer to a UCHAR.
192
+ host.typedef :pointer, :PUHALF_PTR # Pointer to a UHALF_PTR.
193
+ host.typedef :pointer, :PUINT # Pointer to a UINT.
194
+ host.typedef :pointer, :PUINT_PTR # Pointer to a UINT_PTR.
195
+ host.typedef :pointer, :PUINT32 # Pointer to a UINT32.
196
+ host.typedef :pointer, :PUINT64 # Pointer to a UINT64.
197
+ host.typedef :pointer, :PULONG # Pointer to a ULONG.
198
+ host.typedef :pointer, :PULONGLONG # Pointer to a ULONGLONG.
199
+ host.typedef :pointer, :PULONG_PTR # Pointer to a ULONG_PTR.
200
+ host.typedef :pointer, :PULONG32 # Pointer to a ULONG32.
201
+ host.typedef :pointer, :PULONG64 # Pointer to a ULONG64.
202
+ host.typedef :pointer, :PUSHORT # Pointer to a USHORT.
203
+ host.typedef :pointer, :PVOID # Pointer to any type.
204
+ host.typedef :pointer, :PWCHAR # Pointer to a WCHAR.
205
+ host.typedef :pointer, :PWORD # Pointer to a WORD.
206
+ host.typedef :pointer, :PWSTR # Pointer to a null- terminated string of 16-bit Unicode characters.
207
+ # For more information, see Character Sets Used By Fonts.
208
+ host.typedef :ulong, :SC_HANDLE # (L) Handle to a service control manager database.
209
+ # See SCM Handles http://msdn.microsoft.com/en-us/library/ms685104%28VS.85%29.aspx
210
+ host.typedef :pointer, :SC_LOCK # Lock to a service control manager database. For more information, see SCM Handles.
211
+ host.typedef :ulong, :SERVICE_STATUS_HANDLE # (L) Handle to a service status value. See SCM Handles.
212
+ host.typedef :short, :SHORT # A 16-bit integer. The range is –32768 through 32767 decimal.
213
+ host.typedef :ulong, :SIZE_T # The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.
214
+ host.typedef :long, :SSIZE_T # Signed SIZE_T.
215
+ host.typedef :char, :TBYTE # A WCHAR if UNICODE is defined, a CHAR otherwise.TCHAR:
216
+ # http://msdn.microsoft.com/en-us/library/c426s321%28VS.80%29.aspx
217
+ host.typedef :char, :TCHAR # A WCHAR if UNICODE is defined, a CHAR otherwise.TCHAR:
218
+ host.typedef :uchar, :UCHAR # Unsigned CHAR (8 bit)
219
+ host.typedef :uint, :UHALF_PTR # Unsigned HALF_PTR. Use within a structure that contains a pointer and two small fields.
220
+ host.typedef :uint, :UINT # Unsigned INT. The range is 0 through 4294967295 decimal.
221
+ host.typedef :uint, :UINT_PTR # Unsigned INT_PTR.
222
+ host.typedef :uint32, :UINT32 # Unsigned INT32. The range is 0 through 4294967295 decimal.
223
+ host.typedef :uint64, :UINT64 # Unsigned INT64. The range is 0 through 18446744073709551615 decimal.
224
+ host.typedef :ulong, :ULONG # Unsigned LONG. The range is 0 through 4294967295 decimal.
225
+ host.typedef :ulong_long, :ULONGLONG # 64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal.
226
+ host.typedef :ulong, :ULONG_PTR # Unsigned LONG_PTR.
227
+ host.typedef :uint32, :ULONG32 # Unsigned INT32. The range is 0 through 4294967295 decimal.
228
+ host.typedef :uint64, :ULONG64 # Unsigned LONG64. The range is 0 through 18446744073709551615 decimal.
229
+ host.typedef :pointer, :UNICODE_STRING # Pointer to some string structure??
230
+ host.typedef :ushort, :USHORT # Unsigned SHORT. The range is 0 through 65535 decimal.
231
+ host.typedef :ulong_long, :USN # Update sequence number (USN).
232
+ host.typedef :ushort, :WCHAR # 16-bit Unicode character. For more information, see Character Sets Used By Fonts.
233
+ # In WinNT.h: host.typedef wchar_t WCHAR;
234
+ #WINAPI: K, # Calling convention for system functions. WinDef.h: define WINAPI __stdcall
235
+ host.typedef :ushort, :WORD # 16-bit unsigned integer. The range is 0 through 65535 decimal.
236
+ host.typedef :uint, :WPARAM # Message parameter. WinDef.h as follows: host.typedef UINT_PTR WPARAM;
237
+ end
238
+
239
+ module Macros
240
+
241
+ ###############################################
242
+ # winbase.h
243
+ ###############################################
244
+
245
+ def LocalDiscard(pointer)
246
+ LocalReAlloc(pointer, 0, LMEM_MOVEABLE)
247
+ end
248
+
249
+ ###############################################
250
+ # windef.h
251
+ ###############################################
252
+
253
+ # Creates a WORD value by concatenating the specified values.
254
+ #
255
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/ms632663(v=VS.85).aspx
256
+ def MAKEWORD(low, high)
257
+ ((low & 0xff) | (high & 0xff)) << 8
258
+ end
259
+
260
+ # Creates a LONG value by concatenating the specified values.
261
+ #
262
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/ms632660(v=vs.85).aspx
263
+ def MAKELONG(low, high)
264
+ ((low & 0xffff) | (high & 0xffff)) << 16
265
+ end
266
+
267
+ # Retrieves the low-order word from the specified value.
268
+ #
269
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/ms632659(v=VS.85).aspx
270
+ def LOWORD(l)
271
+ l & 0xffff
272
+ end
273
+
274
+ # Retrieves the high-order word from the specified 32-bit value.
275
+ #
276
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/ms632657(v=VS.85).aspx
277
+ def HIWORD(l)
278
+ l >> 16
279
+ end
280
+
281
+ # Retrieves the low-order byte from the specified value.
282
+ #
283
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=VS.85).aspx
284
+ def LOBYTE(w)
285
+ w & 0xff
286
+ end
287
+
288
+ # Retrieves the high-order byte from the given 16-bit value.
289
+ #
290
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/ms632656(v=VS.85).aspx
291
+ def HIBYTE(w)
292
+ w >> 8
293
+ end
294
+
295
+ ###############################################
296
+ # winerror.h
297
+ ###############################################
298
+
299
+ def IS_ERROR(status)
300
+ status >> 31 == 1
301
+ end
302
+
303
+ def MAKE_HRESULT(sev, fac, code)
304
+ sev << 31 | fac << 16 | code
305
+ end
306
+
307
+ def MAKE_SCODE(sev, fac, code)
308
+ sev << 31 | fac << 16 | code
309
+ end
310
+
311
+ def HRESULT_CODE(hr)
312
+ hr & 0xFFFF
313
+ end
314
+
315
+ def HRESULT_FACILITY(hr)
316
+ (hr >> 16) & 0x1fff
317
+ end
318
+
319
+ def HRESULT_FROM_NT(x)
320
+ x | 0x10000000 # FACILITY_NT_BIT
321
+ end
322
+
323
+ def HRESULT_FROM_WIN32(x)
324
+ if x <= 0
325
+ x
326
+ else
327
+ (x & 0x0000FFFF) | (7 << 16) | 0x80000000
328
+ end
329
+ end
330
+
331
+ def HRESULT_SEVERITY(hr)
332
+ (hr >> 31) & 0x1
333
+ end
334
+
335
+ def FAILED(status)
336
+ status < 0
337
+ end
338
+
339
+ def SUCCEEDED(status)
340
+ status >= 0
341
+ end
342
+ end
343
+
344
+ # Represents a 64-bit unsigned integer value.
345
+ #
346
+ # http://msdn.microsoft.com/en-us/library/windows/desktop/aa383742(v=vs.85).aspx
347
+ def make_uint64(low, high)
348
+ low + (high * (2**32))
349
+ end
350
+
351
+ # http://blogs.msdn.com/b/oldnewthing/archive/2009/03/06/9461176.aspx
352
+ # January 1, 1601
353
+ WIN32_EPOC_MINUS_POSIX_EPOC = 116444736000000000
354
+
355
+ # Convert 64-bit FILETIME integer into Time object.
356
+ #
357
+ # FILETIME structure contains a 64-bit value representing the number
358
+ # of 100-nanosecond intervals since January 1, 1601 (UTC).
359
+ #
360
+ # http://msdn.microsoft.com/en-us/library/ms724284(VS.85).aspx
361
+ #
362
+ def wtime_to_time(wtime)
363
+ Time.at((wtime - WIN32_EPOC_MINUS_POSIX_EPOC) / 10000000)
364
+ end
365
+
366
+ end
367
+ end
368
+ end