test-kitchen 0.5.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/config/Cheffile CHANGED
@@ -40,8 +40,7 @@ if env.project.respond_to?(:cookbook_path)
40
40
  end
41
41
 
42
42
  if env.project.run_list.include? 'recipe[minitest-handler]'
43
- cookbook 'minitest-handler',
44
- :git => 'git://github.com/kotiri/minitest-handler-cookbook.git'
43
+ cookbook 'minitest-handler'
45
44
  end
46
45
 
47
46
  # include user-provided cookbooks
data/config/Vagrantfile CHANGED
@@ -96,6 +96,11 @@ project = tk_env.project
96
96
 
97
97
  vm_config.vm.provision :chef_solo do |chef|
98
98
  chef.cookbooks_path = tk_env.cookbook_paths
99
+
100
+ if project.data_bags_path && File.exists?(project.data_bags_path)
101
+ chef.data_bags_path = project.data_bags_path
102
+ end
103
+
99
104
  chef.run_list = project.run_list + build_run_list(tk_env.cookbook_paths, test_recipe_name)
100
105
  chef.json = chef_json
101
106
  chef.log_level = :debug
@@ -27,7 +27,8 @@ module TestKitchen
27
27
 
28
28
  option :platform,
29
29
  :long => "--platform PLATFORM",
30
- :description => "The platform to use. If not specified tests will be run against all platforms."
30
+ :description => "The platform to use. If not specified tests will be run against all platforms.",
31
+ :default => nil
31
32
 
32
33
  option :configuration,
33
34
  :long => "--configuration CONFIG",
@@ -27,8 +27,14 @@ module TestKitchen
27
27
  banner "kitchen test (options)"
28
28
 
29
29
  def run
30
- warn_for_non_buildable_platforms(env.platform_names)
31
- env.project.each_build(env.platform_names,
30
+ if config[:platform]
31
+ test_platforms = [config[:platform]]
32
+ else
33
+ test_platforms = env.platform_names
34
+ end
35
+
36
+ warn_for_non_buildable_platforms(test_platforms)
37
+ env.project.each_build(test_platforms,
32
38
  config[:configuration]) do |platform,configuration|
33
39
  runner = TestKitchen::Runner.for_platform(env,
34
40
  {:platform => platform, :configuration => configuration})
@@ -33,6 +33,7 @@ module TestKitchen
33
33
  raise ArgumentError, "Project name must be specified" if name.nil? || name.empty?
34
34
  @name = name
35
35
  @parent = parent
36
+ @runtimes = parent.runtimes if parent
36
37
  @configurations = {}
37
38
  @exclusions = []
38
39
  @guest_source_root = '/test-kitchen/source'
@@ -85,12 +86,7 @@ module TestKitchen
85
86
  end
86
87
 
87
88
  def runtimes(arg=nil)
88
- set_or_return(:runtimes, arg, :default =>
89
- if language == 'ruby' || language == 'chef'
90
- ['1.9.2']
91
- else
92
- []
93
- end)
89
+ set_or_return(:runtimes, arg, :default => [])
94
90
  end
95
91
 
96
92
  def install(arg=nil)
@@ -138,6 +134,10 @@ module TestKitchen
138
134
  nil
139
135
  end
140
136
 
137
+ def data_bags_path
138
+ nil
139
+ end
140
+
141
141
  def install_command(runtime=nil)
142
142
  raise NotImplementedError
143
143
  end
@@ -25,6 +25,7 @@ module TestKitchen
25
25
 
26
26
  attr_writer :lint
27
27
  attr_writer :supported_platforms
28
+ attr_writer :data_bags_path
28
29
 
29
30
  def lint(arg=nil)
30
31
  set_or_return(:lint, arg, {:default => true})
@@ -46,6 +47,11 @@ module TestKitchen
46
47
  " && foodcritic -f ~FC007 -f correctness#{ignore_tags} #{root_path}")
47
48
  end
48
49
 
50
+ def data_bags_path(path = nil)
51
+ set_or_return(:data_bags_path, path,
52
+ { :default => root_path.join('test/kitchen/data_bags').to_s })
53
+ end
54
+
49
55
  def script(arg=nil)
50
56
  set_or_return(:script, arg, :default =>
51
57
  %Q{if [ -d "features" ]; then bundle exec cucumber -t @#{tests_tag} features; fi})
@@ -22,14 +22,14 @@ module TestKitchen
22
22
 
23
23
  def install_command(runtime=nil, test_path=guest_test_root)
24
24
  cmd = "cd #{test_path}"
25
- cmd << " && rvm use #{runtime}" if runtime
25
+ cmd << " && rvm use #{runtime}" if runtime && ! runtime.empty?
26
26
  cmd << " && gem install bundler"
27
27
  cmd << " && #{install}"
28
28
  end
29
29
 
30
30
  def test_command(runtime=nil, test_path=guest_test_root)
31
31
  cmd = "cd #{test_path}"
32
- cmd << " && rvm use #{runtime}" if runtime
32
+ cmd << " && rvm use #{runtime}" if runtime && ! runtime.empty?
33
33
  cmd << " && #{script}"
34
34
  end
35
35
  end
@@ -17,5 +17,5 @@
17
17
  #
18
18
 
19
19
  module TestKitchen
20
- VERSION = "0.5.4"
20
+ VERSION = "0.6.0"
21
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-kitchen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-30 00:00:00.000000000 Z
12
+ date: 2012-10-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: foodcritic
@@ -180,18 +180,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
180
  - - ! '>='
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
- segments:
184
- - 0
185
- hash: 3834866993864711664
186
183
  required_rubygems_version: !ruby/object:Gem::Requirement
187
184
  none: false
188
185
  requirements:
189
186
  - - ! '>='
190
187
  - !ruby/object:Gem::Version
191
188
  version: '0'
192
- segments:
193
- - 0
194
- hash: 3834866993864711664
195
189
  requirements: []
196
190
  rubyforge_project:
197
191
  rubygems_version: 1.8.23