puppet 0.25.5 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (1474) hide show
  1. data/CHANGELOG +667 -0
  2. data/LICENSE +2 -2
  3. data/README +5 -1
  4. data/README.queueing +1 -1
  5. data/README.rst +7 -4
  6. data/Rakefile +6 -18
  7. data/bin/filebucket +0 -94
  8. data/bin/pi +2 -47
  9. data/bin/puppet +2 -69
  10. data/bin/puppetca +2 -100
  11. data/bin/puppetd +2 -158
  12. data/bin/puppetdoc +2 -63
  13. data/bin/puppetmasterd +2 -64
  14. data/bin/puppetqd +2 -51
  15. data/bin/puppetrun +2 -127
  16. data/bin/ralsh +2 -87
  17. data/conf/epm.list +2 -2
  18. data/conf/osx/PackageInfo.plist +1 -1
  19. data/conf/redhat/client.init +11 -8
  20. data/conf/redhat/puppet.conf +1 -1
  21. data/conf/redhat/puppet.spec +1 -1
  22. data/conf/redhat/rundir-perms.patch +13 -13
  23. data/conf/redhat/server.init +11 -5
  24. data/conf/solaris/pkginfo +2 -2
  25. data/conf/solaris/smf/puppetd.xml +3 -3
  26. data/conf/solaris/smf/puppetmasterd.xml +3 -3
  27. data/conf/suse/client.init +3 -2
  28. data/conf/suse/puppet.spec +22 -18
  29. data/conf/suse/server.init +12 -11
  30. data/examples/modules/sample-module/README.txt +3 -3
  31. data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +4 -4
  32. data/ext/extlookup.rb +94 -96
  33. data/ext/nagios/check_puppet.rb +94 -88
  34. data/ext/nagios/naggen +3 -3
  35. data/ext/puppet-test +27 -3
  36. data/ext/puppetlisten/puppetlisten.rb +39 -39
  37. data/ext/puppetlisten/puppetrun.rb +6 -6
  38. data/ext/puppetstoredconfigclean.rb +49 -43
  39. data/ext/pure_ruby_dsl/dsl_test.rb +7 -0
  40. data/ext/regexp_nodes/regexp_nodes.rb +133 -133
  41. data/ext/yaml_nodes.rb +99 -0
  42. data/install.rb +109 -118
  43. data/lib/puppet.rb +118 -131
  44. data/lib/puppet/agent.rb +86 -119
  45. data/lib/puppet/agent/locker.rb +28 -30
  46. data/lib/puppet/application.rb +276 -184
  47. data/lib/puppet/application/agent.rb +266 -0
  48. data/lib/puppet/application/apply.rb +165 -0
  49. data/lib/puppet/application/cert.rb +85 -0
  50. data/lib/puppet/application/describe.rb +203 -0
  51. data/lib/puppet/application/doc.rb +215 -0
  52. data/lib/puppet/application/filebucket.rb +73 -73
  53. data/lib/puppet/application/kick.rb +212 -0
  54. data/lib/puppet/application/master.rb +156 -0
  55. data/lib/puppet/application/queue.rb +91 -0
  56. data/lib/puppet/application/resource.rb +118 -0
  57. data/lib/puppet/configurer.rb +214 -197
  58. data/lib/puppet/configurer/downloader.rb +63 -63
  59. data/lib/puppet/configurer/fact_handler.rb +51 -51
  60. data/lib/puppet/configurer/plugin_handler.rb +19 -19
  61. data/lib/puppet/daemon.rb +100 -103
  62. data/lib/puppet/defaults.rb +793 -796
  63. data/lib/puppet/dsl.rb +5 -269
  64. data/lib/puppet/dsl/resource_api.rb +120 -0
  65. data/lib/puppet/dsl/resource_type_api.rb +40 -0
  66. data/lib/puppet/error.rb +34 -36
  67. data/lib/puppet/external/base64.rb +8 -8
  68. data/lib/puppet/external/dot.rb +262 -262
  69. data/lib/puppet/external/event-loop/better-definers.rb +297 -297
  70. data/lib/puppet/external/event-loop/event-loop.rb +264 -272
  71. data/lib/puppet/external/event-loop/signal-system.rb +161 -163
  72. data/lib/puppet/external/lock.rb +41 -41
  73. data/lib/puppet/external/nagios.rb +32 -32
  74. data/lib/puppet/external/nagios/base.rb +453 -458
  75. data/lib/puppet/external/nagios/parser.rb +264 -287
  76. data/lib/puppet/external/pson/common.rb +8 -5
  77. data/lib/puppet/external/pson/pure/generator.rb +26 -26
  78. data/lib/puppet/external/pson/pure/parser.rb +43 -48
  79. data/lib/puppet/feature/base.rb +21 -1
  80. data/lib/puppet/feature/pson.rb +4 -4
  81. data/lib/puppet/feature/rack.rb +14 -14
  82. data/lib/puppet/feature/rails.rb +23 -25
  83. data/lib/puppet/file_bucket.rb +4 -0
  84. data/lib/puppet/file_bucket/dipper.rb +99 -0
  85. data/lib/puppet/file_bucket/file.rb +136 -0
  86. data/lib/puppet/file_bucket/file/indirection_hooks.rb +9 -0
  87. data/lib/puppet/file_collection.rb +20 -20
  88. data/lib/puppet/file_collection/lookup.rb +11 -11
  89. data/lib/puppet/file_serving/base.rb +67 -71
  90. data/lib/puppet/file_serving/configuration.rb +84 -86
  91. data/lib/puppet/file_serving/configuration/parser.rb +103 -102
  92. data/lib/puppet/file_serving/content.rb +34 -33
  93. data/lib/puppet/file_serving/fileset.rb +131 -133
  94. data/lib/puppet/file_serving/indirection_hooks.rb +17 -17
  95. data/lib/puppet/file_serving/metadata.rb +98 -95
  96. data/lib/puppet/file_serving/mount.rb +22 -22
  97. data/lib/puppet/file_serving/mount/file.rb +101 -106
  98. data/lib/puppet/file_serving/mount/modules.rb +15 -15
  99. data/lib/puppet/file_serving/mount/plugins.rb +15 -16
  100. data/lib/puppet/file_serving/terminus_helper.rb +13 -13
  101. data/lib/puppet/indirector.rb +48 -49
  102. data/lib/puppet/indirector/active_record.rb +19 -19
  103. data/lib/puppet/indirector/catalog/active_record.rb +25 -25
  104. data/lib/puppet/indirector/catalog/compiler.rb +134 -145
  105. data/lib/puppet/indirector/catalog/rest.rb +1 -1
  106. data/lib/puppet/indirector/catalog/yaml.rb +13 -13
  107. data/lib/puppet/indirector/certificate/ca.rb +3 -3
  108. data/lib/puppet/indirector/certificate/file.rb +3 -3
  109. data/lib/puppet/indirector/certificate/rest.rb +8 -8
  110. data/lib/puppet/indirector/certificate_request/ca.rb +7 -7
  111. data/lib/puppet/indirector/certificate_request/file.rb +2 -2
  112. data/lib/puppet/indirector/certificate_request/rest.rb +3 -3
  113. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +2 -2
  114. data/lib/puppet/indirector/certificate_revocation_list/file.rb +2 -2
  115. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +3 -3
  116. data/lib/puppet/indirector/couch.rb +76 -0
  117. data/lib/puppet/indirector/direct_file_server.rb +11 -11
  118. data/lib/puppet/indirector/envelope.rb +4 -4
  119. data/lib/puppet/indirector/exec.rb +38 -42
  120. data/lib/puppet/indirector/facts/active_record.rb +24 -24
  121. data/lib/puppet/indirector/facts/couch.rb +31 -0
  122. data/lib/puppet/indirector/facts/facter.rb +63 -61
  123. data/lib/puppet/indirector/facts/memory.rb +4 -4
  124. data/lib/puppet/indirector/facts/rest.rb +1 -1
  125. data/lib/puppet/indirector/facts/yaml.rb +2 -2
  126. data/lib/puppet/indirector/file.rb +67 -46
  127. data/lib/puppet/indirector/file_bucket_file/file.rb +146 -0
  128. data/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  129. data/lib/puppet/indirector/file_content/file.rb +1 -1
  130. data/lib/puppet/indirector/file_content/file_server.rb +1 -1
  131. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  132. data/lib/puppet/indirector/file_metadata/file.rb +11 -11
  133. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -1
  134. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  135. data/lib/puppet/indirector/file_server.rb +44 -44
  136. data/lib/puppet/indirector/indirection.rb +249 -260
  137. data/lib/puppet/indirector/key/ca.rb +5 -5
  138. data/lib/puppet/indirector/key/file.rb +29 -29
  139. data/lib/puppet/indirector/ldap.rb +62 -64
  140. data/lib/puppet/indirector/memory.rb +13 -13
  141. data/lib/puppet/indirector/node/active_record.rb +6 -6
  142. data/lib/puppet/indirector/node/exec.rb +40 -44
  143. data/lib/puppet/indirector/node/ldap.rb +246 -212
  144. data/lib/puppet/indirector/node/memory.rb +5 -5
  145. data/lib/puppet/indirector/node/plain.rb +12 -12
  146. data/lib/puppet/indirector/node/rest.rb +2 -2
  147. data/lib/puppet/indirector/node/yaml.rb +2 -2
  148. data/lib/puppet/indirector/plain.rb +4 -4
  149. data/lib/puppet/indirector/queue.rb +49 -51
  150. data/lib/puppet/indirector/report/processor.rb +34 -37
  151. data/lib/puppet/indirector/report/rest.rb +3 -3
  152. data/lib/puppet/indirector/request.rb +171 -157
  153. data/lib/puppet/indirector/resource/ral.rb +48 -0
  154. data/lib/puppet/indirector/resource/rest.rb +5 -0
  155. data/lib/puppet/indirector/resource_type.rb +5 -0
  156. data/lib/puppet/indirector/resource_type/parser.rb +27 -0
  157. data/lib/puppet/indirector/resource_type/rest.rb +7 -0
  158. data/lib/puppet/indirector/rest.rb +83 -79
  159. data/lib/puppet/indirector/run/local.rb +8 -0
  160. data/lib/puppet/indirector/run/rest.rb +6 -0
  161. data/lib/puppet/indirector/ssl_file.rb +165 -165
  162. data/lib/puppet/indirector/status.rb +3 -0
  163. data/lib/puppet/indirector/status/local.rb +7 -0
  164. data/lib/puppet/indirector/status/rest.rb +5 -0
  165. data/lib/puppet/indirector/terminus.rb +129 -133
  166. data/lib/puppet/indirector/yaml.rb +47 -49
  167. data/lib/puppet/metatype/manager.rb +120 -114
  168. data/lib/puppet/module.rb +182 -124
  169. data/lib/puppet/network/authconfig.rb +146 -156
  170. data/lib/puppet/network/authorization.rb +63 -70
  171. data/lib/puppet/network/authstore.rb +226 -232
  172. data/lib/puppet/network/client.rb +141 -152
  173. data/lib/puppet/network/client/ca.rb +47 -49
  174. data/lib/puppet/network/client/file.rb +3 -3
  175. data/lib/puppet/network/client/proxy.rb +19 -19
  176. data/lib/puppet/network/client/report.rb +17 -21
  177. data/lib/puppet/network/client/runner.rb +5 -7
  178. data/lib/puppet/network/client/status.rb +1 -1
  179. data/lib/puppet/network/client_request.rb +20 -22
  180. data/lib/puppet/network/format.rb +79 -81
  181. data/lib/puppet/network/format_handler.rb +135 -130
  182. data/lib/puppet/network/formats.rb +128 -154
  183. data/lib/puppet/network/handler.rb +43 -46
  184. data/lib/puppet/network/handler/ca.rb +129 -135
  185. data/lib/puppet/network/handler/filebucket.rb +39 -170
  186. data/lib/puppet/network/handler/fileserver.rb +624 -656
  187. data/lib/puppet/network/handler/master.rb +62 -75
  188. data/lib/puppet/network/handler/report.rb +60 -67
  189. data/lib/puppet/network/handler/runner.rb +20 -20
  190. data/lib/puppet/network/handler/status.rb +9 -9
  191. data/lib/puppet/network/http.rb +12 -12
  192. data/lib/puppet/network/http/api/v1.rb +49 -44
  193. data/lib/puppet/network/http/compression.rb +111 -0
  194. data/lib/puppet/network/http/handler.rb +183 -183
  195. data/lib/puppet/network/http/mongrel.rb +46 -48
  196. data/lib/puppet/network/http/mongrel/rest.rb +73 -66
  197. data/lib/puppet/network/http/rack.rb +45 -45
  198. data/lib/puppet/network/http/rack/httphandler.rb +7 -7
  199. data/lib/puppet/network/http/rack/rest.rb +84 -61
  200. data/lib/puppet/network/http/rack/xmlrpc.rb +49 -49
  201. data/lib/puppet/network/http/webrick.rb +108 -112
  202. data/lib/puppet/network/http/webrick/rest.rb +60 -57
  203. data/lib/puppet/network/http_pool.rb +95 -83
  204. data/lib/puppet/network/http_server/mongrel.rb +90 -90
  205. data/lib/puppet/network/http_server/webrick.rb +139 -148
  206. data/lib/puppet/network/rest_authconfig.rb +76 -71
  207. data/lib/puppet/network/rest_authorization.rb +11 -13
  208. data/lib/puppet/network/rights.rb +217 -226
  209. data/lib/puppet/network/server.rb +147 -151
  210. data/lib/puppet/network/xmlrpc/client.rb +197 -205
  211. data/lib/puppet/network/xmlrpc/processor.rb +68 -72
  212. data/lib/puppet/network/xmlrpc/server.rb +10 -10
  213. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +94 -100
  214. data/lib/puppet/node.rb +99 -107
  215. data/lib/puppet/node/environment.rb +109 -62
  216. data/lib/puppet/node/facts.rb +48 -43
  217. data/lib/puppet/parameter.rb +246 -498
  218. data/lib/puppet/parameter/value.rb +63 -0
  219. data/lib/puppet/parameter/value_collection.rb +143 -0
  220. data/lib/puppet/parser.rb +4 -0
  221. data/lib/puppet/parser/ast.rb +81 -67
  222. data/lib/puppet/parser/ast/arithmetic_operator.rb +27 -29
  223. data/lib/puppet/parser/ast/astarray.rb +50 -50
  224. data/lib/puppet/parser/ast/asthash.rb +37 -0
  225. data/lib/puppet/parser/ast/boolean_operator.rb +33 -35
  226. data/lib/puppet/parser/ast/branch.rb +29 -31
  227. data/lib/puppet/parser/ast/caseopt.rb +50 -56
  228. data/lib/puppet/parser/ast/casestatement.rb +30 -30
  229. data/lib/puppet/parser/ast/collection.rb +43 -37
  230. data/lib/puppet/parser/ast/collexpr.rb +66 -69
  231. data/lib/puppet/parser/ast/comparison_operator.rb +32 -35
  232. data/lib/puppet/parser/ast/else.rb +13 -13
  233. data/lib/puppet/parser/ast/function.rb +34 -43
  234. data/lib/puppet/parser/ast/ifstatement.rb +23 -27
  235. data/lib/puppet/parser/ast/in_operator.rb +24 -0
  236. data/lib/puppet/parser/ast/leaf.rb +173 -156
  237. data/lib/puppet/parser/ast/match_operator.rb +16 -19
  238. data/lib/puppet/parser/ast/minus.rb +13 -13
  239. data/lib/puppet/parser/ast/nop.rb +6 -6
  240. data/lib/puppet/parser/ast/not.rb +9 -9
  241. data/lib/puppet/parser/ast/relationship.rb +60 -0
  242. data/lib/puppet/parser/ast/resource.rb +58 -57
  243. data/lib/puppet/parser/ast/resource_defaults.rb +16 -16
  244. data/lib/puppet/parser/ast/resource_override.rb +51 -51
  245. data/lib/puppet/parser/ast/resource_reference.rb +17 -72
  246. data/lib/puppet/parser/ast/resourceparam.rb +20 -17
  247. data/lib/puppet/parser/ast/selector.rb +30 -34
  248. data/lib/puppet/parser/ast/tag.rb +16 -16
  249. data/lib/puppet/parser/ast/vardef.rb +20 -16
  250. data/lib/puppet/parser/collector.rb +181 -189
  251. data/lib/puppet/parser/compiler.rb +395 -364
  252. data/lib/puppet/parser/files.rb +65 -69
  253. data/lib/puppet/parser/functions.rb +85 -97
  254. data/lib/puppet/parser/functions/defined.rb +23 -23
  255. data/lib/puppet/parser/functions/fail.rb +2 -2
  256. data/lib/puppet/parser/functions/file.rb +21 -19
  257. data/lib/puppet/parser/functions/fqdn_rand.rb +7 -7
  258. data/lib/puppet/parser/functions/generate.rb +24 -26
  259. data/lib/puppet/parser/functions/include.rb +16 -18
  260. data/lib/puppet/parser/functions/inline_template.rb +16 -17
  261. data/lib/puppet/parser/functions/realize.rb +8 -8
  262. data/lib/puppet/parser/functions/regsubst.rb +74 -59
  263. data/lib/puppet/parser/functions/require.rb +35 -33
  264. data/lib/puppet/parser/functions/search.rb +5 -5
  265. data/lib/puppet/parser/functions/sha1.rb +3 -4
  266. data/lib/puppet/parser/functions/shellquote.rb +31 -33
  267. data/lib/puppet/parser/functions/split.rb +8 -8
  268. data/lib/puppet/parser/functions/sprintf.rb +10 -9
  269. data/lib/puppet/parser/functions/tag.rb +3 -3
  270. data/lib/puppet/parser/functions/tagged.rb +13 -13
  271. data/lib/puppet/parser/functions/template.rb +18 -19
  272. data/lib/puppet/parser/functions/versioncmp.rb +17 -14
  273. data/lib/puppet/parser/grammar.ra +485 -422
  274. data/lib/puppet/parser/lexer.rb +500 -442
  275. data/lib/puppet/parser/parser.rb +1438 -1084
  276. data/lib/puppet/parser/parser_support.rb +227 -502
  277. data/lib/puppet/parser/relationship.rb +43 -0
  278. data/lib/puppet/parser/resource.rb +280 -375
  279. data/lib/puppet/parser/resource/param.rb +18 -18
  280. data/lib/puppet/parser/scope.rb +450 -447
  281. data/lib/puppet/parser/templatewrapper.rb +92 -94
  282. data/lib/puppet/parser/type_loader.rb +146 -0
  283. data/lib/puppet/parser/yaml_trimmer.rb +6 -8
  284. data/lib/puppet/property.rb +290 -453
  285. data/lib/puppet/property/ensure.rb +92 -0
  286. data/lib/puppet/property/keyvalue.rb +74 -82
  287. data/lib/puppet/property/list.rb +71 -81
  288. data/lib/puppet/property/ordered_list.rb +15 -15
  289. data/lib/puppet/provider.rb +229 -241
  290. data/lib/puppet/provider/augeas/augeas.rb +318 -320
  291. data/lib/puppet/provider/computer/computer.rb +13 -13
  292. data/lib/puppet/provider/confine.rb +63 -63
  293. data/lib/puppet/provider/confine/exists.rb +14 -14
  294. data/lib/puppet/provider/confine/false.rb +12 -12
  295. data/lib/puppet/provider/confine/feature.rb +10 -10
  296. data/lib/puppet/provider/confine/true.rb +13 -13
  297. data/lib/puppet/provider/confine/variable.rb +51 -54
  298. data/lib/puppet/provider/confine_collection.rb +38 -38
  299. data/lib/puppet/provider/confiner.rb +10 -14
  300. data/lib/puppet/provider/cron/crontab.rb +172 -173
  301. data/lib/puppet/provider/file/posix.rb +99 -0
  302. data/lib/puppet/provider/file/win32.rb +74 -0
  303. data/lib/puppet/provider/group/directoryservice.rb +6 -6
  304. data/lib/puppet/provider/group/groupadd.rb +18 -20
  305. data/lib/puppet/provider/group/ldap.rb +40 -43
  306. data/lib/puppet/provider/group/pw.rb +23 -23
  307. data/lib/puppet/provider/host/parsed.rb +51 -50
  308. data/lib/puppet/provider/ldap.rb +121 -123
  309. data/lib/puppet/provider/macauthorization/macauthorization.rb +263 -272
  310. data/lib/puppet/provider/mailalias/aliases.rb +34 -31
  311. data/lib/puppet/provider/maillist/mailman.rb +87 -93
  312. data/lib/puppet/provider/mcx/mcxcontent.rb +155 -151
  313. data/lib/puppet/provider/mount.rb +36 -40
  314. data/lib/puppet/provider/mount/parsed.rb +28 -26
  315. data/lib/puppet/provider/naginator.rb +46 -48
  316. data/lib/puppet/provider/nameservice.rb +215 -257
  317. data/lib/puppet/provider/nameservice/directoryservice.rb +455 -471
  318. data/lib/puppet/provider/nameservice/objectadd.rb +21 -21
  319. data/lib/puppet/provider/nameservice/pw.rb +13 -13
  320. data/lib/puppet/provider/package.rb +18 -20
  321. data/lib/puppet/provider/package/aix.rb +128 -0
  322. data/lib/puppet/provider/package/appdmg.rb +78 -82
  323. data/lib/puppet/provider/package/apple.rb +39 -40
  324. data/lib/puppet/provider/package/apt.rb +95 -104
  325. data/lib/puppet/provider/package/aptitude.rb +19 -21
  326. data/lib/puppet/provider/package/aptrpm.rb +70 -72
  327. data/lib/puppet/provider/package/blastwave.rb +88 -94
  328. data/lib/puppet/provider/package/darwinport.rb +67 -69
  329. data/lib/puppet/provider/package/dpkg.rb +123 -97
  330. data/lib/puppet/provider/package/fink.rb +66 -68
  331. data/lib/puppet/provider/package/freebsd.rb +38 -40
  332. data/lib/puppet/provider/package/gem.rb +98 -102
  333. data/lib/puppet/provider/package/hpux.rb +37 -39
  334. data/lib/puppet/provider/package/nim.rb +35 -0
  335. data/lib/puppet/provider/package/openbsd.rb +100 -75
  336. data/lib/puppet/provider/package/pkg.rb +108 -0
  337. data/lib/puppet/provider/package/pkgdmg.rb +95 -87
  338. data/lib/puppet/provider/package/portage.rb +101 -104
  339. data/lib/puppet/provider/package/ports.rb +71 -73
  340. data/lib/puppet/provider/package/portupgrade.rb +251 -0
  341. data/lib/puppet/provider/package/rpm.rb +113 -115
  342. data/lib/puppet/provider/package/rug.rb +46 -46
  343. data/lib/puppet/provider/package/sun.rb +135 -151
  344. data/lib/puppet/provider/package/sunfreeware.rb +5 -5
  345. data/lib/puppet/provider/package/up2date.rb +31 -31
  346. data/lib/puppet/provider/package/urpmi.rb +51 -51
  347. data/lib/puppet/provider/package/yum.rb +90 -98
  348. data/lib/puppet/provider/package/zypper.rb +52 -0
  349. data/lib/puppet/provider/parsedfile.rb +306 -329
  350. data/lib/puppet/provider/port/parsed.rb +5 -5
  351. data/lib/puppet/provider/selboolean/getsetsebool.rb +34 -34
  352. data/lib/puppet/provider/selmodule/semodule.rb +103 -111
  353. data/lib/puppet/provider/service/base.rb +134 -139
  354. data/lib/puppet/provider/service/bsd.rb +48 -0
  355. data/lib/puppet/provider/service/daemontools.rb +158 -162
  356. data/lib/puppet/provider/service/debian.rb +36 -36
  357. data/lib/puppet/provider/service/freebsd.rb +118 -38
  358. data/lib/puppet/provider/service/gentoo.rb +33 -39
  359. data/lib/puppet/provider/service/init.rb +125 -125
  360. data/lib/puppet/provider/service/launchd.rb +234 -254
  361. data/lib/puppet/provider/service/redhat.rb +58 -58
  362. data/lib/puppet/provider/service/runit.rb +74 -74
  363. data/lib/puppet/provider/service/smf.rb +81 -85
  364. data/lib/puppet/provider/service/src.rb +87 -0
  365. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +73 -81
  366. data/lib/puppet/provider/sshkey/parsed.rb +24 -21
  367. data/lib/puppet/provider/user/directoryservice.rb +71 -71
  368. data/lib/puppet/provider/user/hpux.rb +20 -20
  369. data/lib/puppet/provider/user/ldap.rb +106 -110
  370. data/lib/puppet/provider/user/pw.rb +33 -37
  371. data/lib/puppet/provider/user/user_role_add.rb +168 -183
  372. data/lib/puppet/provider/user/useradd.rb +50 -51
  373. data/lib/puppet/provider/zfs/solaris.rb +35 -35
  374. data/lib/puppet/provider/zone/solaris.rb +206 -205
  375. data/lib/puppet/provider/zpool/solaris.rb +95 -97
  376. data/lib/puppet/rails.rb +115 -122
  377. data/lib/puppet/rails/benchmark.rb +43 -49
  378. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +8 -12
  379. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +8 -12
  380. data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -10
  381. data/lib/puppet/rails/database/schema.rb +100 -97
  382. data/lib/puppet/rails/fact_name.rb +1 -1
  383. data/lib/puppet/rails/fact_value.rb +5 -5
  384. data/lib/puppet/rails/host.rb +252 -249
  385. data/lib/puppet/rails/param_name.rb +15 -15
  386. data/lib/puppet/rails/param_value.rb +55 -55
  387. data/lib/puppet/rails/puppet_tag.rb +4 -4
  388. data/lib/puppet/rails/resource.rb +189 -203
  389. data/lib/puppet/rails/resource_tag.rb +19 -19
  390. data/lib/puppet/rails/source_file.rb +5 -5
  391. data/lib/puppet/reference/configuration.rb +53 -56
  392. data/lib/puppet/reference/function.rb +1 -1
  393. data/lib/puppet/reference/indirection.rb +13 -13
  394. data/lib/puppet/reference/metaparameter.rb +40 -40
  395. data/lib/puppet/reference/network.rb +16 -16
  396. data/lib/puppet/reference/providers.rb +97 -98
  397. data/lib/puppet/reference/report.rb +1 -1
  398. data/lib/puppet/reference/type.rb +67 -70
  399. data/lib/puppet/relationship.rb +65 -67
  400. data/lib/puppet/reports.rb +32 -34
  401. data/lib/puppet/reports/http.rb +22 -0
  402. data/lib/puppet/reports/log.rb +7 -6
  403. data/lib/puppet/reports/rrdgraph.rb +105 -114
  404. data/lib/puppet/reports/store.rb +53 -56
  405. data/lib/puppet/reports/tagmail.rb +149 -157
  406. data/lib/puppet/resource.rb +428 -194
  407. data/lib/puppet/resource/catalog.rb +496 -512
  408. data/lib/puppet/resource/status.rb +58 -0
  409. data/lib/puppet/resource/type.rb +311 -0
  410. data/lib/puppet/resource/type_collection.rb +217 -0
  411. data/lib/puppet/resource/type_collection_helper.rb +7 -0
  412. data/lib/puppet/run.rb +77 -0
  413. data/lib/puppet/simple_graph.rb +381 -413
  414. data/lib/puppet/ssl.rb +2 -1
  415. data/lib/puppet/ssl/base.rb +60 -43
  416. data/lib/puppet/ssl/certificate.rb +21 -21
  417. data/lib/puppet/ssl/certificate_authority.rb +215 -229
  418. data/lib/puppet/ssl/certificate_authority/interface.rb +84 -68
  419. data/lib/puppet/ssl/certificate_factory.rb +119 -119
  420. data/lib/puppet/ssl/certificate_request.rb +52 -45
  421. data/lib/puppet/ssl/certificate_revocation_list.rb +78 -78
  422. data/lib/puppet/ssl/host.rb +230 -228
  423. data/lib/puppet/ssl/inventory.rb +33 -33
  424. data/lib/puppet/ssl/key.rb +37 -37
  425. data/lib/puppet/sslcertificates.rb +124 -123
  426. data/lib/puppet/sslcertificates/ca.rb +327 -344
  427. data/lib/puppet/sslcertificates/certificate.rb +197 -224
  428. data/lib/puppet/sslcertificates/inventory.rb +27 -29
  429. data/lib/puppet/sslcertificates/support.rb +113 -119
  430. data/lib/puppet/status.rb +28 -0
  431. data/lib/puppet/transaction.rb +349 -696
  432. data/lib/puppet/transaction/change.rb +80 -85
  433. data/lib/puppet/transaction/event.rb +54 -14
  434. data/lib/puppet/transaction/event_manager.rb +99 -0
  435. data/lib/puppet/transaction/report.rb +121 -59
  436. data/lib/puppet/transaction/resource_harness.rb +150 -0
  437. data/lib/puppet/transportable.rb +215 -226
  438. data/lib/puppet/type.rb +1644 -1849
  439. data/lib/puppet/type/augeas.rb +153 -134
  440. data/lib/puppet/type/component.rb +63 -65
  441. data/lib/puppet/type/computer.rb +44 -44
  442. data/lib/puppet/type/cron.rb +364 -384
  443. data/lib/puppet/type/exec.rb +583 -521
  444. data/lib/puppet/type/file.rb +786 -823
  445. data/lib/puppet/type/file/checksum.rb +23 -240
  446. data/lib/puppet/type/file/content.rb +193 -129
  447. data/lib/puppet/type/file/ensure.rb +149 -153
  448. data/lib/puppet/type/file/group.rb +94 -104
  449. data/lib/puppet/type/file/mode.rb +109 -122
  450. data/lib/puppet/type/file/owner.rb +39 -131
  451. data/lib/puppet/type/file/selcontext.rb +69 -73
  452. data/lib/puppet/type/file/source.rb +165 -153
  453. data/lib/puppet/type/file/target.rb +56 -60
  454. data/lib/puppet/type/file/type.rb +18 -18
  455. data/lib/puppet/type/filebucket.rb +91 -92
  456. data/lib/puppet/type/group.rb +77 -82
  457. data/lib/puppet/type/host.rb +85 -85
  458. data/lib/puppet/type/k5login.rb +65 -65
  459. data/lib/puppet/type/macauthorization.rb +141 -143
  460. data/lib/puppet/type/mailalias.rb +37 -37
  461. data/lib/puppet/type/maillist.rb +51 -51
  462. data/lib/puppet/type/mcx.rb +62 -62
  463. data/lib/puppet/type/mount.rb +199 -193
  464. data/lib/puppet/type/notify.rb +33 -33
  465. data/lib/puppet/type/package.rb +301 -298
  466. data/lib/puppet/type/port.rb +4 -4
  467. data/lib/puppet/type/resources.rb +107 -123
  468. data/lib/puppet/type/schedule.rb +317 -326
  469. data/lib/puppet/type/selboolean.rb +19 -19
  470. data/lib/puppet/type/selmodule.rb +34 -34
  471. data/lib/puppet/type/service.rb +152 -152
  472. data/lib/puppet/type/ssh_authorized_key.rb +74 -78
  473. data/lib/puppet/type/sshkey.rb +52 -56
  474. data/lib/puppet/type/stage.rb +18 -0
  475. data/lib/puppet/type/tidy.rb +289 -300
  476. data/lib/puppet/type/user.rb +300 -312
  477. data/lib/puppet/type/yumrepo.rb +300 -335
  478. data/lib/puppet/type/zfs.rb +36 -36
  479. data/lib/puppet/type/zone.rb +376 -347
  480. data/lib/puppet/type/zpool.rb +71 -77
  481. data/lib/puppet/util.rb +383 -387
  482. data/lib/puppet/util/autoload.rb +125 -143
  483. data/lib/puppet/util/autoload/file_cache.rb +78 -101
  484. data/lib/puppet/util/backups.rb +66 -66
  485. data/lib/puppet/util/cacher.rb +112 -120
  486. data/lib/puppet/util/checksums.rb +119 -84
  487. data/lib/puppet/util/classgen.rb +157 -167
  488. data/lib/puppet/util/command_line.rb +95 -0
  489. data/lib/puppet/util/command_line/filebucket +97 -0
  490. data/lib/puppet/util/command_line/pi +48 -0
  491. data/lib/puppet/util/command_line/puppet +69 -0
  492. data/lib/puppet/util/command_line/puppetca +110 -0
  493. data/lib/puppet/util/command_line/puppetd +186 -0
  494. data/lib/puppet/util/command_line/puppetdoc +67 -0
  495. data/lib/puppet/util/command_line/puppetmasterd +65 -0
  496. data/lib/puppet/util/command_line/puppetqd +53 -0
  497. data/lib/puppet/util/command_line/puppetrun +128 -0
  498. data/lib/puppet/util/command_line/ralsh +89 -0
  499. data/lib/puppet/util/constant_inflector.rb +7 -7
  500. data/lib/puppet/util/diff.rb +59 -56
  501. data/lib/puppet/util/docs.rb +97 -99
  502. data/lib/puppet/util/errors.rb +53 -44
  503. data/lib/puppet/util/execution.rb +15 -15
  504. data/lib/puppet/util/feature.rb +62 -72
  505. data/lib/puppet/util/file_locking.rb +33 -33
  506. data/lib/puppet/util/fileparsing.rb +292 -318
  507. data/lib/puppet/util/filetype.rb +246 -263
  508. data/lib/puppet/util/graph.rb +16 -18
  509. data/lib/puppet/util/inifile.rb +170 -184
  510. data/lib/puppet/util/inline_docs.rb +26 -0
  511. data/lib/puppet/util/instance_loader.rb +58 -58
  512. data/lib/puppet/util/ldap/connection.rb +57 -59
  513. data/lib/puppet/util/ldap/generator.rb +31 -31
  514. data/lib/puppet/util/ldap/manager.rb +233 -235
  515. data/lib/puppet/util/loadedfile.rb +49 -51
  516. data/lib/puppet/util/log.rb +210 -494
  517. data/lib/puppet/util/log/destination.rb +49 -0
  518. data/lib/puppet/util/log/destinations.rb +217 -0
  519. data/lib/puppet/util/log_paths.rb +15 -17
  520. data/lib/puppet/util/logging.rb +34 -13
  521. data/lib/puppet/util/metaid.rb +15 -15
  522. data/lib/puppet/util/methodhelper.rb +24 -26
  523. data/lib/puppet/util/metric.rb +123 -125
  524. data/lib/puppet/util/monkey_patches.rb +21 -20
  525. data/lib/puppet/util/nagios_maker.rb +41 -41
  526. data/lib/puppet/util/package.rb +24 -26
  527. data/lib/puppet/util/pidlock.rb +49 -49
  528. data/lib/puppet/util/posix.rb +115 -115
  529. data/lib/puppet/util/provider_features.rb +147 -155
  530. data/lib/puppet/util/pson.rb +5 -5
  531. data/lib/puppet/util/queue.rb +55 -55
  532. data/lib/puppet/util/queue/stomp.rb +27 -27
  533. data/lib/puppet/util/rails/cache_accumulator.rb +49 -49
  534. data/lib/puppet/util/rails/collection_merger.rb +13 -13
  535. data/lib/puppet/util/rails/reference_serializer.rb +26 -26
  536. data/lib/puppet/util/rdoc.rb +77 -74
  537. data/lib/puppet/util/rdoc/code_objects.rb +235 -217
  538. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +732 -676
  539. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +38 -12
  540. data/lib/puppet/util/rdoc/parser.rb +418 -392
  541. data/lib/puppet/util/reference.rb +168 -174
  542. data/lib/puppet/util/resource_template.rb +17 -17
  543. data/lib/puppet/util/run_mode.rb +81 -0
  544. data/lib/puppet/util/selinux.rb +184 -200
  545. data/lib/puppet/util/settings.rb +886 -919
  546. data/lib/puppet/util/settings/boolean_setting.rb +20 -23
  547. data/lib/puppet/util/settings/file_setting.rb +98 -99
  548. data/lib/puppet/util/settings/setting.rb +71 -87
  549. data/lib/puppet/util/storage.rb +73 -84
  550. data/lib/puppet/util/subclass_loader.rb +59 -66
  551. data/lib/puppet/util/suidmanager.rb +87 -84
  552. data/lib/puppet/util/tagging.rb +37 -39
  553. data/lib/puppet/util/user_attr.rb +14 -14
  554. data/lib/puppet/util/warnings.rb +20 -20
  555. data/lib/puppet/util/zaml.rb +242 -241
  556. data/man/man5/puppet.conf.5 +148 -76
  557. data/man/man8/filebucket.8 +6 -6
  558. data/man/man8/pi.8 +5 -5
  559. data/man/man8/puppet.8 +2 -73
  560. data/man/man8/puppetca.8 +47 -32
  561. data/man/man8/puppetd.8 +118 -76
  562. data/man/man8/puppetdoc.8 +16 -12
  563. data/man/man8/puppetmasterd.8 +4 -4
  564. data/man/man8/puppetqd.8 +4 -4
  565. data/man/man8/puppetrun.8 +23 -22
  566. data/man/man8/ralsh.8 +16 -17
  567. data/spec/fixtures/yaml/test.local.yaml +16 -0
  568. data/spec/integration/application/apply_spec.rb +33 -0
  569. data/spec/integration/configurer_spec.rb +35 -0
  570. data/spec/integration/defaults_spec.rb +258 -0
  571. data/spec/integration/file_serving/content_spec.rb +20 -0
  572. data/spec/integration/file_serving/fileset_spec.rb +14 -0
  573. data/spec/integration/file_serving/metadata_spec.rb +21 -0
  574. data/spec/integration/file_serving/terminus_helper_spec.rb +22 -0
  575. data/spec/integration/indirector/bucket_file/rest_spec.rb +68 -0
  576. data/spec/integration/indirector/catalog/compiler_spec.rb +68 -0
  577. data/spec/integration/indirector/catalog/queue_spec.rb +61 -0
  578. data/spec/integration/indirector/certificate/rest_spec.rb +68 -0
  579. data/spec/integration/indirector/certificate_request/rest_spec.rb +88 -0
  580. data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +76 -0
  581. data/spec/integration/indirector/direct_file_server_spec.rb +73 -0
  582. data/spec/integration/indirector/file_content/file_server_spec.rb +94 -0
  583. data/spec/integration/indirector/file_metadata/file_server_spec.rb +18 -0
  584. data/spec/integration/indirector/node/ldap_spec.rb +15 -0
  585. data/spec/integration/indirector/report/rest_spec.rb +96 -0
  586. data/spec/integration/indirector/rest_spec.rb +524 -0
  587. data/spec/integration/network/client_spec.rb +19 -0
  588. data/spec/integration/network/formats_spec.rb +110 -0
  589. data/spec/integration/network/handler_spec.rb +25 -0
  590. data/spec/integration/network/server/mongrel_spec.rb +66 -0
  591. data/spec/integration/network/server/webrick_spec.rb +85 -0
  592. data/spec/integration/node/environment_spec.rb +58 -0
  593. data/spec/integration/node/facts_spec.rb +47 -0
  594. data/spec/integration/node_spec.rb +93 -0
  595. data/spec/integration/parser/collector_spec.rb +38 -0
  596. data/spec/integration/parser/compiler_spec.rb +29 -0
  597. data/spec/integration/parser/functions/require_spec.rb +44 -0
  598. data/spec/integration/parser/parser_spec.rb +113 -0
  599. data/spec/integration/provider/mailalias/aliases_spec.rb +25 -0
  600. data/spec/integration/provider/package_spec.rb +26 -0
  601. data/spec/integration/provider/service/init_spec.rb +32 -0
  602. data/spec/integration/reference/providers_spec.rb +17 -0
  603. data/spec/integration/reports_spec.rb +18 -0
  604. data/spec/integration/resource/catalog_spec.rb +61 -0
  605. data/spec/integration/resource/type_collection_spec.rb +96 -0
  606. data/spec/integration/ssl/certificate_authority_spec.rb +135 -0
  607. data/spec/integration/ssl/certificate_request_spec.rb +61 -0
  608. data/spec/integration/ssl/certificate_revocation_list_spec.rb +42 -0
  609. data/spec/integration/ssl/host_spec.rb +90 -0
  610. data/spec/integration/transaction/report_spec.rb +29 -0
  611. data/spec/integration/transaction_spec.rb +284 -0
  612. data/spec/integration/type/file_spec.rb +506 -0
  613. data/spec/integration/type/package_spec.rb +25 -0
  614. data/spec/integration/type/tidy_spec.rb +32 -0
  615. data/spec/integration/type_spec.rb +22 -0
  616. data/spec/integration/util/autoload_spec.rb +114 -0
  617. data/spec/integration/util/feature_spec.rb +54 -0
  618. data/spec/integration/util/file_locking_spec.rb +37 -0
  619. data/spec/integration/util/rdoc/parser_spec.rb +59 -0
  620. data/spec/integration/util/settings_spec.rb +30 -0
  621. data/spec/lib/puppet_spec/files.rb +16 -6
  622. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +27 -27
  623. data/spec/monkey_patches/alias_should_to_must.rb +4 -4
  624. data/spec/shared_behaviours/file_server_terminus.rb +28 -28
  625. data/spec/shared_behaviours/file_serving.rb +53 -53
  626. data/spec/shared_behaviours/memory_terminus.rb +22 -22
  627. data/spec/spec.opts +1 -0
  628. data/spec/spec_helper.rb +61 -18
  629. data/spec/spec_specs/runnable_spec.rb +95 -0
  630. data/spec/unit/agent/locker_spec.rb +100 -0
  631. data/spec/unit/agent_spec.rb +281 -0
  632. data/spec/unit/application/agent_spec.rb +588 -0
  633. data/spec/unit/application/apply_spec.rb +387 -0
  634. data/spec/unit/application/cert_spec.rb +194 -0
  635. data/spec/unit/application/describe_spec.rb +84 -0
  636. data/spec/unit/application/doc_spec.rb +368 -0
  637. data/spec/unit/application/filebucket_spec.rb +223 -0
  638. data/spec/unit/application/kick_spec.rb +313 -0
  639. data/spec/unit/application/master_spec.rb +453 -0
  640. data/spec/unit/application/queue_spec.rb +186 -0
  641. data/spec/unit/application/resource_spec.rb +233 -0
  642. data/spec/unit/application_spec.rb +531 -0
  643. data/spec/unit/configurer/downloader_spec.rb +188 -0
  644. data/spec/unit/configurer/fact_handler_spec.rb +164 -0
  645. data/spec/unit/configurer/plugin_handler_spec.rb +112 -0
  646. data/spec/unit/configurer_spec.rb +494 -0
  647. data/spec/unit/daemon_spec.rb +306 -0
  648. data/spec/unit/dsl/resource_api_spec.rb +181 -0
  649. data/spec/unit/dsl/resource_type_api_spec.rb +46 -0
  650. data/spec/unit/file_bucket/dipper_spec.rb +122 -0
  651. data/spec/unit/file_bucket/file_spec.rb +230 -0
  652. data/spec/unit/file_collection/lookup_spec.rb +46 -0
  653. data/spec/unit/file_collection_spec.rb +53 -0
  654. data/spec/unit/file_serving/base_spec.rb +132 -0
  655. data/spec/unit/file_serving/configuration/parser_spec.rb +181 -0
  656. data/spec/unit/file_serving/configuration_spec.rb +249 -0
  657. data/spec/unit/file_serving/content_spec.rb +118 -0
  658. data/spec/unit/file_serving/fileset_spec.rb +347 -0
  659. data/spec/unit/file_serving/indirection_hooks_spec.rb +63 -0
  660. data/spec/unit/file_serving/metadata_spec.rb +286 -0
  661. data/spec/unit/file_serving/mount/file_spec.rb +196 -0
  662. data/spec/unit/file_serving/mount/modules_spec.rb +63 -0
  663. data/spec/unit/file_serving/mount/plugins_spec.rb +61 -0
  664. data/spec/unit/file_serving/mount_spec.rb +32 -0
  665. data/spec/unit/file_serving/terminus_helper_spec.rb +98 -0
  666. data/spec/unit/indirector/active_record_spec.rb +76 -0
  667. data/spec/unit/indirector/catalog/active_record_spec.rb +141 -0
  668. data/spec/unit/indirector/catalog/compiler_spec.rb +275 -0
  669. data/spec/unit/indirector/catalog/queue_spec.rb +20 -0
  670. data/spec/unit/indirector/catalog/rest_spec.rb +11 -0
  671. data/spec/unit/indirector/catalog/yaml_spec.rb +25 -0
  672. data/spec/unit/indirector/certificate/ca_spec.rb +28 -0
  673. data/spec/unit/indirector/certificate/file_spec.rb +28 -0
  674. data/spec/unit/indirector/certificate/rest_spec.rb +58 -0
  675. data/spec/unit/indirector/certificate_request/ca_spec.rb +19 -0
  676. data/spec/unit/indirector/certificate_request/file_spec.rb +19 -0
  677. data/spec/unit/indirector/certificate_request/rest_spec.rb +23 -0
  678. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +21 -0
  679. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +20 -0
  680. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +23 -0
  681. data/spec/unit/indirector/code_spec.rb +33 -0
  682. data/spec/unit/indirector/direct_file_server_spec.rb +84 -0
  683. data/spec/unit/indirector/envelope_spec.rb +47 -0
  684. data/spec/unit/indirector/exec_spec.rb +56 -0
  685. data/spec/unit/indirector/facts/active_record_spec.rb +104 -0
  686. data/spec/unit/indirector/facts/couch_spec.rb +98 -0
  687. data/spec/unit/indirector/facts/facter_spec.rb +143 -0
  688. data/spec/unit/indirector/facts/rest_spec.rb +11 -0
  689. data/spec/unit/indirector/facts/yaml_spec.rb +26 -0
  690. data/spec/unit/indirector/file_bucket_file/file_spec.rb +290 -0
  691. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +11 -0
  692. data/spec/unit/indirector/file_content/file_server_spec.rb +18 -0
  693. data/spec/unit/indirector/file_content/file_spec.rb +18 -0
  694. data/spec/unit/indirector/file_content/rest_spec.rb +11 -0
  695. data/spec/unit/indirector/file_metadata/file_server_spec.rb +18 -0
  696. data/spec/unit/indirector/file_metadata/file_spec.rb +52 -0
  697. data/spec/unit/indirector/file_metadata/rest_spec.rb +9 -0
  698. data/spec/unit/indirector/file_server_spec.rb +267 -0
  699. data/spec/unit/indirector/file_spec.rb +181 -0
  700. data/spec/unit/indirector/indirection_spec.rb +795 -0
  701. data/spec/unit/indirector/key/ca_spec.rb +28 -0
  702. data/spec/unit/indirector/key/file_spec.rb +104 -0
  703. data/spec/unit/indirector/ldap_spec.rb +143 -0
  704. data/spec/unit/indirector/memory_spec.rb +29 -0
  705. data/spec/unit/indirector/node/active_record_spec.rb +41 -0
  706. data/spec/unit/indirector/node/exec_spec.rb +70 -0
  707. data/spec/unit/indirector/node/ldap_spec.rb +456 -0
  708. data/spec/unit/indirector/node/memory_spec.rb +19 -0
  709. data/spec/unit/indirector/node/plain_spec.rb +19 -0
  710. data/spec/unit/indirector/node/rest_spec.rb +13 -0
  711. data/spec/unit/indirector/node/yaml_spec.rb +25 -0
  712. data/spec/unit/indirector/plain_spec.rb +29 -0
  713. data/spec/unit/indirector/queue_spec.rb +123 -0
  714. data/spec/unit/indirector/report/processor_spec.rb +81 -0
  715. data/spec/unit/indirector/report/rest_spec.rb +28 -0
  716. data/spec/unit/indirector/request_spec.rb +304 -0
  717. data/spec/unit/indirector/resource/ral_spec.rb +129 -0
  718. data/spec/unit/indirector/resource/rest_spec.rb +11 -0
  719. data/spec/unit/indirector/resource_type/parser_spec.rb +75 -0
  720. data/spec/unit/indirector/resource_type/rest_spec.rb +15 -0
  721. data/spec/unit/indirector/rest_spec.rb +455 -0
  722. data/spec/unit/indirector/run/local_spec.rb +20 -0
  723. data/spec/unit/indirector/run/rest_spec.rb +11 -0
  724. data/spec/unit/indirector/ssl_file_spec.rb +281 -0
  725. data/spec/unit/indirector/status/rest_spec.rb +11 -0
  726. data/spec/unit/indirector/terminus_spec.rb +245 -0
  727. data/spec/unit/indirector/yaml_spec.rb +146 -0
  728. data/spec/unit/indirector_spec.rb +157 -0
  729. data/spec/unit/module_spec.rb +547 -0
  730. data/spec/unit/network/authconfig_spec.rb +292 -0
  731. data/spec/unit/network/authstore_spec.rb +370 -0
  732. data/spec/unit/network/client_spec.rb +45 -0
  733. data/spec/unit/network/format_handler_spec.rb +336 -0
  734. data/spec/unit/network/format_spec.rb +198 -0
  735. data/spec/unit/network/formats_spec.rb +337 -0
  736. data/spec/unit/network/handler/fileserver_spec.rb +172 -0
  737. data/spec/unit/network/http/api/v1_spec.rb +122 -0
  738. data/spec/unit/network/http/compression_spec.rb +199 -0
  739. data/spec/unit/network/http/handler_spec.rb +455 -0
  740. data/spec/unit/network/http/mongrel/rest_spec.rb +249 -0
  741. data/spec/unit/network/http/mongrel/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  742. data/spec/unit/network/http/mongrel_spec.rb +131 -0
  743. data/spec/unit/network/http/rack/rest_spec.rb +249 -0
  744. data/spec/unit/network/http/rack/xmlrpc_spec.rb +157 -0
  745. data/spec/unit/network/http/rack_spec.rb +102 -0
  746. data/spec/unit/network/http/webrick/rest_spec.rb +180 -0
  747. data/spec/unit/network/http/webrick/{xmlrpc.rb → xmlrpc_spec.rb} +0 -0
  748. data/spec/unit/network/http/webrick_spec.rb +339 -0
  749. data/spec/unit/network/http_pool_spec.rb +206 -0
  750. data/spec/unit/network/http_spec.rb +35 -0
  751. data/spec/unit/network/rest_authconfig_spec.rb +148 -0
  752. data/spec/unit/network/rest_authorization_spec.rb +43 -0
  753. data/spec/unit/network/rights_spec.rb +519 -0
  754. data/spec/unit/network/server_spec.rb +534 -0
  755. data/spec/unit/network/xmlrpc/client_spec.rb +171 -0
  756. data/spec/unit/node/environment_spec.rb +248 -0
  757. data/spec/unit/node/facts_spec.rb +102 -0
  758. data/spec/unit/node_spec.rb +210 -0
  759. data/spec/unit/other/selinux_spec.rb +94 -0
  760. data/spec/unit/other/transbucket_spec.rb +188 -0
  761. data/spec/unit/other/transobject_spec.rb +112 -0
  762. data/spec/unit/parameter/value_collection_spec.rb +167 -0
  763. data/spec/unit/parameter/value_spec.rb +88 -0
  764. data/spec/unit/parameter_spec.rb +172 -0
  765. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +73 -0
  766. data/spec/unit/parser/ast/astarray_spec.rb +72 -0
  767. data/spec/unit/parser/ast/asthash_spec.rb +98 -0
  768. data/spec/unit/parser/ast/boolean_operator_spec.rb +53 -0
  769. data/spec/unit/parser/ast/casestatement_spec.rb +161 -0
  770. data/spec/unit/parser/ast/collection_spec.rb +63 -0
  771. data/spec/unit/parser/ast/collexpr_spec.rb +115 -0
  772. data/spec/unit/parser/ast/comparison_operator_spec.rb +116 -0
  773. data/spec/unit/parser/ast/function_spec.rb +83 -0
  774. data/spec/unit/parser/ast/ifstatement_spec.rb +76 -0
  775. data/spec/unit/parser/ast/in_operator_spec.rb +60 -0
  776. data/spec/unit/parser/ast/leaf_spec.rb +362 -0
  777. data/spec/unit/parser/ast/match_operator_spec.rb +50 -0
  778. data/spec/unit/parser/ast/minus_spec.rb +36 -0
  779. data/spec/unit/parser/ast/nop_spec.rb +20 -0
  780. data/spec/unit/parser/ast/not_spec.rb +30 -0
  781. data/spec/unit/parser/ast/relationship_spec.rb +88 -0
  782. data/spec/unit/parser/ast/resource_defaults_spec.rb +22 -0
  783. data/spec/unit/parser/ast/resource_override_spec.rb +51 -0
  784. data/spec/unit/parser/ast/resource_reference_spec.rb +46 -0
  785. data/spec/unit/parser/ast/resource_spec.rb +120 -0
  786. data/spec/unit/parser/ast/selector_spec.rb +139 -0
  787. data/spec/unit/parser/ast/vardef_spec.rb +60 -0
  788. data/spec/unit/parser/ast_spec.rb +111 -0
  789. data/spec/unit/parser/collector_spec.rb +559 -0
  790. data/spec/unit/parser/compiler_spec.rb +754 -0
  791. data/spec/unit/parser/files_spec.rb +201 -0
  792. data/spec/unit/parser/functions/defined_spec.rb +50 -0
  793. data/spec/unit/parser/functions/fqdn_rand_spec.rb +62 -0
  794. data/spec/unit/parser/functions/generate_spec.rb +41 -0
  795. data/spec/unit/parser/functions/inline_template_spec.rb +59 -0
  796. data/spec/unit/parser/functions/realize_spec.rb +51 -0
  797. data/spec/unit/parser/functions/regsubst_spec.rb +192 -0
  798. data/spec/unit/parser/functions/require_spec.rb +74 -0
  799. data/spec/unit/parser/functions/shellquote_spec.rb +81 -0
  800. data/spec/unit/parser/functions/split_spec.rb +49 -0
  801. data/spec/unit/parser/functions/sprintf_spec.rb +41 -0
  802. data/spec/unit/parser/functions/tag_spec.rb +24 -0
  803. data/spec/unit/parser/functions/template_spec.rb +62 -0
  804. data/spec/unit/parser/functions/versioncmp_spec.rb +29 -0
  805. data/spec/unit/parser/functions_spec.rb +102 -0
  806. data/spec/unit/parser/lexer_spec.rb +646 -0
  807. data/spec/unit/parser/parser_spec.rb +412 -0
  808. data/spec/unit/parser/relationship_spec.rb +70 -0
  809. data/spec/unit/parser/resource_spec.rb +564 -0
  810. data/spec/unit/parser/scope_spec.rb +629 -0
  811. data/spec/unit/parser/templatewrapper_spec.rb +144 -0
  812. data/spec/unit/parser/type_loader_spec.rb +201 -0
  813. data/spec/unit/property/ensure_spec.rb +13 -0
  814. data/spec/unit/property/keyvalue_spec.rb +168 -0
  815. data/spec/unit/property/list_spec.rb +166 -0
  816. data/spec/unit/property/ordered_list_spec.rb +64 -0
  817. data/spec/unit/property_spec.rb +410 -0
  818. data/spec/unit/provider/augeas/augeas_spec.rb +413 -0
  819. data/spec/unit/provider/confine/exists_spec.rb +81 -0
  820. data/spec/unit/provider/confine/false_spec.rb +53 -0
  821. data/spec/unit/provider/confine/feature_spec.rb +60 -0
  822. data/spec/unit/provider/confine/true_spec.rb +53 -0
  823. data/spec/unit/provider/confine/variable_spec.rb +107 -0
  824. data/spec/unit/provider/confine_collection_spec.rb +134 -0
  825. data/spec/unit/provider/confine_spec.rb +78 -0
  826. data/spec/unit/provider/confiner_spec.rb +63 -0
  827. data/spec/unit/provider/group/groupadd_spec.rb +31 -0
  828. data/spec/unit/provider/group/ldap_spec.rb +105 -0
  829. data/spec/unit/provider/ldap_spec.rb +248 -0
  830. data/spec/unit/provider/macauthorization_spec.rb +147 -0
  831. data/spec/unit/provider/mcx/mcxcontent_spec.rb +175 -0
  832. data/spec/unit/provider/mount/parsed_spec.rb +193 -0
  833. data/spec/unit/provider/mount_spec.rb +130 -0
  834. data/spec/unit/provider/naginator_spec.rb +58 -0
  835. data/spec/unit/provider/package/aix_spec.rb +66 -0
  836. data/spec/unit/provider/package/apt_spec.rb +145 -0
  837. data/spec/unit/provider/package/dpkg_spec.rb +225 -0
  838. data/spec/unit/provider/package/gem_spec.rb +87 -0
  839. data/spec/unit/provider/package/hpux_spec.rb +52 -0
  840. data/spec/unit/provider/package/nim_spec.rb +42 -0
  841. data/spec/unit/provider/package/pkg_spec.rb +63 -0
  842. data/spec/unit/provider/package/pkgdmg_spec.rb +84 -0
  843. data/spec/unit/provider/package/zypper_spec.rb +81 -0
  844. data/spec/unit/provider/parsedfile_spec.rb +95 -0
  845. data/spec/unit/provider/selboolean_spec.rb +37 -0
  846. data/spec/unit/provider/selmodule_spec.rb +66 -0
  847. data/spec/unit/provider/service/daemontools_spec.rb +166 -0
  848. data/spec/unit/provider/service/debian_spec.rb +89 -0
  849. data/spec/unit/provider/service/init_spec.rb +168 -0
  850. data/spec/unit/provider/service/launchd_spec.rb +200 -0
  851. data/spec/unit/provider/service/redhat_spec.rb +121 -0
  852. data/spec/unit/provider/service/runit_spec.rb +140 -0
  853. data/spec/unit/provider/service/src_spec.rb +97 -0
  854. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +228 -0
  855. data/spec/unit/provider/sshkey/parsed_spec.rb +38 -0
  856. data/spec/unit/provider/user/hpux_spec.rb +25 -0
  857. data/spec/unit/provider/user/ldap_spec.rb +279 -0
  858. data/spec/unit/provider/user/user_role_add_spec.rb +249 -0
  859. data/spec/unit/provider/user/useradd_spec.rb +115 -0
  860. data/spec/unit/provider/zfs/solaris_spec.rb +99 -0
  861. data/spec/unit/provider/zone/solaris_spec.rb +55 -0
  862. data/spec/unit/provider/zpool/solaris_spec.rb +179 -0
  863. data/spec/unit/provider_spec.rb +31 -0
  864. data/spec/unit/puppet_spec.rb +12 -0
  865. data/spec/unit/rails/host_spec.rb +163 -0
  866. data/spec/unit/rails/param_value_spec.rb +49 -0
  867. data/spec/unit/rails/resource_spec.rb +123 -0
  868. data/spec/unit/rails_spec.rb +258 -0
  869. data/spec/unit/relationship_spec.rb +236 -0
  870. data/spec/unit/reports/http_spec.rb +56 -0
  871. data/spec/unit/reports/tagmail_spec.rb +94 -0
  872. data/spec/unit/reports_spec.rb +61 -0
  873. data/spec/unit/resource/catalog_spec.rb +1078 -0
  874. data/spec/unit/resource/status_spec.rb +103 -0
  875. data/spec/unit/resource/type_collection_helper_spec.rb +25 -0
  876. data/spec/unit/resource/type_collection_spec.rb +432 -0
  877. data/spec/unit/resource/type_spec.rb +722 -0
  878. data/spec/unit/resource_spec.rb +818 -0
  879. data/spec/unit/run_spec.rb +137 -0
  880. data/spec/unit/simple_graph_spec.rb +544 -0
  881. data/spec/unit/ssl/base_spec.rb +43 -0
  882. data/spec/unit/ssl/certificate_authority/interface_spec.rb +333 -0
  883. data/spec/unit/ssl/certificate_authority_spec.rb +772 -0
  884. data/spec/unit/ssl/certificate_factory_spec.rb +107 -0
  885. data/spec/unit/ssl/certificate_request_spec.rb +220 -0
  886. data/spec/unit/ssl/certificate_revocation_list_spec.rb +168 -0
  887. data/spec/unit/ssl/certificate_spec.rb +124 -0
  888. data/spec/unit/ssl/host_spec.rb +707 -0
  889. data/spec/unit/ssl/inventory_spec.rb +180 -0
  890. data/spec/unit/ssl/key_spec.rb +198 -0
  891. data/spec/unit/status_spec.rb +31 -0
  892. data/spec/unit/transaction/change_spec.rb +193 -0
  893. data/spec/unit/transaction/event_manager_spec.rb +260 -0
  894. data/spec/unit/transaction/event_spec.rb +108 -0
  895. data/spec/unit/transaction/report_spec.rb +234 -0
  896. data/spec/unit/transaction/resource_harness_spec.rb +401 -0
  897. data/spec/unit/transaction_spec.rb +452 -0
  898. data/spec/unit/transportable_spec.rb +0 -0
  899. data/spec/unit/type/augeas_spec.rb +122 -0
  900. data/spec/unit/type/component_spec.rb +63 -0
  901. data/spec/unit/type/computer_spec.rb +81 -0
  902. data/spec/unit/type/cron_spec.rb +33 -0
  903. data/spec/unit/type/exec_spec.rb +162 -0
  904. data/spec/unit/type/file/checksum_spec.rb +73 -0
  905. data/spec/unit/type/file/content_spec.rb +460 -0
  906. data/spec/unit/type/file/ensure_spec.rb +84 -0
  907. data/spec/unit/type/file/group_spec.rb +123 -0
  908. data/spec/unit/type/file/owner_spec.rb +150 -0
  909. data/spec/unit/type/file/selinux_spec.rb +83 -0
  910. data/spec/unit/type/file/source_spec.rb +272 -0
  911. data/spec/unit/type/file_spec.rb +1070 -0
  912. data/spec/unit/type/filebucket_spec.rb +74 -0
  913. data/spec/unit/type/group_spec.rb +57 -0
  914. data/spec/unit/type/macauthorization_spec.rb +111 -0
  915. data/spec/unit/type/maillist_spec.rb +42 -0
  916. data/spec/unit/type/mcx_spec.rb +100 -0
  917. data/spec/unit/type/mount_spec.rb +261 -0
  918. data/spec/unit/type/nagios_spec.rb +63 -0
  919. data/spec/unit/type/noop_metaparam_spec.rb +37 -0
  920. data/spec/unit/type/package_spec.rb +240 -0
  921. data/spec/unit/type/resources_spec.rb +102 -0
  922. data/spec/unit/type/schedule_spec.rb +333 -0
  923. data/spec/unit/type/selboolean_spec.rb +45 -0
  924. data/spec/unit/type/selmodule_spec.rb +18 -0
  925. data/spec/unit/type/service_spec.rb +222 -0
  926. data/spec/unit/type/ssh_authorized_key_spec.rb +152 -0
  927. data/spec/unit/type/stage_spec.rb +9 -0
  928. data/spec/unit/type/tidy_spec.rb +424 -0
  929. data/spec/unit/type/user_spec.rb +281 -0
  930. data/spec/unit/type/zfs_spec.rb +45 -0
  931. data/spec/unit/type/zone_spec.rb +60 -0
  932. data/spec/unit/type/zpool_spec.rb +110 -0
  933. data/spec/unit/type_spec.rb +566 -0
  934. data/spec/unit/util/autoload/file_cache_spec.rb +159 -0
  935. data/spec/unit/util/autoload_spec.rb +120 -0
  936. data/spec/unit/util/backups_spec.rb +159 -0
  937. data/spec/unit/util/cache_accumulator_spec.rb +75 -0
  938. data/spec/unit/util/cacher_spec.rb +185 -0
  939. data/spec/unit/util/checksums_spec.rb +153 -0
  940. data/spec/unit/util/command_line_spec.rb +108 -0
  941. data/spec/unit/util/constant_inflector_spec.rb +70 -0
  942. data/spec/unit/util/errors_spec.rb +38 -0
  943. data/spec/unit/util/feature_spec.rb +72 -0
  944. data/spec/unit/util/file_locking_spec.rb +156 -0
  945. data/spec/unit/util/filetype_spec.rb +100 -0
  946. data/spec/unit/util/inline_docs_spec.rb +32 -0
  947. data/spec/unit/util/json_spec.rb +21 -0
  948. data/spec/unit/util/ldap/connection_spec.rb +169 -0
  949. data/spec/unit/util/ldap/generator_spec.rb +54 -0
  950. data/spec/unit/util/ldap/manager_spec.rb +654 -0
  951. data/spec/unit/util/loadedfile_spec.rb +65 -0
  952. data/spec/unit/util/log/destinations_spec.rb +24 -0
  953. data/spec/unit/util/log_spec.rb +215 -0
  954. data/spec/unit/util/logging_spec.rb +95 -0
  955. data/spec/unit/util/metric_spec.rb +95 -0
  956. data/spec/unit/util/monkey_patches_spec.rb +7 -0
  957. data/spec/unit/util/nagios_maker_spec.rb +126 -0
  958. data/spec/unit/util/package_spec.rb +21 -0
  959. data/spec/unit/util/posix_spec.rb +256 -0
  960. data/spec/unit/util/queue/stomp_spec.rb +140 -0
  961. data/spec/unit/util/queue_spec.rb +96 -0
  962. data/spec/unit/util/rdoc/parser_spec.rb +540 -0
  963. data/spec/unit/util/rdoc_spec.rb +165 -0
  964. data/spec/unit/util/reference_serializer_spec.rb +52 -0
  965. data/spec/unit/util/resource_template_spec.rb +58 -0
  966. data/spec/unit/util/run_mode_spec.rb +51 -0
  967. data/spec/unit/util/selinux_spec.rb +278 -0
  968. data/spec/unit/util/settings/file_setting_spec.rb +256 -0
  969. data/spec/unit/util/settings_spec.rb +1099 -0
  970. data/spec/unit/util/storage_spec.rb +235 -0
  971. data/spec/unit/util/tagging_spec.rb +102 -0
  972. data/spec/unit/util/user_attr_spec.rb +47 -0
  973. data/spec/unit/util/warnings_spec.rb +39 -0
  974. data/spec/unit/util/zaml_spec.rb +38 -0
  975. data/tasks/rake/git_workflow.rake +1 -1
  976. data/tasks/rake/sign.rake +2 -2
  977. data/test/certmgr/ca.rb +61 -61
  978. data/test/certmgr/certmgr.rb +292 -283
  979. data/test/certmgr/inventory.rb +44 -42
  980. data/test/certmgr/support.rb +78 -77
  981. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -1
  982. data/test/data/snippets/hash.pp +33 -0
  983. data/test/language/ast.rb +68 -117
  984. data/test/language/ast/variable.rb +14 -15
  985. data/test/language/functions.rb +404 -463
  986. data/test/language/parser.rb +670 -1135
  987. data/test/language/scope.rb +198 -402
  988. data/test/language/snippets.rb +439 -447
  989. data/test/language/transportable.rb +67 -66
  990. data/test/lib/puppettest.rb +260 -268
  991. data/test/lib/puppettest/certificates.rb +51 -53
  992. data/test/lib/puppettest/exetest.rb +107 -111
  993. data/test/lib/puppettest/fakes.rb +153 -158
  994. data/test/lib/puppettest/fileparsing.rb +17 -17
  995. data/test/lib/puppettest/filetesting.rb +204 -213
  996. data/test/lib/puppettest/parsertesting.rb +382 -365
  997. data/test/lib/puppettest/railstesting.rb +49 -50
  998. data/test/lib/puppettest/reporttesting.rb +10 -10
  999. data/test/lib/puppettest/resourcetesting.rb +45 -36
  1000. data/test/lib/puppettest/runnable_test.rb +36 -28
  1001. data/test/lib/puppettest/servertest.rb +54 -51
  1002. data/test/lib/puppettest/support/assertions.rb +48 -55
  1003. data/test/lib/puppettest/support/helpers.rb +12 -16
  1004. data/test/lib/puppettest/support/resources.rb +23 -25
  1005. data/test/lib/puppettest/support/utils.rb +138 -148
  1006. data/test/lib/puppettest/testcase.rb +15 -17
  1007. data/test/lib/rake/puppet_test_loader.rb +1 -3
  1008. data/test/lib/rake/puppet_testtask.rb +10 -10
  1009. data/test/network/authconfig.rb +48 -50
  1010. data/test/network/authorization.rb +114 -113
  1011. data/test/network/authstore.rb +454 -406
  1012. data/test/network/client/ca.rb +46 -48
  1013. data/test/network/client/dipper.rb +22 -22
  1014. data/test/network/client_request.rb +20 -20
  1015. data/test/network/handler/ca.rb +251 -252
  1016. data/test/network/handler/fileserver.rb +1071 -1001
  1017. data/test/network/handler/master.rb +58 -58
  1018. data/test/network/handler/report.rb +64 -64
  1019. data/test/network/handler/runner.rb +8 -8
  1020. data/test/network/rights.rb +22 -19
  1021. data/test/network/server/mongrel_test.rb +87 -87
  1022. data/test/network/server/webrick.rb +99 -87
  1023. data/test/network/xmlrpc/client.rb +30 -30
  1024. data/test/network/xmlrpc/processor.rb +52 -53
  1025. data/test/network/xmlrpc/server.rb +10 -11
  1026. data/test/network/xmlrpc/webrick_servlet.rb +21 -18
  1027. data/test/other/provider.rb +69 -84
  1028. data/test/other/puppet.rb +61 -76
  1029. data/test/other/relationships.rb +73 -65
  1030. data/test/other/report.rb +88 -187
  1031. data/test/other/transactions.rb +363 -885
  1032. data/test/puppet/defaults.rb +51 -54
  1033. data/test/puppet/errortest.rb +8 -8
  1034. data/test/puppet/tc_suidmanager.rb +106 -103
  1035. data/test/rails/rails.rb +8 -9
  1036. data/test/rails/railsparameter.rb +60 -54
  1037. data/test/ral/manager/attributes.rb +262 -260
  1038. data/test/ral/manager/instances.rb +77 -78
  1039. data/test/ral/manager/manager.rb +36 -36
  1040. data/test/ral/manager/provider.rb +56 -79
  1041. data/test/ral/manager/type.rb +308 -449
  1042. data/test/ral/providers/cron/crontab.rb +561 -545
  1043. data/test/ral/providers/group.rb +203 -212
  1044. data/test/ral/providers/host/parsed.rb +189 -180
  1045. data/test/ral/providers/mailalias/aliases.rb +40 -40
  1046. data/test/ral/providers/nameservice.rb +21 -21
  1047. data/test/ral/providers/package.rb +207 -214
  1048. data/test/ral/providers/package/aptitude.rb +75 -63
  1049. data/test/ral/providers/package/aptrpm.rb +84 -72
  1050. data/test/ral/providers/parsedfile.rb +510 -509
  1051. data/test/ral/providers/port/parsed.rb +5 -5
  1052. data/test/ral/providers/provider.rb +421 -421
  1053. data/test/ral/providers/service/base.rb +59 -53
  1054. data/test/ral/providers/sshkey/parsed.rb +86 -83
  1055. data/test/ral/providers/user.rb +471 -451
  1056. data/test/ral/providers/user/useradd.rb +168 -177
  1057. data/test/ral/type/cron.rb +406 -393
  1058. data/test/ral/type/exec.rb +721 -641
  1059. data/test/ral/type/file.rb +827 -896
  1060. data/test/ral/type/file/target.rb +295 -251
  1061. data/test/ral/type/fileignoresource.rb +232 -205
  1062. data/test/ral/type/filesources.rb +446 -485
  1063. data/test/ral/type/host.rb +124 -153
  1064. data/test/ral/type/mailalias.rb +28 -31
  1065. data/test/ral/type/port.rb +7 -7
  1066. data/test/ral/type/resources.rb +88 -93
  1067. data/test/ral/type/service.rb +19 -19
  1068. data/test/ral/type/sshkey.rb +120 -160
  1069. data/test/ral/type/user.rb +132 -414
  1070. data/test/ral/type/yumrepo.rb +95 -92
  1071. data/test/ral/type/zone.rb +316 -287
  1072. data/test/test +1 -1
  1073. data/test/util/classgen.rb +182 -167
  1074. data/test/util/execution.rb +18 -18
  1075. data/test/util/fileparsing.rb +580 -540
  1076. data/test/util/inifile.rb +117 -106
  1077. data/test/util/instance_loader.rb +29 -29
  1078. data/test/util/log.rb +202 -198
  1079. data/test/util/metrics.rb +51 -51
  1080. data/test/util/package.rb +11 -12
  1081. data/test/util/pidlock.rb +115 -115
  1082. data/test/util/settings.rb +613 -557
  1083. data/test/util/storage.rb +71 -88
  1084. data/test/util/subclass_loader.rb +69 -72
  1085. data/test/util/utiltest.rb +204 -203
  1086. metadata +493 -395
  1087. data/lib/puppet/agent/runner.rb +0 -65
  1088. data/lib/puppet/application/pi.rb +0 -214
  1089. data/lib/puppet/application/puppet.rb +0 -181
  1090. data/lib/puppet/application/puppetca.rb +0 -71
  1091. data/lib/puppet/application/puppetd.rb +0 -250
  1092. data/lib/puppet/application/puppetdoc.rb +0 -224
  1093. data/lib/puppet/application/puppetmasterd.rb +0 -168
  1094. data/lib/puppet/application/puppetqd.rb +0 -96
  1095. data/lib/puppet/application/puppetrun.rb +0 -210
  1096. data/lib/puppet/application/ralsh.rb +0 -152
  1097. data/lib/puppet/checksum.rb +0 -57
  1098. data/lib/puppet/indirector/checksum/file.rb +0 -33
  1099. data/lib/puppet/indirector/runner/rest.rb +0 -7
  1100. data/lib/puppet/network/client/dipper.rb +0 -85
  1101. data/lib/puppet/network/client/resource.rb +0 -38
  1102. data/lib/puppet/network/handler/resource.rb +0 -190
  1103. data/lib/puppet/parser/ast/definition.rb +0 -207
  1104. data/lib/puppet/parser/ast/hostclass.rb +0 -95
  1105. data/lib/puppet/parser/ast/node.rb +0 -42
  1106. data/lib/puppet/parser/interpreter.rb +0 -84
  1107. data/lib/puppet/parser/loaded_code.rb +0 -119
  1108. data/lib/puppet/parser/resource/reference.rb +0 -99
  1109. data/lib/puppet/resource/reference.rb +0 -90
  1110. data/lib/puppet/util/config_store.rb +0 -61
  1111. data/spec/integration/application/puppet.rb +0 -33
  1112. data/spec/integration/bin/puppetmasterd.rb +0 -122
  1113. data/spec/integration/checksum.rb +0 -48
  1114. data/spec/integration/configurer.rb +0 -18
  1115. data/spec/integration/defaults.rb +0 -230
  1116. data/spec/integration/file_serving/content.rb +0 -20
  1117. data/spec/integration/file_serving/fileset.rb +0 -14
  1118. data/spec/integration/file_serving/metadata.rb +0 -21
  1119. data/spec/integration/file_serving/terminus_helper.rb +0 -22
  1120. data/spec/integration/indirector/catalog/compiler.rb +0 -67
  1121. data/spec/integration/indirector/catalog/queue.rb +0 -61
  1122. data/spec/integration/indirector/certificate/rest.rb +0 -70
  1123. data/spec/integration/indirector/certificate_request/rest.rb +0 -88
  1124. data/spec/integration/indirector/certificate_revocation_list/rest.rb +0 -76
  1125. data/spec/integration/indirector/direct_file_server.rb +0 -73
  1126. data/spec/integration/indirector/file_content/file_server.rb +0 -94
  1127. data/spec/integration/indirector/file_metadata/file_server.rb +0 -18
  1128. data/spec/integration/indirector/node/ldap.rb +0 -15
  1129. data/spec/integration/indirector/report/rest.rb +0 -94
  1130. data/spec/integration/indirector/rest.rb +0 -523
  1131. data/spec/integration/network/client.rb +0 -19
  1132. data/spec/integration/network/formats.rb +0 -110
  1133. data/spec/integration/network/handler.rb +0 -25
  1134. data/spec/integration/network/server/mongrel.rb +0 -66
  1135. data/spec/integration/network/server/webrick.rb +0 -86
  1136. data/spec/integration/node.rb +0 -93
  1137. data/spec/integration/node/environment.rb +0 -58
  1138. data/spec/integration/node/facts.rb +0 -47
  1139. data/spec/integration/parser/compiler.rb +0 -29
  1140. data/spec/integration/parser/functions/require.rb +0 -86
  1141. data/spec/integration/provider/mailalias/aliases.rb +0 -25
  1142. data/spec/integration/provider/package.rb +0 -26
  1143. data/spec/integration/provider/service/init.rb +0 -32
  1144. data/spec/integration/reference/providers.rb +0 -17
  1145. data/spec/integration/reports.rb +0 -18
  1146. data/spec/integration/resource/catalog.rb +0 -61
  1147. data/spec/integration/ssl/certificate_authority.rb +0 -135
  1148. data/spec/integration/ssl/certificate_request.rb +0 -61
  1149. data/spec/integration/ssl/certificate_revocation_list.rb +0 -42
  1150. data/spec/integration/ssl/host.rb +0 -90
  1151. data/spec/integration/transaction.rb +0 -66
  1152. data/spec/integration/transaction/report.rb +0 -29
  1153. data/spec/integration/type.rb +0 -22
  1154. data/spec/integration/type/file.rb +0 -477
  1155. data/spec/integration/type/package.rb +0 -25
  1156. data/spec/integration/type/tidy.rb +0 -27
  1157. data/spec/integration/util/autoload.rb +0 -114
  1158. data/spec/integration/util/feature.rb +0 -54
  1159. data/spec/integration/util/file_locking.rb +0 -37
  1160. data/spec/integration/util/settings.rb +0 -27
  1161. data/spec/unit/agent.rb +0 -259
  1162. data/spec/unit/agent/locker.rb +0 -100
  1163. data/spec/unit/agent/runner.rb +0 -118
  1164. data/spec/unit/application.rb +0 -420
  1165. data/spec/unit/application/filebucket.rb +0 -220
  1166. data/spec/unit/application/pi.rb +0 -84
  1167. data/spec/unit/application/puppet.rb +0 -399
  1168. data/spec/unit/application/puppetca.rb +0 -142
  1169. data/spec/unit/application/puppetd.rb +0 -502
  1170. data/spec/unit/application/puppetdoc.rb +0 -360
  1171. data/spec/unit/application/puppetmasterd.rb +0 -457
  1172. data/spec/unit/application/puppetqd.rb +0 -186
  1173. data/spec/unit/application/puppetrun.rb +0 -289
  1174. data/spec/unit/application/ralsh.rb +0 -254
  1175. data/spec/unit/configurer.rb +0 -339
  1176. data/spec/unit/configurer/downloader.rb +0 -188
  1177. data/spec/unit/configurer/fact_handler.rb +0 -164
  1178. data/spec/unit/configurer/plugin_handler.rb +0 -112
  1179. data/spec/unit/daemon.rb +0 -287
  1180. data/spec/unit/file_collection.rb +0 -53
  1181. data/spec/unit/file_collection/lookup.rb +0 -46
  1182. data/spec/unit/file_serving/base.rb +0 -132
  1183. data/spec/unit/file_serving/configuration.rb +0 -249
  1184. data/spec/unit/file_serving/configuration/parser.rb +0 -181
  1185. data/spec/unit/file_serving/content.rb +0 -110
  1186. data/spec/unit/file_serving/fileset.rb +0 -347
  1187. data/spec/unit/file_serving/indirection_hooks.rb +0 -63
  1188. data/spec/unit/file_serving/metadata.rb +0 -286
  1189. data/spec/unit/file_serving/mount.rb +0 -32
  1190. data/spec/unit/file_serving/mount/file.rb +0 -196
  1191. data/spec/unit/file_serving/mount/modules.rb +0 -63
  1192. data/spec/unit/file_serving/mount/plugins.rb +0 -61
  1193. data/spec/unit/file_serving/terminus_helper.rb +0 -98
  1194. data/spec/unit/indirector.rb +0 -157
  1195. data/spec/unit/indirector/active_record.rb +0 -76
  1196. data/spec/unit/indirector/catalog/active_record.rb +0 -141
  1197. data/spec/unit/indirector/catalog/compiler.rb +0 -261
  1198. data/spec/unit/indirector/catalog/queue.rb +0 -20
  1199. data/spec/unit/indirector/catalog/rest.rb +0 -11
  1200. data/spec/unit/indirector/catalog/yaml.rb +0 -25
  1201. data/spec/unit/indirector/certificate/ca.rb +0 -28
  1202. data/spec/unit/indirector/certificate/file.rb +0 -28
  1203. data/spec/unit/indirector/certificate/rest.rb +0 -57
  1204. data/spec/unit/indirector/certificate_request/ca.rb +0 -19
  1205. data/spec/unit/indirector/certificate_request/file.rb +0 -19
  1206. data/spec/unit/indirector/certificate_request/rest.rb +0 -23
  1207. data/spec/unit/indirector/certificate_revocation_list/ca.rb +0 -21
  1208. data/spec/unit/indirector/certificate_revocation_list/file.rb +0 -20
  1209. data/spec/unit/indirector/certificate_revocation_list/rest.rb +0 -23
  1210. data/spec/unit/indirector/checksum/file.rb +0 -139
  1211. data/spec/unit/indirector/code.rb +0 -33
  1212. data/spec/unit/indirector/direct_file_server.rb +0 -84
  1213. data/spec/unit/indirector/envelope.rb +0 -47
  1214. data/spec/unit/indirector/exec.rb +0 -56
  1215. data/spec/unit/indirector/facts/active_record.rb +0 -104
  1216. data/spec/unit/indirector/facts/facter.rb +0 -142
  1217. data/spec/unit/indirector/facts/rest.rb +0 -11
  1218. data/spec/unit/indirector/facts/yaml.rb +0 -26
  1219. data/spec/unit/indirector/file.rb +0 -161
  1220. data/spec/unit/indirector/file_content/file.rb +0 -18
  1221. data/spec/unit/indirector/file_content/file_server.rb +0 -18
  1222. data/spec/unit/indirector/file_content/rest.rb +0 -11
  1223. data/spec/unit/indirector/file_metadata/file.rb +0 -52
  1224. data/spec/unit/indirector/file_metadata/file_server.rb +0 -18
  1225. data/spec/unit/indirector/file_metadata/rest.rb +0 -9
  1226. data/spec/unit/indirector/file_server.rb +0 -267
  1227. data/spec/unit/indirector/indirection.rb +0 -795
  1228. data/spec/unit/indirector/key/ca.rb +0 -28
  1229. data/spec/unit/indirector/key/file.rb +0 -104
  1230. data/spec/unit/indirector/ldap.rb +0 -143
  1231. data/spec/unit/indirector/memory.rb +0 -29
  1232. data/spec/unit/indirector/node/active_record.rb +0 -34
  1233. data/spec/unit/indirector/node/exec.rb +0 -69
  1234. data/spec/unit/indirector/node/ldap.rb +0 -458
  1235. data/spec/unit/indirector/node/memory.rb +0 -19
  1236. data/spec/unit/indirector/node/plain.rb +0 -19
  1237. data/spec/unit/indirector/node/rest.rb +0 -13
  1238. data/spec/unit/indirector/node/yaml.rb +0 -25
  1239. data/spec/unit/indirector/plain.rb +0 -29
  1240. data/spec/unit/indirector/queue.rb +0 -123
  1241. data/spec/unit/indirector/report/processor.rb +0 -81
  1242. data/spec/unit/indirector/report/rest.rb +0 -28
  1243. data/spec/unit/indirector/request.rb +0 -308
  1244. data/spec/unit/indirector/rest.rb +0 -403
  1245. data/spec/unit/indirector/runner/rest.rb +0 -11
  1246. data/spec/unit/indirector/ssl_file.rb +0 -280
  1247. data/spec/unit/indirector/terminus.rb +0 -245
  1248. data/spec/unit/indirector/yaml.rb +0 -145
  1249. data/spec/unit/module.rb +0 -247
  1250. data/spec/unit/network/authconfig.rb +0 -292
  1251. data/spec/unit/network/authstore.rb +0 -370
  1252. data/spec/unit/network/client.rb +0 -45
  1253. data/spec/unit/network/client/dipper.rb +0 -16
  1254. data/spec/unit/network/format.rb +0 -191
  1255. data/spec/unit/network/format_handler.rb +0 -327
  1256. data/spec/unit/network/formats.rb +0 -365
  1257. data/spec/unit/network/handler/fileserver.rb +0 -176
  1258. data/spec/unit/network/http.rb +0 -35
  1259. data/spec/unit/network/http/api/v1.rb +0 -122
  1260. data/spec/unit/network/http/handler.rb +0 -458
  1261. data/spec/unit/network/http/mongrel.rb +0 -131
  1262. data/spec/unit/network/http/mongrel/rest.rb +0 -232
  1263. data/spec/unit/network/http/rack.rb +0 -102
  1264. data/spec/unit/network/http/rack/rest.rb +0 -199
  1265. data/spec/unit/network/http/rack/xmlrpc.rb +0 -157
  1266. data/spec/unit/network/http/webrick.rb +0 -339
  1267. data/spec/unit/network/http/webrick/rest.rb +0 -157
  1268. data/spec/unit/network/http_pool.rb +0 -206
  1269. data/spec/unit/network/rest_authconfig.rb +0 -146
  1270. data/spec/unit/network/rest_authorization.rb +0 -43
  1271. data/spec/unit/network/rights.rb +0 -519
  1272. data/spec/unit/network/server.rb +0 -534
  1273. data/spec/unit/network/xmlrpc/client.rb +0 -171
  1274. data/spec/unit/node.rb +0 -200
  1275. data/spec/unit/node/environment.rb +0 -187
  1276. data/spec/unit/node/facts.rb +0 -97
  1277. data/spec/unit/other/checksum.rb +0 -92
  1278. data/spec/unit/other/selinux.rb +0 -85
  1279. data/spec/unit/other/transbucket.rb +0 -188
  1280. data/spec/unit/other/transobject.rb +0 -112
  1281. data/spec/unit/parameter.rb +0 -405
  1282. data/spec/unit/parser/ast.rb +0 -41
  1283. data/spec/unit/parser/ast/arithmetic_operator.rb +0 -73
  1284. data/spec/unit/parser/ast/astarray.rb +0 -72
  1285. data/spec/unit/parser/ast/boolean_operator.rb +0 -53
  1286. data/spec/unit/parser/ast/casestatement.rb +0 -135
  1287. data/spec/unit/parser/ast/collection.rb +0 -63
  1288. data/spec/unit/parser/ast/collexpr.rb +0 -115
  1289. data/spec/unit/parser/ast/comparison_operator.rb +0 -92
  1290. data/spec/unit/parser/ast/definition.rb +0 -213
  1291. data/spec/unit/parser/ast/function.rb +0 -83
  1292. data/spec/unit/parser/ast/hostclass.rb +0 -148
  1293. data/spec/unit/parser/ast/ifstatement.rb +0 -76
  1294. data/spec/unit/parser/ast/leaf.rb +0 -298
  1295. data/spec/unit/parser/ast/match_operator.rb +0 -50
  1296. data/spec/unit/parser/ast/minus.rb +0 -36
  1297. data/spec/unit/parser/ast/node.rb +0 -145
  1298. data/spec/unit/parser/ast/nop.rb +0 -20
  1299. data/spec/unit/parser/ast/not.rb +0 -30
  1300. data/spec/unit/parser/ast/resource.rb +0 -103
  1301. data/spec/unit/parser/ast/resource_override.rb +0 -51
  1302. data/spec/unit/parser/ast/resource_reference.rb +0 -69
  1303. data/spec/unit/parser/ast/selector.rb +0 -155
  1304. data/spec/unit/parser/ast/vardef.rb +0 -47
  1305. data/spec/unit/parser/collector.rb +0 -556
  1306. data/spec/unit/parser/compiler.rb +0 -604
  1307. data/spec/unit/parser/files.rb +0 -190
  1308. data/spec/unit/parser/functions.rb +0 -83
  1309. data/spec/unit/parser/functions/fqdn_rand.rb +0 -62
  1310. data/spec/unit/parser/functions/generate.rb +0 -41
  1311. data/spec/unit/parser/functions/inline_template.rb +0 -59
  1312. data/spec/unit/parser/functions/realize.rb +0 -51
  1313. data/spec/unit/parser/functions/regsubst.rb +0 -168
  1314. data/spec/unit/parser/functions/require.rb +0 -69
  1315. data/spec/unit/parser/functions/shellquote.rb +0 -92
  1316. data/spec/unit/parser/functions/split.rb +0 -51
  1317. data/spec/unit/parser/functions/sprintf.rb +0 -42
  1318. data/spec/unit/parser/functions/template.rb +0 -62
  1319. data/spec/unit/parser/functions/versioncmp.rb +0 -29
  1320. data/spec/unit/parser/interpreter.rb +0 -147
  1321. data/spec/unit/parser/lexer.rb +0 -731
  1322. data/spec/unit/parser/loaded_code.rb +0 -215
  1323. data/spec/unit/parser/parser.rb +0 -423
  1324. data/spec/unit/parser/resource.rb +0 -529
  1325. data/spec/unit/parser/resource/reference.rb +0 -111
  1326. data/spec/unit/parser/scope.rb +0 -387
  1327. data/spec/unit/parser/templatewrapper.rb +0 -134
  1328. data/spec/unit/property.rb +0 -305
  1329. data/spec/unit/property/keyvalue.rb +0 -168
  1330. data/spec/unit/property/list.rb +0 -166
  1331. data/spec/unit/property/ordered_list.rb +0 -64
  1332. data/spec/unit/provider.rb +0 -31
  1333. data/spec/unit/provider/augeas/augeas.rb +0 -413
  1334. data/spec/unit/provider/confine.rb +0 -78
  1335. data/spec/unit/provider/confine/exists.rb +0 -81
  1336. data/spec/unit/provider/confine/false.rb +0 -53
  1337. data/spec/unit/provider/confine/feature.rb +0 -60
  1338. data/spec/unit/provider/confine/true.rb +0 -53
  1339. data/spec/unit/provider/confine/variable.rb +0 -107
  1340. data/spec/unit/provider/confine_collection.rb +0 -134
  1341. data/spec/unit/provider/confiner.rb +0 -63
  1342. data/spec/unit/provider/group/groupadd.rb +0 -31
  1343. data/spec/unit/provider/group/ldap.rb +0 -105
  1344. data/spec/unit/provider/ldap.rb +0 -248
  1345. data/spec/unit/provider/macauthorization.rb +0 -147
  1346. data/spec/unit/provider/mcx/mcxcontent.rb +0 -175
  1347. data/spec/unit/provider/mount.rb +0 -130
  1348. data/spec/unit/provider/mount/parsed.rb +0 -194
  1349. data/spec/unit/provider/naginator.rb +0 -58
  1350. data/spec/unit/provider/package/apt.rb +0 -138
  1351. data/spec/unit/provider/package/dpkg.rb +0 -170
  1352. data/spec/unit/provider/package/gem.rb +0 -87
  1353. data/spec/unit/provider/package/hpux.rb +0 -52
  1354. data/spec/unit/provider/package/pkgdmg.rb +0 -73
  1355. data/spec/unit/provider/parsedfile.rb +0 -95
  1356. data/spec/unit/provider/selboolean.rb +0 -37
  1357. data/spec/unit/provider/selmodule.rb +0 -66
  1358. data/spec/unit/provider/service/daemontools.rb +0 -166
  1359. data/spec/unit/provider/service/debian.rb +0 -89
  1360. data/spec/unit/provider/service/init.rb +0 -121
  1361. data/spec/unit/provider/service/launchd.rb +0 -200
  1362. data/spec/unit/provider/service/redhat.rb +0 -96
  1363. data/spec/unit/provider/service/runit.rb +0 -140
  1364. data/spec/unit/provider/ssh_authorized_key/parsed.rb +0 -206
  1365. data/spec/unit/provider/sshkey/parsed.rb +0 -38
  1366. data/spec/unit/provider/user/hpux.rb +0 -25
  1367. data/spec/unit/provider/user/ldap.rb +0 -279
  1368. data/spec/unit/provider/user/user_role_add.rb +0 -249
  1369. data/spec/unit/provider/user/useradd.rb +0 -115
  1370. data/spec/unit/provider/zfs/solaris.rb +0 -99
  1371. data/spec/unit/provider/zone/solaris.rb +0 -42
  1372. data/spec/unit/provider/zpool/solaris.rb +0 -179
  1373. data/spec/unit/rails.rb +0 -133
  1374. data/spec/unit/rails/host.rb +0 -163
  1375. data/spec/unit/rails/param_value.rb +0 -49
  1376. data/spec/unit/rails/resource.rb +0 -107
  1377. data/spec/unit/relationship.rb +0 -236
  1378. data/spec/unit/reports.rb +0 -61
  1379. data/spec/unit/resource.rb +0 -495
  1380. data/spec/unit/resource/catalog.rb +0 -1053
  1381. data/spec/unit/resource/reference.rb +0 -111
  1382. data/spec/unit/simple_graph.rb +0 -551
  1383. data/spec/unit/ssl/certificate.rb +0 -124
  1384. data/spec/unit/ssl/certificate_authority.rb +0 -741
  1385. data/spec/unit/ssl/certificate_authority/interface.rb +0 -269
  1386. data/spec/unit/ssl/certificate_factory.rb +0 -107
  1387. data/spec/unit/ssl/certificate_request.rb +0 -193
  1388. data/spec/unit/ssl/certificate_revocation_list.rb +0 -168
  1389. data/spec/unit/ssl/host.rb +0 -704
  1390. data/spec/unit/ssl/inventory.rb +0 -180
  1391. data/spec/unit/ssl/key.rb +0 -198
  1392. data/spec/unit/transaction.rb +0 -146
  1393. data/spec/unit/transaction/change.rb +0 -187
  1394. data/spec/unit/transaction/event.rb +0 -25
  1395. data/spec/unit/transaction/report.rb +0 -40
  1396. data/spec/unit/type.rb +0 -426
  1397. data/spec/unit/type/augeas.rb +0 -106
  1398. data/spec/unit/type/component.rb +0 -63
  1399. data/spec/unit/type/computer.rb +0 -78
  1400. data/spec/unit/type/cron.rb +0 -33
  1401. data/spec/unit/type/exec.rb +0 -116
  1402. data/spec/unit/type/file.rb +0 -810
  1403. data/spec/unit/type/file/checksum.rb +0 -28
  1404. data/spec/unit/type/file/content.rb +0 -297
  1405. data/spec/unit/type/file/ensure.rb +0 -84
  1406. data/spec/unit/type/file/group.rb +0 -123
  1407. data/spec/unit/type/file/owner.rb +0 -143
  1408. data/spec/unit/type/file/selinux.rb +0 -84
  1409. data/spec/unit/type/file/source.rb +0 -264
  1410. data/spec/unit/type/filebucket.rb +0 -74
  1411. data/spec/unit/type/group.rb +0 -39
  1412. data/spec/unit/type/macauthorization.rb +0 -111
  1413. data/spec/unit/type/maillist.rb +0 -42
  1414. data/spec/unit/type/mcx.rb +0 -100
  1415. data/spec/unit/type/mount.rb +0 -211
  1416. data/spec/unit/type/nagios.rb +0 -63
  1417. data/spec/unit/type/noop_metaparam.rb +0 -37
  1418. data/spec/unit/type/package.rb +0 -236
  1419. data/spec/unit/type/resources.rb +0 -89
  1420. data/spec/unit/type/schedule.rb +0 -333
  1421. data/spec/unit/type/selboolean.rb +0 -45
  1422. data/spec/unit/type/selmodule.rb +0 -18
  1423. data/spec/unit/type/service.rb +0 -230
  1424. data/spec/unit/type/ssh_authorized_key.rb +0 -140
  1425. data/spec/unit/type/tidy.rb +0 -422
  1426. data/spec/unit/type/user.rb +0 -285
  1427. data/spec/unit/type/zfs.rb +0 -45
  1428. data/spec/unit/type/zone.rb +0 -20
  1429. data/spec/unit/type/zpool.rb +0 -110
  1430. data/spec/unit/util/autoload.rb +0 -133
  1431. data/spec/unit/util/autoload/file_cache.rb +0 -183
  1432. data/spec/unit/util/backups.rb +0 -159
  1433. data/spec/unit/util/cache_accumulator.rb +0 -69
  1434. data/spec/unit/util/cacher.rb +0 -185
  1435. data/spec/unit/util/checksums.rb +0 -113
  1436. data/spec/unit/util/constant_inflector.rb +0 -70
  1437. data/spec/unit/util/feature.rb +0 -72
  1438. data/spec/unit/util/file_locking.rb +0 -115
  1439. data/spec/unit/util/filetype.rb +0 -100
  1440. data/spec/unit/util/json.rb +0 -21
  1441. data/spec/unit/util/ldap/connection.rb +0 -169
  1442. data/spec/unit/util/ldap/generator.rb +0 -54
  1443. data/spec/unit/util/ldap/manager.rb +0 -654
  1444. data/spec/unit/util/loadedfile.rb +0 -65
  1445. data/spec/unit/util/log.rb +0 -202
  1446. data/spec/unit/util/metric.rb +0 -95
  1447. data/spec/unit/util/monkey_patches.rb +0 -103
  1448. data/spec/unit/util/nagios_maker.rb +0 -126
  1449. data/spec/unit/util/package.rb +0 -21
  1450. data/spec/unit/util/posix.rb +0 -256
  1451. data/spec/unit/util/queue.rb +0 -96
  1452. data/spec/unit/util/queue/stomp.rb +0 -140
  1453. data/spec/unit/util/reference_serializer.rb +0 -52
  1454. data/spec/unit/util/resource_template.rb +0 -58
  1455. data/spec/unit/util/selinux.rb +0 -280
  1456. data/spec/unit/util/settings.rb +0 -1058
  1457. data/spec/unit/util/settings/file_setting.rb +0 -248
  1458. data/spec/unit/util/storage.rb +0 -248
  1459. data/spec/unit/util/tagging.rb +0 -102
  1460. data/spec/unit/util/user_attr.rb +0 -47
  1461. data/spec/unit/util/warnings.rb +0 -39
  1462. data/spec/unit/util/zaml.rb +0 -38
  1463. data/test/language/ast/casestatement.rb +0 -103
  1464. data/test/language/ast/resource.rb +0 -58
  1465. data/test/language/ast/resource_reference.rb +0 -77
  1466. data/test/language/ast/selector.rb +0 -61
  1467. data/test/language/resource.rb +0 -172
  1468. data/test/lib/puppettest/support/collection.rb +0 -29
  1469. data/test/network/client/resource.rb +0 -52
  1470. data/test/network/handler/bucket.rb +0 -313
  1471. data/test/network/handler/resource.rb +0 -250
  1472. data/test/other/dsl.rb +0 -215
  1473. data/test/other/events.rb +0 -124
  1474. data/test/ral/type/group.rb +0 -170
@@ -8,678 +8,718 @@ require 'puppet'
8
8
  require 'puppet/util/fileparsing'
9
9
 
10
10
  class TestUtilFileParsing < Test::Unit::TestCase
11
- include PuppetTest
12
- include PuppetTest::FileParsing
11
+ include PuppetTest
12
+ include PuppetTest::FileParsing
13
13
 
14
- class FParser
15
- include Puppet::Util::FileParsing
16
- end
14
+ class FParser
15
+ include Puppet::Util::FileParsing
16
+ end
17
17
 
18
- def setup
19
- super
20
- @parser = FParser.new
21
- end
18
+ def setup
19
+ super
20
+ @parser = FParser.new
21
+ end
22
22
 
23
- def test_lines
24
- assert_equal("\n", @parser.line_separator,
25
- "Default separator was incorrect")
23
+ def test_lines
24
+ assert_equal("\n", @parser.line_separator, "Default separator was incorrect")
26
25
 
27
- {"\n" => ["one two\nthree four", "one two\nthree four\n"],
28
- "\t" => ["one two\tthree four", "one two\tthree four\t"],
29
- }.each do |sep, tests|
30
- assert_nothing_raised do
31
- @parser.line_separator = sep
32
- end
33
- assert_equal(sep, @parser.line_separator,
34
- "Did not set separator")
26
+ {"\n" => ["one two\nthree four", "one two\nthree four\n"],
27
+ "\t" => ["one two\tthree four", "one two\tthree four\t"],
28
+ }.each do |sep, tests|
29
+ assert_nothing_raised do
30
+ @parser.line_separator = sep
31
+ end
35
32
 
36
- tests.each do |test|
37
- assert_equal(["one two", "three four"], @parser.lines(test),
38
- "Incorrectly parsed %s" % test.inspect)
39
- end
40
- end
33
+ assert_equal(
34
+ sep, @parser.line_separator,
35
+
36
+ "Did not set separator")
37
+
38
+ tests.each do |test|
39
+ assert_equal(["one two", "three four"], @parser.lines(test), "Incorrectly parsed #{test.inspect}")
40
+ end
41
41
  end
42
+ end
42
43
 
43
- # Make sure parse calls the appropriate methods or errors out
44
- def test_parse
45
- @parser.meta_def(:parse_line) do |line|
46
- line.split(/\s+/)
47
- end
44
+ # Make sure parse calls the appropriate methods or errors out
45
+ def test_parse
46
+ @parser.meta_def(:parse_line) do |line|
47
+ line.split(/\s+/)
48
+ end
48
49
 
49
- text = "one line\ntwo line"
50
- should = [%w{one line}, %w{two line}]
51
- ret = nil
52
- assert_nothing_raised do
53
- ret = @parser.parse(text)
54
- end
50
+ text = "one line\ntwo line"
51
+ should = [%w{one line}, %w{two line}]
52
+ ret = nil
53
+ assert_nothing_raised do
54
+ ret = @parser.parse(text)
55
+ end
55
56
 
56
- assert_equal(should, ret)
57
+ assert_equal(should, ret)
58
+ end
59
+
60
+ # Make sure we correctly handle different kinds of text lines.
61
+ def test_text_line
62
+ comment = "# this is a comment"
63
+
64
+ # Make sure it fails if no regex is passed
65
+ assert_raise(ArgumentError) do
66
+ @parser.text_line :comment
57
67
  end
58
68
 
59
- # Make sure we correctly handle different kinds of text lines.
60
- def test_text_line
61
- comment = "# this is a comment"
69
+ # define a text matching comment record
70
+ assert_nothing_raised do
71
+ @parser.text_line :comment, :match => /^#/
72
+ end
62
73
 
63
- # Make sure it fails if no regex is passed
64
- assert_raise(ArgumentError) do
65
- @parser.text_line :comment
66
- end
74
+ # Make sure it matches
75
+ assert_nothing_raised do
67
76
 
68
- # define a text matching comment record
69
- assert_nothing_raised do
70
- @parser.text_line :comment, :match => /^#/
71
- end
77
+ assert_equal(
78
+ {:record_type => :comment, :line => comment},
72
79
 
73
- # Make sure it matches
74
- assert_nothing_raised do
75
- assert_equal({:record_type => :comment, :line => comment},
76
- @parser.parse_line(comment))
77
- end
80
+ @parser.parse_line(comment))
81
+ end
78
82
 
79
- # But not something else
80
- assert_nothing_raised do
81
- assert_nil(@parser.parse_line("some other text"))
82
- end
83
+ # But not something else
84
+ assert_nothing_raised do
85
+ assert_nil(@parser.parse_line("some other text"))
86
+ end
83
87
 
84
- # Now define another type and make sure we get the right one back
85
- assert_nothing_raised do
86
- @parser.text_line :blank, :match => /^\s*$/
87
- end
88
+ # Now define another type and make sure we get the right one back
89
+ assert_nothing_raised do
90
+ @parser.text_line :blank, :match => /^\s*$/
91
+ end
88
92
 
89
- # The comment should still match
90
- assert_nothing_raised do
91
- assert_equal({:record_type => :comment, :line => comment},
92
- @parser.parse_line(comment))
93
- end
93
+ # The comment should still match
94
+ assert_nothing_raised do
94
95
 
95
- # As should our new line type
96
- assert_nothing_raised do
97
- assert_equal({:record_type => :blank, :line => ""},
98
- @parser.parse_line(""))
99
- end
96
+ assert_equal(
97
+ {:record_type => :comment, :line => comment},
100
98
 
99
+ @parser.parse_line(comment))
101
100
  end
102
101
 
103
- def test_parse_line
104
- Puppet[:trace] = false
102
+ # As should our new line type
103
+ assert_nothing_raised do
105
104
 
106
- comment = "# this is a comment"
105
+ assert_equal(
106
+ {:record_type => :blank, :line => ""},
107
107
 
108
- # Make sure it fails if we don't have any record types defined
109
- assert_raise(Puppet::DevError) do
110
- @parser.parse_line(comment)
111
- end
108
+ @parser.parse_line(""))
109
+ end
112
110
 
113
- # Now define a text matching comment record
114
- assert_nothing_raised do
115
- @parser.text_line :comment, :match => /^#/
116
- end
111
+ end
117
112
 
118
- # And make sure we can't define another one with the same name
119
- assert_raise(ArgumentError) do
120
- @parser.text_line :comment, :match => /^"/
121
- end
113
+ def test_parse_line
114
+ Puppet[:trace] = false
122
115
 
123
- result = nil
124
- assert_nothing_raised("Did not parse text line") do
125
- result = @parser.parse_line comment
126
- end
116
+ comment = "# this is a comment"
127
117
 
128
- assert_equal({:record_type => :comment, :line => comment}, result)
118
+ # Make sure it fails if we don't have any record types defined
119
+ assert_raise(Puppet::DevError) do
120
+ @parser.parse_line(comment)
121
+ end
129
122
 
130
- # Make sure we just return nil on unmatched lines.
131
- assert_nothing_raised("Did not parse text line") do
132
- result = @parser.parse_line "No match for this"
133
- end
123
+ # Now define a text matching comment record
124
+ assert_nothing_raised do
125
+ @parser.text_line :comment, :match => /^#/
126
+ end
134
127
 
135
- assert_nil(result, "Somehow matched an empty line")
128
+ # And make sure we can't define another one with the same name
129
+ assert_raise(ArgumentError) do
130
+ @parser.text_line :comment, :match => /^"/
131
+ end
136
132
 
137
- # Now define another type of comment, and make sure both types get
138
- # correctly returned as comments
139
- assert_nothing_raised do
140
- @parser.text_line :comment2, :match => /^"/
141
- end
133
+ result = nil
134
+ assert_nothing_raised("Did not parse text line") do
135
+ result = @parser.parse_line comment
136
+ end
142
137
 
143
- assert_nothing_raised("Did not parse old comment") do
144
- assert_equal({:record_type => :comment, :line => comment},
145
- @parser.parse_line(comment))
146
- end
147
- comment = '" another type of comment'
148
- assert_nothing_raised("Did not parse new comment") do
149
- assert_equal({:record_type => :comment2, :line => comment},
150
- @parser.parse_line(comment))
151
- end
138
+ assert_equal({:record_type => :comment, :line => comment}, result)
152
139
 
153
- # Now define two overlapping record types and make sure we keep the
154
- # correct order. We do first match, not longest match.
155
- assert_nothing_raised do
156
- @parser.text_line :one, :match => /^y/
157
- @parser.text_line :two, :match => /^yay/
158
- end
140
+ # Make sure we just return nil on unmatched lines.
141
+ assert_nothing_raised("Did not parse text line") do
142
+ result = @parser.parse_line "No match for this"
143
+ end
159
144
 
160
- assert_nothing_raised do
161
- assert_equal({:record_type => :one, :line => "yayness"},
162
- @parser.parse_line("yayness"))
163
- end
145
+ assert_nil(result, "Somehow matched an empty line")
164
146
 
147
+ # Now define another type of comment, and make sure both types get
148
+ # correctly returned as comments
149
+ assert_nothing_raised do
150
+ @parser.text_line :comment2, :match => /^"/
165
151
  end
166
152
 
167
- def test_record_line
168
- tabrecord = "tab separated content"
169
- spacerecord = "space separated content"
153
+ assert_nothing_raised("Did not parse old comment") do
154
+ assert_equal({:record_type => :comment, :line => comment}, @parser.parse_line(comment))
155
+ end
156
+ comment = '" another type of comment'
157
+ assert_nothing_raised("Did not parse new comment") do
158
+ assert_equal({:record_type => :comment2, :line => comment}, @parser.parse_line(comment))
159
+ end
170
160
 
171
- # Make sure we always require an appropriate set of options
172
- [{:separator => "\t"}, {}, {:fields => %w{record_type}}].each do |opts|
173
- assert_raise(ArgumentError, "Accepted %s" % opts.inspect) do
174
- @parser.record_line :record, opts
175
- end
176
- end
161
+ # Now define two overlapping record types and make sure we keep the
162
+ # correct order. We do first match, not longest match.
163
+ assert_nothing_raised do
164
+ @parser.text_line :one, :match => /^y/
165
+ @parser.text_line :two, :match => /^yay/
166
+ end
177
167
 
178
- # Verify that our default separator is tabs
179
- tabs = nil
180
- assert_nothing_raised do
181
- tabs = @parser.record_line :tabs, :fields => [:name, :first, :second]
182
- end
168
+ assert_nothing_raised do
169
+ assert_equal({:record_type => :one, :line => "yayness"}, @parser.parse_line("yayness"))
170
+ end
183
171
 
184
- # Make sure out tab line gets matched
185
- tabshould = {:record_type => :tabs, :name => "tab", :first => "separated",
186
- :second => "content"}
187
- assert_nothing_raised do
188
- assert_equal(tabshould, @parser.handle_record_line(tabrecord, tabs))
189
- end
172
+ end
190
173
 
191
- # Now add our space-separated record type
192
- spaces = nil
193
- assert_nothing_raised do
194
- spaces = @parser.record_line :spaces, :fields => [:name, :first, :second]
195
- end
174
+ def test_record_line
175
+ tabrecord = "tab separated content"
176
+ spacerecord = "space separated content"
196
177
 
197
- # Now make sure both lines parse correctly
198
- spaceshould = {:record_type => :spaces, :name => "space",
199
- :first => "separated", :second => "content"}
178
+ # Make sure we always require an appropriate set of options
179
+ [{:separator => "\t"}, {}, {:fields => %w{record_type}}].each do |opts|
180
+ assert_raise(ArgumentError, "Accepted #{opts.inspect}") do
181
+ @parser.record_line :record, opts
182
+ end
183
+ end
200
184
 
201
- assert_nothing_raised do
202
- assert_equal(tabshould, @parser.handle_record_line(tabrecord, tabs))
203
- assert_equal(spaceshould, @parser.handle_record_line(spacerecord, spaces))
204
- end
185
+ # Verify that our default separator is tabs
186
+ tabs = nil
187
+ assert_nothing_raised do
188
+ tabs = @parser.record_line :tabs, :fields => [:name, :first, :second]
205
189
  end
206
190
 
207
- def test_to_line
208
- @parser.text_line :comment, :match => /^#/
209
- @parser.text_line :blank, :match => /^\s*$/
210
- @parser.record_line :record, :fields => %w{name one two}, :joiner => "\t"
211
-
212
- johnny = {:record_type => :record, :name => "johnny", :one => "home",
213
- :two => "yay"}
214
- bill = {:record_type => :record, :name => "bill", :one => "work",
215
- :two => "boo"}
216
-
217
- records = {
218
- :comment => {:record_type => :comment, :line => "# This is a file"},
219
- :blank => {:record_type => :blank, :line => ""},
220
- :johnny => johnny,
221
- :bill => bill
222
- }
223
-
224
- lines = {
225
- :comment => "# This is a file",
226
- :blank => "",
227
- :johnny => "johnny home yay",
228
- :bill => "bill work boo"
229
- }
230
-
231
- records.each do |name, details|
232
- result = nil
233
- assert_nothing_raised do
234
- result = @parser.to_line(details)
235
- end
236
-
237
- assert_equal(lines[name], result)
238
- end
239
- order = [:comment, :blank, :johnny, :bill]
191
+ # Make sure out tab line gets matched
192
+ tabshould = {:record_type => :tabs, :name => "tab", :first => "separated", :second => "content"}
193
+ assert_nothing_raised do
194
+ assert_equal(tabshould, @parser.handle_record_line(tabrecord, tabs))
195
+ end
240
196
 
241
- file = order.collect { |name| lines[name] }.join("\n")
197
+ # Now add our space-separated record type
198
+ spaces = nil
199
+ assert_nothing_raised do
200
+ spaces = @parser.record_line :spaces, :fields => [:name, :first, :second]
201
+ end
242
202
 
243
- ordered_records = order.collect { |name| records[name] }
203
+ # Now make sure both lines parse correctly
204
+ spaceshould = {:record_type => :spaces, :name => "space", :first => "separated", :second => "content"}
244
205
 
245
- # Make sure we default to a trailing separator
246
- assert_equal(true, @parser.trailing_separator,
247
- "Did not default to a trailing separtor")
206
+ assert_nothing_raised do
207
+ assert_equal(tabshould, @parser.handle_record_line(tabrecord, tabs))
208
+ assert_equal(spaceshould, @parser.handle_record_line(spacerecord, spaces))
209
+ end
210
+ end
211
+
212
+ def test_to_line
213
+ @parser.text_line :comment, :match => /^#/
214
+ @parser.text_line :blank, :match => /^\s*$/
215
+ @parser.record_line :record, :fields => %w{name one two}, :joiner => "\t"
216
+
217
+ johnny = {:record_type => :record, :name => "johnny", :one => "home",
218
+ :two => "yay"}
219
+ bill = {:record_type => :record, :name => "bill", :one => "work",
220
+ :two => "boo"}
221
+
222
+ records = {
223
+ :comment => {:record_type => :comment, :line => "# This is a file"},
224
+ :blank => {:record_type => :blank, :line => ""},
225
+ :johnny => johnny,
226
+ :bill => bill
227
+ }
228
+
229
+ lines = {
230
+ :comment => "# This is a file",
231
+ :blank => "",
232
+ :johnny => "johnny home yay",
233
+ :bill => "bill work boo"
234
+ }
235
+
236
+ records.each do |name, details|
237
+ result = nil
238
+ assert_nothing_raised do
239
+ result = @parser.to_line(details)
240
+ end
241
+
242
+ assert_equal(lines[name], result)
243
+ end
244
+ order = [:comment, :blank, :johnny, :bill]
248
245
 
249
- # Start without a trailing separator
250
- @parser.trailing_separator = false
251
- assert_nothing_raised do
252
- assert_equal(file, @parser.to_file(ordered_records))
253
- end
246
+ file = order.collect { |name| lines[name] }.join("\n")
254
247
 
255
- # Now with a trailing separator
256
- file += "\n"
257
- @parser.trailing_separator = true
258
- assert_nothing_raised do
259
- assert_equal(file, @parser.to_file(ordered_records))
260
- end
248
+ ordered_records = order.collect { |name| records[name] }
261
249
 
262
- # Now try it with a different separator, so we're not just catching
263
- # defaults
264
- file.gsub!("\n", "\t")
265
- @parser.line_separator = "\t"
266
- assert_nothing_raised do
267
- assert_equal(file, @parser.to_file(ordered_records))
268
- end
250
+ # Make sure we default to a trailing separator
251
+ assert_equal(true, @parser.trailing_separator, "Did not default to a trailing separtor")
252
+
253
+ # Start without a trailing separator
254
+ @parser.trailing_separator = false
255
+ assert_nothing_raised do
256
+ assert_equal(file, @parser.to_file(ordered_records))
269
257
  end
270
258
 
271
- # Make sure fields that are marked absent get replaced with the appropriate
272
- # string.
273
- def test_absent_fields
274
- record = nil
275
- assert_nothing_raised do
276
- record = @parser.record_line :record, :fields => %w{one two three},
277
- :optional => %w{two three}
278
- end
279
- assert_equal("", record.absent, "Did not set a default absent string")
259
+ # Now with a trailing separator
260
+ file += "\n"
261
+ @parser.trailing_separator = true
262
+ assert_nothing_raised do
263
+ assert_equal(file, @parser.to_file(ordered_records))
264
+ end
280
265
 
281
- result = nil
282
- assert_nothing_raised do
283
- result = @parser.to_line(:record_type => :record,
284
- :one => "a", :two => :absent, :three => "b")
285
- end
266
+ # Now try it with a different separator, so we're not just catching
267
+ # defaults
268
+ file.gsub!("\n", "\t")
269
+ @parser.line_separator = "\t"
270
+ assert_nothing_raised do
271
+ assert_equal(file, @parser.to_file(ordered_records))
272
+ end
273
+ end
274
+
275
+ # Make sure fields that are marked absent get replaced with the appropriate
276
+ # string.
277
+ def test_absent_fields
278
+ record = nil
279
+ assert_nothing_raised do
280
+ record = @parser.record_line :record, :fields => %w{one two three},
281
+ :optional => %w{two three}
282
+ end
283
+ assert_equal("", record.absent, "Did not set a default absent string")
286
284
 
287
- assert_equal("a b", result, "Absent was not correctly replaced")
285
+ result = nil
286
+ assert_nothing_raised do
288
287
 
289
- # Now try using a different replacement character
290
- record.absent = "*" # Because cron is a pain in my ass
291
- assert_nothing_raised do
292
- result = @parser.to_line(:record_type => :record,
293
- :one => "a", :two => :absent, :three => "b")
294
- end
288
+ result = @parser.to_line(
289
+ :record_type => :record,
290
+
291
+ :one => "a", :two => :absent, :three => "b")
292
+ end
295
293
 
296
- assert_equal("a * b", result, "Absent was not correctly replaced")
294
+ assert_equal("a b", result, "Absent was not correctly replaced")
297
295
 
298
- # Make sure we deal correctly with the string 'absent'
299
- assert_nothing_raised do
300
- result = @parser.to_line(:record_type => :record,
301
- :one => "a", :two => "b", :three => 'absent')
302
- end
296
+ # Now try using a different replacement character
297
+ record.absent = "*" # Because cron is a pain in my ass
298
+ assert_nothing_raised do
299
+ result = @parser.to_line(:record_type => :record, :one => "a", :two => :absent, :three => "b")
300
+ end
303
301
 
304
- assert_equal("a b absent", result, "Replaced string 'absent'")
302
+ assert_equal("a * b", result, "Absent was not correctly replaced")
305
303
 
306
- # And, of course, make sure we can swap things around.
307
- assert_nothing_raised do
308
- result = @parser.to_line(:record_type => :record,
309
- :one => "a", :two => "b", :three => :absent)
310
- end
304
+ # Make sure we deal correctly with the string 'absent'
305
+ assert_nothing_raised do
311
306
 
312
- assert_equal("a b *", result, "Absent was not correctly replaced")
307
+ result = @parser.to_line(
308
+ :record_type => :record,
309
+
310
+ :one => "a", :two => "b", :three => 'absent')
313
311
  end
314
312
 
315
- # Make sure we can specify a different join character than split character
316
- def test_split_join_record_line
317
- check = proc do |start, record, final|
318
- # Check parsing first
319
- result = @parser.parse_line(start)
320
- [:one, :two].each do |param|
321
- assert_equal(record[param], result[param],
322
- "Did not correctly parse %s" % start.inspect)
323
- end
313
+ assert_equal("a b absent", result, "Replaced string 'absent'")
324
314
 
325
- # And generating
326
- assert_equal(final, @parser.to_line(result),
327
- "Did not correctly generate %s from %s" %
328
- [final.inspect, record.inspect])
329
- end
315
+ # And, of course, make sure we can swap things around.
316
+ assert_nothing_raised do
330
317
 
331
- # First try it with symmetric characters
332
- @parser.record_line :symmetric, :fields => %w{one two},
333
- :separator => " "
318
+ result = @parser.to_line(
319
+ :record_type => :record,
334
320
 
335
- check.call "a b", {:one => "a", :two => "b"}, "a b"
336
- @parser.clear_records
321
+ :one => "a", :two => "b", :three => :absent)
322
+ end
323
+
324
+ assert_equal("a b *", result, "Absent was not correctly replaced")
325
+ end
337
326
 
338
- # Now assymetric but both strings
339
- @parser.record_line :asymmetric, :fields => %w{one two},
340
- :separator => "\t", :joiner => " "
327
+ # Make sure we can specify a different join character than split character
328
+ def test_split_join_record_line
329
+ check = proc do |start, record, final|
330
+ # Check parsing first
331
+ result = @parser.parse_line(start)
332
+ [:one, :two].each do |param|
341
333
 
342
- check.call "a\tb", {:one => "a", :two => "b"}, "a b"
343
- @parser.clear_records
334
+ assert_equal(
335
+ record[param], result[param],
344
336
 
345
- # And assymmetric with a regex
346
- @parser.record_line :asymmetric2, :fields => %w{one two},
347
- :separator => /\s+/, :joiner => " "
337
+ "Did not correctly parse #{start.inspect}")
338
+ end
348
339
 
349
- check.call "a\tb", {:one => "a", :two => "b"}, "a b"
350
- check.call "a b", {:one => "a", :two => "b"}, "a b"
340
+ # And generating
341
+ assert_equal(final, @parser.to_line(result), "Did not correctly generate #{final.inspect} from #{record.inspect}")
351
342
  end
352
343
 
353
- # Make sure we correctly regenerate files.
354
- def test_to_file
355
- @parser.text_line :comment, :match => /^#/
356
- @parser.text_line :blank, :match => /^\s*$/
357
- @parser.record_line :record, :fields => %w{name one two}
344
+ # First try it with symmetric characters
345
+ @parser.record_line :symmetric, :fields => %w{one two},
346
+ :separator => " "
347
+
348
+ check.call "a b", {:one => "a", :two => "b"}, "a b"
349
+ @parser.clear_records
350
+
351
+ # Now assymetric but both strings
352
+ @parser.record_line :asymmetric, :fields => %w{one two},
353
+ :separator => "\t", :joiner => " "
354
+
355
+ check.call "a\tb", {:one => "a", :two => "b"}, "a b"
356
+ @parser.clear_records
358
357
 
359
- text = "# This is a comment
358
+ # And assymmetric with a regex
359
+ @parser.record_line :asymmetric2, :fields => %w{one two},
360
+ :separator => /\s+/, :joiner => " "
361
+
362
+ check.call "a\tb", {:one => "a", :two => "b"}, "a b"
363
+ check.call "a b", {:one => "a", :two => "b"}, "a b"
364
+ end
365
+
366
+ # Make sure we correctly regenerate files.
367
+ def test_to_file
368
+ @parser.text_line :comment, :match => /^#/
369
+ @parser.text_line :blank, :match => /^\s*$/
370
+ @parser.record_line :record, :fields => %w{name one two}
371
+
372
+ text = "# This is a comment
360
373
 
361
374
  johnny one two
362
375
  billy three four\n"
363
376
 
364
- # Just parse and generate, to make sure it's isomorphic.
365
- assert_nothing_raised do
366
- assert_equal(text, @parser.to_file(@parser.parse(text)),
367
- "parsing was not isomorphic")
368
- end
377
+ # Just parse and generate, to make sure it's isomorphic.
378
+ assert_nothing_raised do
379
+ assert_equal(text, @parser.to_file(@parser.parse(text)),
380
+ "parsing was not isomorphic")
369
381
  end
382
+ end
370
383
 
371
- def test_valid_attrs
372
- @parser.record_line :record, :fields => %w{one two three}
384
+ def test_valid_attrs
385
+ @parser.record_line :record, :fields => %w{one two three}
373
386
 
374
- assert(@parser.valid_attr?(:record, :one),
375
- "one was considered invalid")
376
387
 
377
- assert(@parser.valid_attr?(:record, :ensure),
378
- "ensure was considered invalid")
388
+ assert(
389
+ @parser.valid_attr?(:record, :one),
379
390
 
380
- assert(! @parser.valid_attr?(:record, :four),
381
- "four was considered valid")
382
- end
391
+ "one was considered invalid")
392
+
393
+
394
+ assert(
395
+ @parser.valid_attr?(:record, :ensure),
383
396
 
384
- def test_record_blocks
385
- options = nil
386
- assert_nothing_raised do
387
- # Just do a simple test
388
- options = @parser.record_line :record,
389
- :fields => %w{name alias info} do |line|
390
- line = line.dup
391
- ret = {}
392
- if line.sub!(/(\w+)\s*/, '')
393
- ret[:name] = $1
394
- else
395
- return nil
396
- end
397
+ "ensure was considered invalid")
397
398
 
398
- if line.sub!(/(#.+)/, '')
399
- desc = $1.sub(/^#\s*/, '')
400
- ret[:description] = desc unless desc == ""
401
- end
402
399
 
403
- if line != ""
404
- ret[:alias] = line.split(/\s+/)
405
- end
400
+ assert(
401
+ ! @parser.valid_attr?(:record, :four),
406
402
 
407
- return ret
408
- end
403
+ "four was considered valid")
404
+ end
405
+
406
+ def test_record_blocks
407
+ options = nil
408
+ assert_nothing_raised do
409
+ # Just do a simple test
410
+ options = @parser.record_line :record,
411
+ :fields => %w{name alias info} do |line|
412
+ line = line.dup
413
+ ret = {}
414
+ if line.sub!(/(\w+)\s*/, '')
415
+ ret[:name] = $1
416
+ else
417
+ return nil
409
418
  end
410
419
 
411
- values = {
412
- :name => "tcpmux",
413
- :description => "TCP port service multiplexer",
414
- :alias => ["sink"]
415
- }
416
-
417
- {
418
-
419
- "tcpmux " => [:name],
420
- "tcpmux" => [:name],
421
- "tcpmux sink" => [:name, :port, :protocols, :alias],
422
- "tcpmux # TCP port service multiplexer" =>
423
- [:name, :description, :port, :protocols],
424
- "tcpmux sink # TCP port service multiplexer" =>
425
- [:name, :description, :port, :alias, :protocols],
426
- "tcpmux sink null # TCP port service multiplexer" =>
427
- [:name, :description, :port, :alias, :protocols],
428
- }.each do |line, should|
429
- result = nil
430
- assert_nothing_raised do
431
- result = @parser.handle_record_line(line, options)
432
- end
433
- assert(result, "Did not get a result back for '%s'" % line)
434
- should.each do |field|
435
- if field == :alias and line =~ /null/
436
- assert_equal(%w{sink null}, result[field],
437
- "Field %s was not right in '%s'" % [field, line])
438
- else
439
- assert_equal(values[field], result[field],
440
- "Field %s was not right in '%s'" % [field, line])
441
- end
442
- end
420
+ if line.sub!(/(#.+)/, '')
421
+ desc = $1.sub(/^#\s*/, '')
422
+ ret[:description] = desc unless desc == ""
443
423
  end
444
424
 
425
+ ret[:alias] = line.split(/\s+/) if line != ""
445
426
 
427
+ return ret
428
+ end
446
429
  end
447
430
 
448
- # Make sure we correctly handle optional fields. We'll skip this
449
- # functionality until we really know we need it.
450
- def test_optional_fields
451
- assert_nothing_raised do
452
- @parser.record_line :record,
453
- :fields => %w{one two three four},
454
- :optional => %w{three four},
455
- :absent => "*",
456
- :separator => " " # A single space
457
- end
431
+ values = {
432
+ :name => "tcpmux",
433
+ :description => "TCP port service multiplexer",
434
+ :alias => ["sink"]
435
+ }
436
+
437
+ {
438
+
439
+ "tcpmux " => [:name],
440
+ "tcpmux" => [:name],
441
+ "tcpmux sink" => [:name, :port, :protocols, :alias],
442
+ "tcpmux # TCP port service multiplexer" =>
443
+ [:name, :description, :port, :protocols],
444
+ "tcpmux sink # TCP port service multiplexer" =>
445
+ [:name, :description, :port, :alias, :protocols],
446
+ "tcpmux sink null # TCP port service multiplexer" =>
447
+ [:name, :description, :port, :alias, :protocols],
448
+ }.each do |line, should|
449
+ result = nil
450
+ assert_nothing_raised do
451
+ result = @parser.handle_record_line(line, options)
452
+ end
453
+ assert(result, "Did not get a result back for '#{line}'")
454
+ should.each do |field|
455
+ if field == :alias and line =~ /null/
456
+ assert_equal(%w{sink null}, result[field], "Field #{field} was not right in '#{line}'")
457
+ else
458
+ assert_equal(values[field], result[field], "Field #{field} was not right in '#{line}'")
459
+ end
460
+ end
461
+ end
458
462
 
459
- { "a b c d" => [],
460
- "a b * d" => [:three],
461
- "a b * *" => [:three, :four],
462
- "a b c *" => [:four]
463
- }.each do |line, absentees|
464
- record = nil
465
- assert_nothing_raised do
466
- record = @parser.parse_line(line)
467
- end
468
-
469
- # Absent field is :absent, not "*" inside the record
470
- absentees.each do |absentee|
471
- assert_equal(:absent, record[absentee])
472
- end
473
-
474
- # Now regenerate the line
475
- newline = nil
476
- assert_nothing_raised do
477
- newline = @parser.to_line(record)
478
- end
479
-
480
- # And make sure they're equal
481
- assert_equal(line, newline)
482
- end
483
463
 
484
- # Now make sure it pukes if we don't provide the required fields
485
- assert_raise(ArgumentError) do
486
- @parser.to_line(:record_type => :record, :one => "yay")
487
- end
464
+ end
465
+
466
+ # Make sure we correctly handle optional fields. We'll skip this
467
+ # functionality until we really know we need it.
468
+ def test_optional_fields
469
+ assert_nothing_raised do
470
+ @parser.record_line :record,
471
+ :fields => %w{one two three four},
472
+ :optional => %w{three four},
473
+ :absent => "*",
474
+ :separator => " " # A single space
488
475
  end
489
476
 
490
- def test_record_rts
491
- # Start with the default
492
- assert_nothing_raised do
493
- @parser.record_line :record,
494
- :fields => %w{one two three four},
495
- :optional => %w{three four}
496
- end
477
+ { "a b c d" => [],
478
+ "a b * d" => [:three],
479
+ "a b * *" => [:three, :four],
480
+ "a b c *" => [:four]
481
+ }.each do |line, absentees|
482
+ record = nil
483
+ assert_nothing_raised do
484
+ record = @parser.parse_line(line)
485
+ end
486
+
487
+ # Absent field is :absent, not "*" inside the record
488
+ absentees.each do |absentee|
489
+ assert_equal(:absent, record[absentee])
490
+ end
491
+
492
+ # Now regenerate the line
493
+ newline = nil
494
+ assert_nothing_raised do
495
+ newline = @parser.to_line(record)
496
+ end
497
+
498
+ # And make sure they're equal
499
+ assert_equal(line, newline)
500
+ end
497
501
 
498
- assert_equal("a b ",
499
- @parser.to_line(:record_type => :record, :one => "a", :two => "b")
500
- )
501
-
502
- # Now say yes to removing
503
- @parser.clear_records
504
- assert_nothing_raised do
505
- @parser.record_line :record,
506
- :fields => %w{one two three four},
507
- :optional => %w{three four},
508
- :rts => true
509
- end
502
+ # Now make sure it pukes if we don't provide the required fields
503
+ assert_raise(ArgumentError) do
504
+ @parser.to_line(:record_type => :record, :one => "yay")
505
+ end
506
+ end
507
+
508
+ def test_record_rts
509
+ # Start with the default
510
+ assert_nothing_raised do
511
+ @parser.record_line :record,
512
+ :fields => %w{one two three four},
513
+ :optional => %w{three four}
514
+ end
510
515
 
511
- assert_equal("a b",
512
- @parser.to_line(:record_type => :record, :one => "a", :two => "b")
513
- )
514
-
515
- # Lastly, try a regex
516
- @parser.clear_records
517
- assert_nothing_raised do
518
- @parser.record_line :record,
519
- :fields => %w{one two three four},
520
- :optional => %w{three four},
521
- :absent => "*",
522
- :rts => /[ *]+$/
523
- end
524
516
 
525
- assert_equal("a b",
526
- @parser.to_line(:record_type => :record, :one => "a", :two => "b")
527
- )
517
+ assert_equal(
518
+ "a b ",
519
+
520
+ @parser.to_line(:record_type => :record, :one => "a", :two => "b")
521
+ )
522
+
523
+ # Now say yes to removing
524
+ @parser.clear_records
525
+ assert_nothing_raised do
526
+ @parser.record_line :record,
527
+ :fields => %w{one two three four},
528
+ :optional => %w{three four},
529
+ :rts => true
528
530
  end
529
531
 
530
- # Make sure the last field can contain the separator, as crontabs do, and
531
- # that we roll them all up by default.
532
- def test_field_rollups
533
- @parser.record_line :yes, :fields => %w{name one two}
534
532
 
535
- result = nil
536
- assert_nothing_raised do
537
- result = @parser.send(:parse_line, "Name One Two Three")
538
- end
539
- assert_equal("Two Three", result[:two],
540
- "Did not roll up last fields by default")
533
+ assert_equal(
534
+ "a b",
541
535
 
542
- @parser = FParser.new
543
- assert_nothing_raised("Could not create record that rolls up fields") do
544
- @parser.record_line :no, :fields => %w{name one two}, :rollup => false
545
- end
536
+ @parser.to_line(:record_type => :record, :one => "a", :two => "b")
537
+ )
546
538
 
547
- result = nil
548
- assert_nothing_raised do
549
- result = @parser.send(:parse_line, "Name One Two Three")
550
- end
551
- assert_equal("Two", result[:two],
552
- "Rolled up last fields when rollup => false")
539
+ # Lastly, try a regex
540
+ @parser.clear_records
541
+ assert_nothing_raised do
542
+ @parser.record_line :record,
543
+ :fields => %w{one two three four},
544
+ :optional => %w{three four},
545
+ :absent => "*",
546
+ :rts => /[ *]+$/
553
547
  end
554
548
 
555
- def test_text_blocks
556
- record = nil
557
- assert_nothing_raised do
558
- record = @parser.text_line :name, :match => %r{^#} do |line|
559
- {:line => line.upcase}
560
- end
561
- end
562
549
 
563
- assert(record.respond_to?(:process),
564
- "Block was not used with text line")
550
+ assert_equal(
551
+ "a b",
552
+
553
+ @parser.to_line(:record_type => :record, :one => "a", :two => "b")
554
+ )
555
+ end
565
556
 
566
- assert_equal("YAYNESS", record.process("yayness")[:line],
567
- "Did not call process method")
557
+ # Make sure the last field can contain the separator, as crontabs do, and
558
+ # that we roll them all up by default.
559
+ def test_field_rollups
560
+ @parser.record_line :yes, :fields => %w{name one two}
561
+
562
+ result = nil
563
+ assert_nothing_raised do
564
+ result = @parser.send(:parse_line, "Name One Two Three")
568
565
  end
569
566
 
570
- def test_hooks
571
- record = nil
572
- # First try it with a normal record
573
- assert_nothing_raised("Could not set hooks") do
574
- record = @parser.record_line :yay, :fields => %w{one two},
575
- :post_parse => proc { |hash| hash[:posted] = true },
576
- :pre_gen => proc { |hash| hash[:one] = hash[:one].upcase },
577
- :to_line => proc { |hash| "# Line\n" + join(hash) }
578
- end
567
+ assert_equal(
568
+ "Two Three", result[:two],
579
569
 
580
- assert(record.respond_to?(:post_parse), "did not create method for post-hook")
581
- assert(record.respond_to?(:pre_gen), "did not create method for pre-hook")
570
+ "Did not roll up last fields by default")
582
571
 
583
- result = nil
584
- assert_nothing_raised("Could not process line with hooks") do
585
- result = @parser.parse_line("one two")
586
- end
572
+ @parser = FParser.new
573
+ assert_nothing_raised("Could not create record that rolls up fields") do
574
+ @parser.record_line :no, :fields => %w{name one two}, :rollup => false
575
+ end
587
576
 
588
- assert(result[:posted], "Did not run post-hook")
589
- old_result = result
577
+ result = nil
578
+ assert_nothing_raised do
579
+ result = @parser.send(:parse_line, "Name One Two Three")
580
+ end
590
581
 
591
- # Now make sure our pre-gen hook is called
592
- assert_nothing_raised("Could not generate line with hooks") do
593
- result = @parser.to_line(result)
594
- end
595
- assert_equal("# Line\nONE two", result, "did not call pre-gen hook")
596
- assert_equal("one", old_result[:one], "passed original hash to pre hook")
582
+ assert_equal(
583
+ "Two", result[:two],
584
+
585
+ "Rolled up last fields when rollup => false")
586
+ end
587
+
588
+ def test_text_blocks
589
+ record = nil
590
+ assert_nothing_raised do
591
+ record = @parser.text_line :name, :match => %r{^#} do |line|
592
+ {:line => line.upcase}
593
+ end
597
594
  end
595
+
596
+
597
+ assert(
598
+ record.respond_to?(:process),
599
+
600
+ "Block was not used with text line")
601
+
602
+ assert_equal("YAYNESS", record.process("yayness")[:line],
603
+ "Did not call process method")
604
+ end
605
+
606
+ def test_hooks
607
+ record = nil
608
+ # First try it with a normal record
609
+ assert_nothing_raised("Could not set hooks") do
610
+ record = @parser.record_line :yay, :fields => %w{one two},
611
+ :post_parse => proc { |hash| hash[:posted] = true },
612
+ :pre_gen => proc { |hash| hash[:one] = hash[:one].upcase },
613
+ :to_line => proc { |hash| "# Line\n" + join(hash) }
614
+ end
615
+
616
+ assert(record.respond_to?(:post_parse), "did not create method for post-hook")
617
+ assert(record.respond_to?(:pre_gen), "did not create method for pre-hook")
618
+
619
+ result = nil
620
+ assert_nothing_raised("Could not process line with hooks") do
621
+ result = @parser.parse_line("one two")
622
+ end
623
+
624
+ assert(result[:posted], "Did not run post-hook")
625
+ old_result = result
626
+
627
+ # Now make sure our pre-gen hook is called
628
+ assert_nothing_raised("Could not generate line with hooks") do
629
+ result = @parser.to_line(result)
630
+ end
631
+ assert_equal("# Line\nONE two", result, "did not call pre-gen hook")
632
+ assert_equal("one", old_result[:one], "passed original hash to pre hook")
633
+ end
598
634
  end
599
635
 
600
636
  class TestUtilFileRecord < Test::Unit::TestCase
601
- include PuppetTest
602
- include PuppetTest::FileParsing
603
-
604
- Record = Puppet::Util::FileParsing::FileRecord
605
- def test_new_filerecord
606
- [ [:fake, {}],
607
- [nil, ]
608
- ].each do |args|
609
- assert_raise(ArgumentError, "Did not fail on %s" % args.inspect) do
610
- Record.new(*args)
611
- end
612
- end
637
+ include PuppetTest
638
+ include PuppetTest::FileParsing
639
+
640
+ Record = Puppet::Util::FileParsing::FileRecord
641
+ def test_new_filerecord
642
+ [ [:fake, {}],
643
+ [nil, ]
644
+ ].each do |args|
645
+ assert_raise(ArgumentError, "Did not fail on #{args.inspect}") do
646
+ Record.new(*args)
647
+ end
648
+ end
613
649
 
614
- # Make sure the fields get turned into symbols
615
- record = nil
616
- assert_nothing_raised do
617
- record = Record.new(:record, :fields => %w{one two})
618
- end
619
- assert_equal([:one, :two], record.fields,
620
- "Did not symbolize fields")
621
-
622
- # Make sure we fail on invalid fields
623
- [:record_type, :target, :on_disk].each do |field|
624
- assert_raise(ArgumentError, "Did not fail on invalid field %s" % field) {
625
- Record.new(:record, :fields => [field])
626
- }
627
- end
650
+ # Make sure the fields get turned into symbols
651
+ record = nil
652
+ assert_nothing_raised do
653
+ record = Record.new(:record, :fields => %w{one two})
628
654
  end
655
+ assert_equal([:one, :two], record.fields, "Did not symbolize fields")
629
656
 
630
- def test_defaults
631
- record = Record.new(:text, :match => %r{^#})
632
- [:absent, :separator, :joiner, :optional].each do |field|
633
- assert_nil(record.send(field), "%s was not nil" % field)
634
- end
657
+ # Make sure we fail on invalid fields
658
+ [:record_type, :target, :on_disk].each do |field|
659
+ assert_raise(ArgumentError, "Did not fail on invalid field #{field}") {
660
+ Record.new(:record, :fields => [field])
661
+ }
662
+ end
663
+ end
635
664
 
636
- record = Record.new(:record, :fields => %w{fields})
637
- {:absent => "", :separator => /\s+/, :joiner => " ",
638
- :optional => []}.each do |field, default|
639
- assert_equal(default, record.send(field), "%s was not default" % field)
640
- end
665
+ def test_defaults
666
+ record = Record.new(:text, :match => %r{^#})
667
+ [:absent, :separator, :joiner, :optional].each do |field|
668
+ assert_nil(record.send(field), "#{field} was not nil")
641
669
  end
642
670
 
643
- def test_block
644
- record = nil
645
- assert_nothing_raised("Could not pass a block when creating record") do
646
- record = Record.new(:record, :fields => %w{one}) do |line|
647
- return line.upcase
648
- end
649
- end
671
+ record = Record.new(:record, :fields => %w{fields})
672
+ {:absent => "", :separator => /\s+/, :joiner => " ", :optional => []}.each do |field, default|
673
+ assert_equal(default, record.send(field), "#{field} was not default")
674
+ end
675
+ end
676
+
677
+ def test_block
678
+ record = nil
679
+ assert_nothing_raised("Could not pass a block when creating record") do
680
+ record = Record.new(:record, :fields => %w{one}) do |line|
681
+ return line.upcase
682
+ end
683
+ end
650
684
 
651
- line = "This is a line"
685
+ line = "This is a line"
652
686
 
653
- assert(record.respond_to?(:process),
654
- "Record did not define :process method")
655
687
 
656
- assert_equal(line.upcase, record.process(line),
657
- "Record did not process line correctly")
658
- end
688
+ assert(
689
+ record.respond_to?(:process),
659
690
 
660
- # Make sure we can declare that we want the block to be instance-eval'ed instead of
661
- # defining the 'process' method.
662
- def test_instance_block
663
- record = nil
664
- assert_nothing_raised("Could not pass a block when creating record") do
665
- record = Record.new(:record, :block_eval => :instance, :fields => %w{one}) do
666
- def process(line)
667
- line.upcase
668
- end
691
+ "Record did not define :process method")
669
692
 
670
- def to_line(details)
671
- details.upcase
672
- end
673
- end
674
- end
675
693
 
676
- assert(record.respond_to?(:process), "Block was not instance-eval'ed and process was not defined")
677
- assert(record.respond_to?(:to_line), "Block was not instance-eval'ed and to_line was not defined")
694
+ assert_equal(
695
+ line.upcase, record.process(line),
696
+
697
+ "Record did not process line correctly")
698
+ end
699
+
700
+ # Make sure we can declare that we want the block to be instance-eval'ed instead of
701
+ # defining the 'process' method.
702
+ def test_instance_block
703
+ record = nil
704
+ assert_nothing_raised("Could not pass a block when creating record") do
705
+ record = Record.new(:record, :block_eval => :instance, :fields => %w{one}) do
706
+ def process(line)
707
+ line.upcase
708
+ end
678
709
 
679
- line = "some text"
680
- assert_equal(line.upcase, record.process(line), "Instance-eval'ed record did not call :process correctly")
681
- assert_equal(line.upcase, record.to_line(line), "Instance-eval'ed record did not call :to_line correctly")
710
+ def to_line(details)
711
+ details.upcase
712
+ end
713
+ end
682
714
  end
715
+
716
+ assert(record.respond_to?(:process), "Block was not instance-eval'ed and process was not defined")
717
+ assert(record.respond_to?(:to_line), "Block was not instance-eval'ed and to_line was not defined")
718
+
719
+ line = "some text"
720
+ assert_equal(line.upcase, record.process(line), "Instance-eval'ed record did not call :process correctly")
721
+ assert_equal(line.upcase, record.to_line(line), "Instance-eval'ed record did not call :to_line correctly")
722
+ end
683
723
  end
684
724
 
685
725