foodcritic 10.2.2 → 10.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -2
  3. data/Gemfile +2 -1
  4. data/README.md +7 -1
  5. data/Rakefile +55 -35
  6. data/bin/foodcritic +1 -7
  7. data/features/024_check_for_missing_platforms.feature +3 -4
  8. data/features/continuous_integration_support.feature +2 -2
  9. data/features/step_definitions/cookbook_steps.rb +24 -285
  10. data/features/support/command_helpers.rb +3 -0
  11. data/foodcritic.gemspec +12 -6
  12. data/lib/foodcritic/api.rb +14 -2
  13. data/lib/foodcritic/command_line.rb +8 -0
  14. data/lib/foodcritic/linter.rb +1 -1
  15. data/lib/foodcritic/output.rb +17 -3
  16. data/lib/foodcritic/rules/fc008.rb +8 -6
  17. data/lib/foodcritic/rules/fc024.rb +1 -1
  18. data/lib/foodcritic/rules/fc045.rb +1 -8
  19. data/lib/foodcritic/rules/fc068.rb +1 -1
  20. data/lib/foodcritic/rules/fc069.rb +365 -0
  21. data/lib/foodcritic/rules/fc070.rb +63 -0
  22. data/lib/foodcritic/rules/fc071.rb +6 -0
  23. data/lib/foodcritic/rules/fc072.rb +6 -0
  24. data/lib/foodcritic/rules/fc073.rb +17 -0
  25. data/lib/foodcritic/rules/fc074.rb +10 -0
  26. data/lib/foodcritic/rules/fc075.rb +9 -0
  27. data/lib/foodcritic/version.rb +1 -1
  28. data/spec/functional/fc001_spec.rb +67 -0
  29. data/spec/functional/fc008_spec.rb +33 -0
  30. data/spec/functional/fc011_spec.rb +20 -0
  31. data/spec/functional/fc012_spec.rb +20 -0
  32. data/spec/functional/fc016_spec.rb +48 -0
  33. data/spec/functional/fc028_spec.rb +48 -0
  34. data/spec/functional/fc029_spec.rb +33 -0
  35. data/spec/functional/fc031_spec.rb +14 -0
  36. data/spec/functional/fc042_spec.rb +13 -0
  37. data/spec/functional/fc045_spec.rb +18 -0
  38. data/spec/functional/fc052_spec.rb +13 -0
  39. data/spec/functional/fc053_spec.rb +13 -0
  40. data/spec/functional/fc055_spec.rb +18 -0
  41. data/spec/functional/fc056_spec.rb +18 -0
  42. data/spec/functional/fc061_spec.rb +48 -0
  43. data/spec/functional/fc062_spec.rb +13 -0
  44. data/spec/functional/fc063_spec.rb +18 -0
  45. data/spec/functional/fc064_spec.rb +13 -0
  46. data/spec/functional/fc065_spec.rb +13 -0
  47. data/spec/functional/fc066_spec.rb +13 -0
  48. data/spec/functional/fc067_spec.rb +13 -0
  49. data/spec/functional/fc068_spec.rb +13 -0
  50. data/spec/functional/fc069_spec.rb +23 -0
  51. data/spec/functional/fc070_spec.rb +38 -0
  52. data/spec/functional/fc071_spec.rb +14 -0
  53. data/spec/functional/fc072_spec.rb +13 -0
  54. data/spec/functional/fc073_spec.rb +56 -0
  55. data/spec/functional/fc074_spec.rb +39 -0
  56. data/spec/functional/fc075_spec.rb +41 -0
  57. data/spec/functional/root_aliases_spec.rb +13 -0
  58. data/spec/regression/cookbooks.txt +0 -2
  59. data/spec/regression/expected/activemq.txt +5 -0
  60. data/spec/regression/expected/apparmor.txt +8 -0
  61. data/spec/regression/expected/apt.txt +12 -0
  62. data/spec/regression/expected/aws.txt +13 -0
  63. data/spec/regression/expected/bluepill.txt +6 -0
  64. data/spec/regression/expected/boost.txt +6 -0
  65. data/spec/regression/expected/build-essential.txt +6 -0
  66. data/spec/regression/expected/chef-client.txt +13 -0
  67. data/spec/regression/expected/chef-server.txt +12 -0
  68. data/spec/regression/expected/chef.txt +36 -0
  69. data/spec/regression/expected/chef_handler.txt +7 -0
  70. data/spec/regression/expected/cron.txt +7 -0
  71. data/spec/regression/expected/database.txt +13 -0
  72. data/spec/regression/expected/dmg.txt +12 -0
  73. data/spec/regression/expected/drbd.txt +25 -0
  74. data/spec/regression/expected/dynect.txt +29 -0
  75. data/spec/regression/expected/erlang.txt +4 -0
  76. data/spec/regression/expected/fail2ban.txt +4 -0
  77. data/spec/regression/expected/firewall.txt +12 -0
  78. data/spec/regression/expected/gecode.txt +8 -0
  79. data/spec/regression/expected/gems.txt +31 -0
  80. data/spec/regression/expected/gunicorn.txt +9 -0
  81. data/spec/regression/expected/heartbeat.txt +8 -0
  82. data/spec/regression/expected/homebrew.txt +8 -0
  83. data/spec/regression/expected/iis.txt +30 -0
  84. data/spec/regression/expected/iptables.txt +8 -0
  85. data/spec/regression/expected/jetty.txt +11 -0
  86. data/spec/regression/expected/jpackage.txt +8 -0
  87. data/spec/regression/expected/keepalived.txt +4 -0
  88. data/spec/regression/expected/kickstart.txt +14 -0
  89. data/spec/regression/expected/logwatch.txt +4 -0
  90. data/spec/regression/expected/lvm.txt +12 -0
  91. data/spec/regression/expected/maradns.txt +13 -0
  92. data/spec/regression/expected/maven.txt +9 -0
  93. data/spec/regression/expected/memcached.txt +30 -0
  94. data/spec/regression/expected/motd-tail.txt +4 -0
  95. data/spec/regression/expected/mysql.txt +12 -0
  96. data/spec/regression/expected/ohai.txt +6 -0
  97. data/spec/regression/expected/openldap.txt +10 -0
  98. data/spec/regression/expected/openssh.txt +4 -0
  99. data/spec/regression/expected/openssl.txt +5 -0
  100. data/spec/regression/expected/partial_search.txt +5 -0
  101. data/spec/regression/expected/passenger_apache2.txt +29 -0
  102. data/spec/regression/expected/perl.txt +11 -0
  103. data/spec/regression/expected/php.txt +9 -0
  104. data/spec/regression/expected/postfix.txt +6 -0
  105. data/spec/regression/expected/powershell.txt +8 -0
  106. data/spec/regression/expected/resolver.txt +6 -0
  107. data/spec/regression/expected/rsync.txt +10 -0
  108. data/spec/regression/expected/rsyslog.txt +8 -0
  109. data/spec/regression/expected/sql_server.txt +4 -0
  110. data/spec/regression/expected/sqlite.txt +4 -0
  111. data/spec/regression/expected/ssh_known_hosts.txt +5 -0
  112. data/spec/regression/expected/stompserver.txt +5 -0
  113. data/spec/regression/expected/subversion.txt +5 -0
  114. data/spec/regression/expected/sudo.txt +8 -0
  115. data/spec/regression/expected/tftp.txt +5 -0
  116. data/spec/regression/expected/tomcat.txt +8 -0
  117. data/spec/regression/expected/transmission.txt +10 -0
  118. data/spec/regression/expected/ubuntu.txt +4 -0
  119. data/spec/regression/expected/ufw.txt +9 -0
  120. data/spec/regression/expected/unicorn.txt +6 -0
  121. data/spec/regression/expected/users.txt +7 -0
  122. data/spec/regression/expected/vim.txt +6 -0
  123. data/spec/regression/expected/webpi.txt +7 -0
  124. data/spec/regression/expected/whitelist-node-attrs.txt +6 -0
  125. data/spec/regression/expected/windows.txt +57 -0
  126. data/spec/regression/expected/wix.txt +4 -0
  127. data/spec/regression/expected/xfs.txt +4 -0
  128. data/spec/regression/expected/xml.txt +4 -0
  129. data/spec/regression/expected/yum.txt +17 -0
  130. data/spec/regression/expected/zlib.txt +4 -0
  131. data/spec/regression/expected/zsh.txt +4 -0
  132. data/spec/regression/regression_spec.rb +16 -10
  133. data/spec/spec_helper.rb +115 -10
  134. data/spec/{foodcritic → unit}/api_spec.rb +549 -593
  135. data/spec/{foodcritic → unit}/chef_spec.rb +15 -15
  136. data/spec/unit/command_line_spec.rb +122 -0
  137. data/spec/{foodcritic → unit}/domain_spec.rb +12 -12
  138. data/spec/{foodcritic → unit}/linter_spec.rb +20 -35
  139. data/spec/{foodcritic → unit}/template_spec.rb +13 -13
  140. metadata +161 -33
  141. data/features/001_check_node_access.feature +0 -60
  142. data/features/008_check_for_boilerplate_metadata.feature +0 -25
  143. data/features/011_check_for_markdown_readme.feature +0 -20
  144. data/features/012_check_for_deprecated_readme_format.feature +0 -20
  145. data/features/016_check_for_no_lwrp_default_action.feature +0 -25
  146. data/features/028_check_for_incorrect_platform_method.feature +0 -20
  147. data/features/029_check_for_no_leading_cookbook_name.feature +0 -18
  148. data/features/031_check_for_metadata_existence.feature +0 -15
  149. data/features/042_check_for_deprecated_require_recipe.feature +0 -15
  150. data/features/045_check_for_cookbook_name_in_metadata.feature +0 -20
  151. data/features/052_check_for_metadata_using_suggests_keyword.feature +0 -15
  152. data/features/053_check_for_metadata_using_recommends_keyword.feature +0 -15
  153. data/features/055_check_for_no_maintainer.feature +0 -25
  154. data/features/056_check_for_no_maintainer_email.feature +0 -25
  155. data/features/061_valid_cookbook_version_should_be_defined.feature +0 -55
  156. data/features/062_cookbook_should_have_cookbook_version.feature +0 -50
  157. data/features/063_cookbook_incorrectly_depends_on_itself.feature +0 -15
  158. data/features/064_check_for_no_issues_url.feature +0 -25
  159. data/features/065_check_for_no_source_url.feature +0 -25
  160. data/features/066_check_for_no_chef_version_metadata.feature +0 -20
  161. data/features/067_check_for_no_supports_metadata.feature +0 -20
  162. data/features/068_check_for_no_license_metadata.feature +0 -20
  163. data/spec/foodcritic/command_line_spec.rb +0 -74
  164. data/spec/regression/expected-output.txt +0 -355
  165. data/spec/regression_helpers.rb +0 -37
@@ -1,355 +0,0 @@
1
- FC001: Use strings in preference to symbols to access node attributes: ./apparmor/attributes/apparmor.rb:1
2
- FC001: Use strings in preference to symbols to access node attributes: ./apparmor/recipes/default.rb:21
3
- FC001: Use strings in preference to symbols to access node attributes: ./apparmor/recipes/default.rb:23
4
- FC001: Use strings in preference to symbols to access node attributes: ./chef-server/libraries/omnitruck_client.rb:76
5
- FC001: Use strings in preference to symbols to access node attributes: ./chef-server/libraries/omnitruck_client.rb:77
6
- FC001: Use strings in preference to symbols to access node attributes: ./chef-server/libraries/omnitruck_client.rb:78
7
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:20
8
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:21
9
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:22
10
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:26
11
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:27
12
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:28
13
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:29
14
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:31
15
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:32
16
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:33
17
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:34
18
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:35
19
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:38
20
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:39
21
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:40
22
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:41
23
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:42
24
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:43
25
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:44
26
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:45
27
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:46
28
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:47
29
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:49
30
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/default.rb:50
31
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/server_proxy.rb:23
32
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/server_proxy.rb:25
33
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/server_proxy.rb:28
34
- FC001: Use strings in preference to symbols to access node attributes: ./chef/attributes/server_proxy.rb:29
35
- FC001: Use strings in preference to symbols to access node attributes: ./database/libraries/provider_database_postgresql.rb:113
36
- FC001: Use strings in preference to symbols to access node attributes: ./database/recipes/ebs_backup.rb:31
37
- FC001: Use strings in preference to symbols to access node attributes: ./database/recipes/ebs_volume.rb:22
38
- FC001: Use strings in preference to symbols to access node attributes: ./database/recipes/ebs_volume.rb:86
39
- FC001: Use strings in preference to symbols to access node attributes: ./dmg/attributes/default.rb:19
40
- FC001: Use strings in preference to symbols to access node attributes: ./dmg/attributes/default.rb:20
41
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:1
42
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:2
43
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:3
44
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:4
45
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:5
46
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:6
47
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:7
48
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/attributes/default.rb:8
49
- FC001: Use strings in preference to symbols to access node attributes: ./drbd/templates/default/res.erb:1
50
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/a_record.rb:22
51
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/a_record.rb:25
52
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/a_record.rb:26
53
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/a_record.rb:27
54
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/a_record.rb:28
55
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/a_record.rb:29
56
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/ec2.rb:23
57
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/ec2.rb:25
58
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/ec2.rb:26
59
- FC001: Use strings in preference to symbols to access node attributes: ./dynect/recipes/ec2.rb:40
60
- FC001: Use strings in preference to symbols to access node attributes: ./gems/attributes/mirror.rb:1
61
- FC001: Use strings in preference to symbols to access node attributes: ./gems/attributes/mirror.rb:2
62
- FC001: Use strings in preference to symbols to access node attributes: ./gems/attributes/mirror.rb:3
63
- FC001: Use strings in preference to symbols to access node attributes: ./gems/attributes/server.rb:1
64
- FC001: Use strings in preference to symbols to access node attributes: ./gems/attributes/server.rb:2
65
- FC001: Use strings in preference to symbols to access node attributes: ./gems/attributes/server.rb:3
66
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:23
67
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:29
68
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:36
69
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:41
70
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:44
71
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:45
72
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/mirror.rb:46
73
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:26
74
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:29
75
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:30
76
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:31
77
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:40
78
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:44
79
- FC001: Use strings in preference to symbols to access node attributes: ./gems/recipes/server.rb:50
80
- FC001: Use strings in preference to symbols to access node attributes: ./gems/templates/default/gem_server.conf.erb:6
81
- FC001: Use strings in preference to symbols to access node attributes: ./gems/templates/default/gem_server.conf.erb:29
82
- FC001: Use strings in preference to symbols to access node attributes: ./gems/templates/default/gem_server.conf.erb:35
83
- FC001: Use strings in preference to symbols to access node attributes: ./iptables/recipes/default.rb:37
84
- FC001: Use strings in preference to symbols to access node attributes: ./jpackage/attributes/default.rb:20
85
- FC001: Use strings in preference to symbols to access node attributes: ./jpackage/recipes/default.rb:22
86
- FC001: Use strings in preference to symbols to access node attributes: ./jpackage/recipes/default.rb:33
87
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/attributes/default.rb:1
88
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/attributes/default.rb:2
89
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/attributes/default.rb:3
90
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/recipes/server.rb:38
91
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/recipes/server.rb:41
92
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/templates/default/kickstart.conf.erb:14
93
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/templates/default/kickstart.conf.erb:15
94
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/templates/default/ks.cfg.erb:6
95
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/templates/default/ks.cfg.erb:9
96
- FC001: Use strings in preference to symbols to access node attributes: ./kickstart/templates/default/ks.cfg.erb:10
97
- FC001: Use strings in preference to symbols to access node attributes: ./maradns/attributes/default.rb:17
98
- FC001: Use strings in preference to symbols to access node attributes: ./maradns/recipes/default.rb:46
99
- FC001: Use strings in preference to symbols to access node attributes: ./maradns/recipes/default.rb:47
100
- FC001: Use strings in preference to symbols to access node attributes: ./maradns/templates/default/mararc.erb:8
101
- FC001: Use strings in preference to symbols to access node attributes: ./maradns/templates/default/mararc.erb:9
102
- FC001: Use strings in preference to symbols to access node attributes: ./maradns/templates/default/mararc.erb:31
103
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/attributes/default.rb:1
104
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/attributes/default.rb:2
105
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/attributes/default.rb:3
106
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/attributes/default.rb:4
107
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/attributes/default.rb:5
108
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/definitions/memcached_instance.rb:29
109
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/definitions/memcached_instance.rb:30
110
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/definitions/memcached_instance.rb:31
111
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:25
112
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:39
113
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:47
114
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:48
115
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:49
116
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:50
117
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:51
118
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:62
119
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:63
120
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:64
121
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:65
122
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:66
123
- FC001: Use strings in preference to symbols to access node attributes: ./memcached/recipes/default.rb:72
124
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/attributes/default.rb:1
125
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/attributes/default.rb:2
126
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/attributes/default.rb:3
127
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/attributes/default.rb:4
128
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/attributes/default.rb:5
129
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/recipes/default.rb:28
130
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/recipes/default.rb:54
131
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/recipes/default.rb:59
132
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/recipes/mod_rails.rb:28
133
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/recipes/mod_rails.rb:37
134
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/recipes/mod_rails.rb:46
135
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger.conf.erb:1
136
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger.conf.erb:2
137
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger.conf.erb:3
138
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger.load.erb:1
139
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger_web_app.conf.erb:17
140
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger_web_app.conf.erb:18
141
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/passenger_web_app.conf.erb:21
142
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/web_app.conf.erb:17
143
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/web_app.conf.erb:18
144
- FC001: Use strings in preference to symbols to access node attributes: ./passenger_apache2/templates/default/web_app.conf.erb:21
145
- FC001: Use strings in preference to symbols to access node attributes: ./perl/definitions/cpan_module.rb:27
146
- FC001: Use strings in preference to symbols to access node attributes: ./perl/recipes/default.rb:26
147
- FC001: Use strings in preference to symbols to access node attributes: ./rsyslog/recipes/client.rb:26
148
- FC001: Use strings in preference to symbols to access node attributes: ./stompserver/templates/default/sv-stompserver-run.erb:2
149
- FC001: Use strings in preference to symbols to access node attributes: ./ufw/attributes/default.rb:1
150
- FC001: Use strings in preference to symbols to access node attributes: ./ufw/attributes/default.rb:2
151
- FC001: Use strings in preference to symbols to access node attributes: ./vim/attributes/default.rb:20
152
- FC001: Use strings in preference to symbols to access node attributes: ./vim/recipes/default.rb:33
153
- FC001: Use strings in preference to symbols to access node attributes: ./whitelist-node-attrs/attributes/default.rb:20
154
- FC001: Use strings in preference to symbols to access node attributes: ./windows/providers/reboot.rb:22
155
- FC001: Use strings in preference to symbols to access node attributes: ./windows/providers/reboot.rb:23
156
- FC001: Use strings in preference to symbols to access node attributes: ./windows/providers/reboot.rb:24
157
- FC002: Avoid string interpolation where not required: ./chef-client/recipes/cron.rb:103
158
- FC002: Avoid string interpolation where not required: ./dynect/recipes/ec2.rb:70
159
- FC002: Avoid string interpolation where not required: ./gems/recipes/mirror.rb:23
160
- FC002: Avoid string interpolation where not required: ./gems/recipes/server.rb:44
161
- FC002: Avoid string interpolation where not required: ./iis/providers/site.rb:36
162
- FC002: Avoid string interpolation where not required: ./mysql/attributes/server.rb:205
163
- FC002: Avoid string interpolation where not required: ./mysql/attributes/server.rb:206
164
- FC002: Avoid string interpolation where not required: ./mysql/attributes/server.rb:207
165
- FC002: Avoid string interpolation where not required: ./mysql/attributes/server.rb:208
166
- FC002: Avoid string interpolation where not required: ./passenger_apache2/templates/default/passenger_web_app.conf.erb:3
167
- FC002: Avoid string interpolation where not required: ./passenger_apache2/templates/default/web_app.conf.erb:3
168
- FC002: Avoid string interpolation where not required: ./perl/recipes/default.rb:37
169
- FC002: Avoid string interpolation where not required: ./perl/recipes/default.rb:43
170
- FC002: Avoid string interpolation where not required: ./rsyslog/recipes/default.rb:24
171
- FC002: Avoid string interpolation where not required: ./rsyslog/recipes/default.rb:63
172
- FC002: Avoid string interpolation where not required: ./windows/libraries/registry_helper.rb:99
173
- FC002: Avoid string interpolation where not required: ./windows/libraries/registry_helper.rb:173
174
- FC002: Avoid string interpolation where not required: ./windows/libraries/windows_privileged.rb:42
175
- FC002: Avoid string interpolation where not required: ./windows/libraries/windows_privileged.rb:56
176
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./boost/recipes/source.rb:1
177
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./build-essential/recipes/default.rb:65
178
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./chef-client/recipes/service.rb:197
179
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./chef-client/recipes/service.rb:209
180
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./chef-client/recipes/service.rb:223
181
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./chef-server/recipes/dev.rb:16
182
- FC007: Ensure recipe dependencies are reflected in cookbook metadata: ./mysql/recipes/client.rb:42
183
- FC009: Resource attribute not recognised: ./chef-server/recipes/default.rb:46
184
- FC014: Consider extracting long ruby_block to library: ./lvm/providers/logical_volume.rb:18
185
- FC015: Consider converting definition to a Custom Resource: iptables/definitions/iptables_rule.rb:1
186
- FC015: Consider converting definition to a Custom Resource: memcached/definitions/memcached_instance.rb:1
187
- FC015: Consider converting definition to a Custom Resource: perl/definitions/cpan_module.rb:1
188
- FC015: Consider converting definition to a Custom Resource: unicorn/definitions/unicorn_config.rb:1
189
- FC016: LWRP does not declare a default action: ./dynect/resources/rr.rb:1
190
- FC016: LWRP does not declare a default action: ./heartbeat/resources/ipaddr.rb:1
191
- FC016: LWRP does not declare a default action: ./transmission/resources/torrent_file.rb:1
192
- FC017: LWRP does not notify when updated: ./apt/providers/repository.rb:124
193
- FC017: LWRP does not notify when updated: ./cron/providers/d.rb:1
194
- FC017: LWRP does not notify when updated: ./dmg/providers/package.rb:27
195
- FC017: LWRP does not notify when updated: ./firewall/providers/rule_ufw.rb:23
196
- FC017: LWRP does not notify when updated: ./firewall/providers/rule_ufw.rb:27
197
- FC017: LWRP does not notify when updated: ./firewall/providers/rule_ufw.rb:31
198
- FC017: LWRP does not notify when updated: ./heartbeat/providers/default.rb:20
199
- FC017: LWRP does not notify when updated: ./homebrew/providers/tap.rb:13
200
- FC017: LWRP does not notify when updated: ./homebrew/providers/tap.rb:21
201
- FC017: LWRP does not notify when updated: ./iis/providers/app.rb:26
202
- FC017: LWRP does not notify when updated: ./iis/providers/app.rb:40
203
- FC017: LWRP does not notify when updated: ./iis/providers/app.rb:57
204
- FC017: LWRP does not notify when updated: ./iis/providers/config.rb:27
205
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:27
206
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:41
207
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:68
208
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:78
209
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:88
210
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:98
211
- FC017: LWRP does not notify when updated: ./iis/providers/pool.rb:106
212
- FC017: LWRP does not notify when updated: ./iis/providers/site.rb:26
213
- FC017: LWRP does not notify when updated: ./iis/providers/site.rb:50
214
- FC017: LWRP does not notify when updated: ./iis/providers/site.rb:84
215
- FC017: LWRP does not notify when updated: ./iis/providers/site.rb:94
216
- FC017: LWRP does not notify when updated: ./iis/providers/site.rb:104
217
- FC017: LWRP does not notify when updated: ./iis/providers/site.rb:114
218
- FC017: LWRP does not notify when updated: ./lvm/providers/physical_volume.rb:6
219
- FC017: LWRP does not notify when updated: ./maven/providers/default.rb:61
220
- FC017: LWRP does not notify when updated: ./maven/providers/default.rb:65
221
- FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:31
222
- FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:40
223
- FC017: LWRP does not notify when updated: ./php/providers/pear_channel.rb:69
224
- FC017: LWRP does not notify when updated: ./powershell/providers/default.rb:19
225
- FC017: LWRP does not notify when updated: ./rsync/providers/serve.rb:65
226
- FC017: LWRP does not notify when updated: ./rsync/providers/serve.rb:69
227
- FC017: LWRP does not notify when updated: ./sudo/providers/default.rb:102
228
- FC017: LWRP does not notify when updated: ./webpi/providers/product.rb:26
229
- FC017: LWRP does not notify when updated: ./windows/providers/auto_run.rb:21
230
- FC017: LWRP does not notify when updated: ./windows/providers/auto_run.rb:27
231
- FC017: LWRP does not notify when updated: ./windows/providers/batch.rb:24
232
- FC017: LWRP does not notify when updated: ./windows/providers/package.rb:35
233
- FC017: LWRP does not notify when updated: ./windows/providers/package.rb:53
234
- FC017: LWRP does not notify when updated: ./windows/providers/package.rb:64
235
- FC017: LWRP does not notify when updated: ./windows/providers/pagefile.rb:24
236
- FC017: LWRP does not notify when updated: ./windows/providers/pagefile.rb:66
237
- FC017: LWRP does not notify when updated: ./windows/providers/path.rb:21
238
- FC017: LWRP does not notify when updated: ./windows/providers/path.rb:29
239
- FC017: LWRP does not notify when updated: ./windows/providers/reboot.rb:21
240
- FC017: LWRP does not notify when updated: ./windows/providers/reboot.rb:27
241
- FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:27
242
- FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:31
243
- FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:35
244
- FC017: LWRP does not notify when updated: ./windows/providers/registry.rb:61
245
- FC017: LWRP does not notify when updated: ./windows/providers/task.rb:24
246
- FC017: LWRP does not notify when updated: ./windows/providers/task.rb:43
247
- FC017: LWRP does not notify when updated: ./windows/providers/task.rb:58
248
- FC017: LWRP does not notify when updated: ./windows/providers/task.rb:75
249
- FC017: LWRP does not notify when updated: ./windows/providers/zipfile.rb:27
250
- FC017: LWRP does not notify when updated: ./windows/providers/zipfile.rb:44
251
- FC017: LWRP does not notify when updated: ./yum/providers/key.rb:25
252
- FC017: LWRP does not notify when updated: ./yum/providers/repository.rb:28
253
- FC017: LWRP does not notify when updated: ./yum/providers/repository.rb:45
254
- FC018: LWRP uses deprecated notification syntax: ./windows/providers/shortcut.rb:54
255
- FC019: Access node attributes in a consistent manner: chef-server/libraries/omnitruck_client.rb:76
256
- FC019: Access node attributes in a consistent manner: chef-server/libraries/omnitruck_client.rb:77
257
- FC019: Access node attributes in a consistent manner: chef-server/libraries/omnitruck_client.rb:78
258
- FC019: Access node attributes in a consistent manner: chef/attributes/default.rb:38
259
- FC019: Access node attributes in a consistent manner: chef/attributes/default.rb:39
260
- FC019: Access node attributes in a consistent manner: chef/attributes/default.rb:50
261
- FC019: Access node attributes in a consistent manner: chef/attributes/server_proxy.rb:26
262
- FC019: Access node attributes in a consistent manner: database/libraries/provider_database_postgresql.rb:113
263
- FC019: Access node attributes in a consistent manner: database/recipes/ebs_backup.rb:31
264
- FC019: Access node attributes in a consistent manner: database/recipes/ebs_volume.rb:22
265
- FC019: Access node attributes in a consistent manner: database/recipes/ebs_volume.rb:86
266
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:1
267
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:2
268
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:3
269
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:4
270
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:5
271
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:6
272
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:7
273
- FC019: Access node attributes in a consistent manner: drbd/attributes/default.rb:8
274
- FC019: Access node attributes in a consistent manner: dynect/recipes/a_record.rb:22
275
- FC019: Access node attributes in a consistent manner: dynect/recipes/a_record.rb:25
276
- FC019: Access node attributes in a consistent manner: dynect/recipes/a_record.rb:26
277
- FC019: Access node attributes in a consistent manner: dynect/recipes/a_record.rb:27
278
- FC019: Access node attributes in a consistent manner: dynect/recipes/a_record.rb:28
279
- FC019: Access node attributes in a consistent manner: dynect/recipes/a_record.rb:29
280
- FC019: Access node attributes in a consistent manner: dynect/recipes/ec2.rb:23
281
- FC019: Access node attributes in a consistent manner: dynect/recipes/ec2.rb:25
282
- FC019: Access node attributes in a consistent manner: dynect/recipes/ec2.rb:26
283
- FC019: Access node attributes in a consistent manner: dynect/recipes/ec2.rb:40
284
- FC019: Access node attributes in a consistent manner: gecode/recipes/package.rb:29
285
- FC019: Access node attributes in a consistent manner: gecode/recipes/package.rb:30
286
- FC019: Access node attributes in a consistent manner: gecode/recipes/package.rb:51
287
- FC019: Access node attributes in a consistent manner: gecode/recipes/package.rb:56
288
- FC019: Access node attributes in a consistent manner: passenger_apache2/recipes/default.rb:33
289
- FC019: Access node attributes in a consistent manner: passenger_apache2/recipes/default.rb:41
290
- FC019: Access node attributes in a consistent manner: perl/definitions/cpan_module.rb:27
291
- FC019: Access node attributes in a consistent manner: perl/recipes/default.rb:26
292
- FC019: Access node attributes in a consistent manner: powershell/recipes/default.rb:69
293
- FC019: Access node attributes in a consistent manner: ufw/attributes/default.rb:1
294
- FC019: Access node attributes in a consistent manner: ufw/attributes/default.rb:2
295
- FC024: Consider adding platform equivalents: ./mysql/recipes/server.rb:130
296
- FC024: Consider adding platform equivalents: ./mysql/recipes/server.rb:132
297
- FC024: Consider adding platform equivalents: ./transmission/recipes/default.rb:42
298
- FC025: Prefer chef_gem to compile-time gem install: ./transmission/recipes/default.rb:25
299
- FC025: Prefer chef_gem to compile-time gem install: ./transmission/recipes/default.rb:31
300
- FC029: No leading cookbook name in recipe metadata: ./apparmor/metadata.rb:8
301
- FC034: Unused template variables: ./activemq/templates/default/wrapper.conf.erb:1
302
- FC042: Prefer include_recipe to require_recipe: ./postfix/recipes/aliases.rb:17
303
- FC043: Prefer new notification syntax: ./apt/providers/repository.rb:112
304
- FC043: Prefer new notification syntax: ./apt/recipes/default.rb:48
305
- FC043: Prefer new notification syntax: ./database/recipes/ebs_volume.rb:104
306
- FC043: Prefer new notification syntax: ./drbd/recipes/pair.rb:45
307
- FC043: Prefer new notification syntax: ./drbd/recipes/pair.rb:58
308
- FC043: Prefer new notification syntax: ./drbd/recipes/pair.rb:65
309
- FC043: Prefer new notification syntax: ./drbd/recipes/pair.rb:85
310
- FC043: Prefer new notification syntax: ./dynect/recipes/ec2.rb:69
311
- FC043: Prefer new notification syntax: ./gems/recipes/server.rb:50
312
- FC043: Prefer new notification syntax: ./iptables/definitions/iptables_rule.rb:20
313
- FC043: Prefer new notification syntax: ./iptables/definitions/iptables_rule.rb:23
314
- FC043: Prefer new notification syntax: ./jetty/recipes/cargo.rb:41
315
- FC043: Prefer new notification syntax: ./jetty/recipes/cargo.rb:56
316
- FC043: Prefer new notification syntax: ./jetty/recipes/cargo.rb:65
317
- FC043: Prefer new notification syntax: ./jetty/recipes/cargo.rb:80
318
- FC043: Prefer new notification syntax: ./jetty/recipes/default.rb:53
319
- FC043: Prefer new notification syntax: ./jetty/recipes/default.rb:61
320
- FC043: Prefer new notification syntax: ./jpackage/recipes/default.rb:33
321
- FC043: Prefer new notification syntax: ./maradns/recipes/default.rb:37
322
- FC043: Prefer new notification syntax: ./maradns/recipes/default.rb:46
323
- FC043: Prefer new notification syntax: ./memcached/recipes/default.rb:41
324
- FC043: Prefer new notification syntax: ./memcached/recipes/default.rb:56
325
- FC043: Prefer new notification syntax: ./memcached/recipes/default.rb:74
326
- FC043: Prefer new notification syntax: ./openldap/recipes/auth.rb:46
327
- FC043: Prefer new notification syntax: ./openldap/recipes/auth.rb:56
328
- FC043: Prefer new notification syntax: ./openldap/recipes/server.rb:71
329
- FC043: Prefer new notification syntax: ./openldap/recipes/server.rb:78
330
- FC043: Prefer new notification syntax: ./openldap/recipes/server.rb:97
331
- FC043: Prefer new notification syntax: ./subversion/recipes/server.rb:30
332
- FC043: Prefer new notification syntax: ./tomcat/recipes/default.rb:50
333
- FC043: Prefer new notification syntax: ./tomcat/recipes/default.rb:58
334
- FC043: Prefer new notification syntax: ./tomcat/recipes/default.rb:67
335
- FC043: Prefer new notification syntax: ./tomcat/recipes/users.rb:22
336
- FC043: Prefer new notification syntax: ./yum/providers/key.rb:60
337
- FC043: Prefer new notification syntax: ./yum/providers/repository.rb:94
338
- FC044: Avoid bare attribute keys: ./resolver/attributes/default.rb:20
339
- FC045: Metadata does not contain cookbook name: ./maven/metadata.rb:1
340
- FC047: Attribute assignment does not specify precedence: ./jetty/recipes/cargo.rb:35
341
- FC047: Attribute assignment does not specify precedence: ./users/providers/manage.rb:55
342
- FC048: Prefer Mixlib::ShellOut: ./apt/providers/repository.rb:26
343
- FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/cron.rb:38
344
- FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/delete_validation.rb:20
345
- FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/service.rb:52
346
- FC048: Prefer Mixlib::ShellOut: ./chef-client/recipes/task.rb:42
347
- FC048: Prefer Mixlib::ShellOut: ./dmg/providers/package.rb:44
348
- FC048: Prefer Mixlib::ShellOut: ./dmg/providers/package.rb:47
349
- FC048: Prefer Mixlib::ShellOut: ./dmg/providers/package.rb:76
350
- FC048: Prefer Mixlib::ShellOut: ./windows/providers/task.rb:106
351
- FC052: Metadata uses the unimplemented "suggests" keyword: ./build-essential/metadata.rb:14
352
- FC052: Metadata uses the unimplemented "suggests" keyword: ./mysql/metadata.rb:19
353
- FC052: Metadata uses the unimplemented "suggests" keyword: ./mysql/metadata.rb:20
354
- FC052: Metadata uses the unimplemented "suggests" keyword: ./nscd/metadata.rb:7
355
- FC053: Metadata uses the unimplemented "recommends" keyword: ./boost/metadata.rb:12
@@ -1,37 +0,0 @@
1
- require_relative "spec_helper"
2
- require "fileutils"
3
- require "pathname"
4
-
5
- def lint_regression_cookbooks
6
- working_dir = Pathname.new("tmp/regression")
7
- FileUtils.mkdir_p(working_dir)
8
-
9
- pinned_cookbooks("spec/regression/cookbooks.txt").each do |cbk|
10
- clone_cookbook(working_dir, cbk)
11
- end
12
-
13
- lint_cookbooks(working_dir)
14
- end
15
-
16
- def pinned_cookbooks(path)
17
- File.read(path).lines.map do |line|
18
- name, ref = line.strip.split(":")
19
- { :name => name, :ref => ref }
20
- end
21
- end
22
-
23
- def clone_cookbook(clone_path, cbk)
24
- target_path = clone_path + cbk[:name]
25
- unless Dir.exist?(target_path)
26
- `git clone -q git://github.com/chef-cookbooks/#{cbk[:name]}.git #{target_path}`
27
- raise "Unable to clone git://github.com/chef-cookbooks/#{cbk[:name]}.git" unless $?.success?
28
- end
29
- `cd #{target_path} && git checkout -q #{cbk[:ref]}`
30
- raise "Unable to checkout revision for #{cbk[:name]}" unless $?.success?
31
- end
32
-
33
- def lint_cookbooks(cookbook_path)
34
- result = `cd #{cookbook_path} && foodcritic .`
35
- raise "Unable to lint #{cookbook_path}" unless $?.success?
36
- result
37
- end