summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-08-27 19:07:06 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-08-27 19:07:06 -0700
commit24341aefdbaffee9a4b2da9bca3168b1e6f7fc04 (patch)
treeb715a72bebb9b30c9266877501918c5a1d8de3fc
parent395534b88d54e6ec57eadfaab81c736c688e7938 (diff)
downloadchef-lcg/add-test-segment.tar.gz
hacking in a test segmentlcg/add-test-segment
-rw-r--r--lib/chef/cookbook/cookbook_version_loader.rb4
-rw-r--r--lib/chef/cookbook_uploader.rb3
-rw-r--r--lib/chef/cookbook_version.rb8
3 files changed, 14 insertions, 1 deletions
diff --git a/lib/chef/cookbook/cookbook_version_loader.rb b/lib/chef/cookbook/cookbook_version_loader.rb
index 47258c4d4e..cd0ee9c02d 100644
--- a/lib/chef/cookbook/cookbook_version_loader.rb
+++ b/lib/chef/cookbook/cookbook_version_loader.rb
@@ -11,6 +11,7 @@ class Chef
:definition_filenames,
:recipe_filenames,
:template_filenames,
+ :test_filenames, # FIXME: LOOP OVER SEGMENTS
:file_filenames,
:library_filenames,
:resource_filenames,
@@ -44,6 +45,7 @@ class Chef
@cookbook_settings = {
:attribute_filenames => {},
:definition_filenames => {},
+ :test_filenames => {}, # FIXME: LOOP OVER SEGMENTS
:recipe_filenames => {},
:template_filenames => {},
:file_filenames => {},
@@ -81,6 +83,7 @@ class Chef
load_as(:definition_filenames, 'definitions', '*.rb')
load_as(:recipe_filenames, 'recipes', '*.rb')
load_as(:library_filenames, 'libraries', '*.rb')
+ load_recursively_as(:test_filenames, "test", "*") # FIXME: LOOP OVER SEGMENTS
load_recursively_as(:template_filenames, "templates", "*")
load_recursively_as(:file_filenames, "files", "*")
load_recursively_as(:resource_filenames, "resources", "*.rb")
@@ -122,6 +125,7 @@ class Chef
Chef::CookbookVersion.new(cookbook_name, *cookbook_paths).tap do |c|
c.attribute_filenames = cookbook_settings[:attribute_filenames].values
c.definition_filenames = cookbook_settings[:definition_filenames].values
+ c.test_filenames = cookbook_settings[:test_filenames].values # FIXME: LOOP OVER SEGMENTS
c.recipe_filenames = cookbook_settings[:recipe_filenames].values
c.template_filenames = cookbook_settings[:template_filenames].values
c.file_filenames = cookbook_settings[:file_filenames].values
diff --git a/lib/chef/cookbook_uploader.rb b/lib/chef/cookbook_uploader.rb
index 2d8bf5bc7e..cce93d5128 100644
--- a/lib/chef/cookbook_uploader.rb
+++ b/lib/chef/cookbook_uploader.rb
@@ -94,6 +94,9 @@ class Chef
cookbooks.each do |cb|
save_url = opts[:force] ? cb.force_save_url : cb.save_url
begin
+ require 'pp'
+ pp cb
+ puts Chef::JSONCompat.to_json_pretty(cb)
rest.put(save_url, cb)
rescue Net::HTTPServerException => e
case e.response.code
diff --git a/lib/chef/cookbook_version.rb b/lib/chef/cookbook_version.rb
index 76e6d152b2..3125da996c 100644
--- a/lib/chef/cookbook_version.rb
+++ b/lib/chef/cookbook_version.rb
@@ -40,9 +40,10 @@ class Chef
class CookbookVersion
include Comparable
- COOKBOOK_SEGMENTS = [ :resources, :providers, :recipes, :definitions, :libraries, :attributes, :files, :templates, :root_files ]
+ COOKBOOK_SEGMENTS = [ :test, :resources, :providers, :recipes, :definitions, :libraries, :attributes, :files, :templates, :root_files ]
attr_accessor :root_paths
+ attr_accessor :test_filenames # FIXME: TURN INTO A HASH BY SEGMENT
attr_accessor :definition_filenames
attr_accessor :template_filenames
attr_accessor :file_filenames
@@ -98,6 +99,7 @@ class Chef
@frozen = false
@attribute_filenames = Array.new
@definition_filenames = Array.new
+ @test_filenames = Array.new # FIXME: loop over segments
@template_filenames = Array.new
@file_filenames = Array.new
@recipe_filenames = Array.new
@@ -268,6 +270,8 @@ class Chef
@file_filenames
when :templates
@template_filenames
+ when :test # FIXME: LOOP OVER SEGMENTS
+ @test_filenames
when :root_files
@root_filenames
end
@@ -611,6 +615,8 @@ class Chef
# See #preferred_manifest_record for a description an individual manifest record.
def generate_manifest
manifest = Mash.new({
+ # FIXME: loop over COOKBOOK_SEGMENTS
+ :test => Array.new,
:recipes => Array.new,
:definitions => Array.new,
:libraries => Array.new,