vagrant 0.1.4 → 0.2.0.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. data/Gemfile +1 -1
  2. data/Rakefile +1 -1
  3. data/VERSION +1 -1
  4. data/bin/vagrant-box +1 -2
  5. data/bin/vagrant-down +1 -2
  6. data/bin/vagrant-halt +1 -2
  7. data/bin/vagrant-init +1 -2
  8. data/bin/vagrant-package +1 -2
  9. data/bin/vagrant-reload +1 -2
  10. data/bin/vagrant-resume +1 -2
  11. data/bin/vagrant-ssh +1 -2
  12. data/bin/vagrant-status +29 -0
  13. data/bin/vagrant-suspend +1 -2
  14. data/bin/vagrant-up +1 -2
  15. data/config/default.rb +5 -9
  16. data/keys/README.md +10 -0
  17. data/keys/vagrant +27 -0
  18. data/keys/vagrant.pub +1 -0
  19. data/lib/vagrant/actions/base.rb +14 -0
  20. data/lib/vagrant/actions/collection.rb +36 -0
  21. data/lib/vagrant/actions/runner.rb +4 -10
  22. data/lib/vagrant/actions/vm/boot.rb +4 -5
  23. data/lib/vagrant/actions/vm/customize.rb +17 -0
  24. data/lib/vagrant/actions/vm/destroy.rb +11 -2
  25. data/lib/vagrant/actions/vm/forward_ports.rb +24 -0
  26. data/lib/vagrant/actions/vm/import.rb +1 -0
  27. data/lib/vagrant/actions/vm/provision.rb +30 -52
  28. data/lib/vagrant/actions/vm/reload.rb +2 -2
  29. data/lib/vagrant/actions/vm/shared_folders.rb +37 -25
  30. data/lib/vagrant/actions/vm/up.rb +8 -4
  31. data/lib/vagrant/active_list.rb +66 -0
  32. data/lib/vagrant/commands.rb +44 -0
  33. data/lib/vagrant/config.rb +64 -47
  34. data/lib/vagrant/downloaders/file.rb +2 -12
  35. data/lib/vagrant/env.rb +48 -12
  36. data/lib/vagrant/provisioners/base.rb +22 -0
  37. data/lib/vagrant/provisioners/chef.rb +102 -0
  38. data/lib/vagrant/provisioners/chef_server.rb +96 -0
  39. data/lib/vagrant/provisioners/chef_solo.rb +67 -0
  40. data/lib/vagrant/ssh.rb +25 -6
  41. data/lib/vagrant/stacked_proc_runner.rb +33 -0
  42. data/lib/vagrant/vm.rb +8 -0
  43. data/lib/vagrant.rb +10 -5
  44. data/test/test_helper.rb +22 -6
  45. data/test/vagrant/actions/collection_test.rb +110 -0
  46. data/test/vagrant/actions/runner_test.rb +11 -7
  47. data/test/vagrant/actions/vm/boot_test.rb +7 -7
  48. data/test/vagrant/actions/vm/customize_test.rb +16 -0
  49. data/test/vagrant/actions/vm/destroy_test.rb +19 -6
  50. data/test/vagrant/actions/vm/forward_ports_test.rb +52 -0
  51. data/test/vagrant/actions/vm/import_test.rb +10 -3
  52. data/test/vagrant/actions/vm/provision_test.rb +75 -70
  53. data/test/vagrant/actions/vm/reload_test.rb +3 -2
  54. data/test/vagrant/actions/vm/shared_folders_test.rb +62 -9
  55. data/test/vagrant/actions/vm/up_test.rb +4 -4
  56. data/test/vagrant/active_list_test.rb +169 -0
  57. data/test/vagrant/config_test.rb +145 -29
  58. data/test/vagrant/downloaders/file_test.rb +4 -19
  59. data/test/vagrant/env_test.rb +96 -23
  60. data/test/vagrant/provisioners/base_test.rb +27 -0
  61. data/test/vagrant/provisioners/chef_server_test.rb +175 -0
  62. data/test/vagrant/provisioners/chef_solo_test.rb +142 -0
  63. data/test/vagrant/provisioners/chef_test.rb +116 -0
  64. data/test/vagrant/ssh_test.rb +29 -8
  65. data/test/vagrant/stacked_proc_runner_test.rb +43 -0
  66. data/test/vagrant/vm_test.rb +23 -0
  67. data/vagrant.gemspec +35 -8
  68. metadata +42 -11
  69. data/script/vagrant-ssh-expect.sh +0 -22
@@ -0,0 +1,142 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ChefSoloProvisionerTest < Test::Unit::TestCase
4
+ setup do
5
+ @action = Vagrant::Provisioners::ChefSolo.new
6
+
7
+ Vagrant::SSH.stubs(:execute)
8
+ Vagrant::SSH.stubs(:upload!)
9
+
10
+ mock_config
11
+ end
12
+
13
+ context "preparing" do
14
+ should "share cookbook folders" do
15
+ @action.expects(:share_cookbook_folders).once
16
+ @action.prepare
17
+ end
18
+ end
19
+
20
+ context "provisioning" do
21
+ should "run the proper sequence of methods in order" do
22
+ prov_seq = sequence("prov_seq")
23
+ @action.expects(:chown_provisioning_folder).once.in_sequence(prov_seq)
24
+ @action.expects(:setup_json).once.in_sequence(prov_seq)
25
+ @action.expects(:setup_solo_config).once.in_sequence(prov_seq)
26
+ @action.expects(:run_chef_solo).once.in_sequence(prov_seq)
27
+ @action.provision!
28
+ end
29
+ end
30
+
31
+ context "sharing cookbook folders" do
32
+ setup do
33
+ @host_cookbook_paths = ["foo", "bar"]
34
+ @action.stubs(:host_cookbook_paths).returns(@host_cookbook_paths)
35
+ end
36
+
37
+ should "share each cookbook folder" do
38
+ share_seq = sequence("share_seq")
39
+ @host_cookbook_paths.each_with_index do |cookbook, i|
40
+ Vagrant.config.vm.expects(:share_folder).with("vagrant-chef-solo-#{i}", @action.cookbook_path(i), cookbook).in_sequence(share_seq)
41
+ end
42
+
43
+ @action.share_cookbook_folders
44
+ end
45
+ end
46
+
47
+ context "host cookbooks paths" do
48
+ should "expand the path of the cookbooks relative to the environment root path" do
49
+ @cookbook = "foo"
50
+ @expanded = "bar"
51
+ File.expects(:expand_path).with(@cookbook, Vagrant::Env.root_path).returns(@expanded)
52
+
53
+ mock_config do |config|
54
+ config.chef.cookbooks_path = @cookbook
55
+ end
56
+
57
+ assert_equal [@expanded], @action.host_cookbook_paths
58
+ end
59
+
60
+ should "return as an array if was originally a string" do
61
+ File.stubs(:expand_path).returns("foo")
62
+
63
+ mock_config do |config|
64
+ config.chef.cookbooks_path = "foo"
65
+ end
66
+
67
+ assert_equal ["foo"], @action.host_cookbook_paths
68
+ end
69
+
70
+ should "return the array of cookbooks if its an array" do
71
+ cookbooks = ["foo", "bar"]
72
+ mock_config do |config|
73
+ config.chef.cookbooks_path = cookbooks
74
+ end
75
+
76
+ expand_seq = sequence('expand_seq')
77
+ cookbooks.each do |cookbook|
78
+ File.expects(:expand_path).with(cookbook, Vagrant::Env.root_path).returns(cookbook)
79
+ end
80
+
81
+ assert_equal cookbooks, @action.host_cookbook_paths
82
+ end
83
+ end
84
+
85
+ context "cookbooks path" do
86
+ should "return a proper path to a single cookbook" do
87
+ expected = File.join(Vagrant.config.chef.provisioning_path, "cookbooks-5")
88
+ assert_equal expected, @action.cookbook_path(5)
89
+ end
90
+
91
+ should "return array-representation of cookbook paths if multiple" do
92
+ @cookbooks = (0..5).inject([]) do |acc, i|
93
+ acc << @action.cookbook_path(i)
94
+ end
95
+
96
+ mock_config do |config|
97
+ config.chef.cookbooks_path = @cookbooks
98
+ end
99
+
100
+ assert_equal @cookbooks.to_json, @action.cookbooks_path
101
+ end
102
+
103
+ should "return a single string representation if cookbook paths is single" do
104
+ @cookbooks = @action.cookbook_path(0)
105
+
106
+ mock_config do |config|
107
+ config.chef.cookbooks_path = @cookbooks
108
+ end
109
+
110
+ assert_equal @cookbooks.to_json, @action.cookbooks_path
111
+ end
112
+ end
113
+
114
+ context "generating and uploading chef solo configuration file" do
115
+ should "upload properly generate the configuration file using configuration data" do
116
+ expected_config = <<-config
117
+ file_cache_path "#{Vagrant.config.chef.provisioning_path}"
118
+ cookbook_path #{@action.cookbooks_path}
119
+ config
120
+
121
+ StringIO.expects(:new).with(expected_config).once
122
+ @action.setup_solo_config
123
+ end
124
+
125
+ should "upload this file as solo.rb to the provisioning folder" do
126
+ @action.expects(:cookbooks_path).returns("cookbooks")
127
+ StringIO.expects(:new).returns("foo")
128
+ File.expects(:join).with(Vagrant.config.chef.provisioning_path, "solo.rb").once.returns("bar")
129
+ Vagrant::SSH.expects(:upload!).with("foo", "bar").once
130
+ @action.setup_solo_config
131
+ end
132
+ end
133
+
134
+ context "running chef solo" do
135
+ should "cd into the provisioning directory and run chef solo" do
136
+ ssh = mock("ssh")
137
+ ssh.expects(:exec!).with("cd #{Vagrant.config.chef.provisioning_path} && sudo chef-solo -c solo.rb -j dna.json").once
138
+ Vagrant::SSH.expects(:execute).yields(ssh)
139
+ @action.run_chef_solo
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,116 @@
1
+ require File.join(File.dirname(__FILE__), '..', '..', 'test_helper')
2
+
3
+ class ChefProvisionerTest < Test::Unit::TestCase
4
+ setup do
5
+ @action = Vagrant::Provisioners::Chef.new
6
+
7
+ Vagrant::SSH.stubs(:execute)
8
+ Vagrant::SSH.stubs(:upload!)
9
+
10
+ mock_config
11
+ end
12
+
13
+ context "preparing" do
14
+ should "raise an ActionException" do
15
+ assert_raises(Vagrant::Actions::ActionException) {
16
+ @action.prepare
17
+ }
18
+ end
19
+ end
20
+
21
+ context "config" do
22
+ setup do
23
+ @config = Vagrant::Provisioners::Chef::ChefConfig.new
24
+ @config.run_list.clear
25
+ end
26
+
27
+ should "not include the 'json' key in the config dump" do
28
+ result = JSON.parse(@config.to_json)
29
+ assert !result.has_key?("json")
30
+ end
31
+
32
+ should "provide accessors to the run list" do
33
+ @config.run_list << "foo"
34
+ assert !@config.run_list.empty?
35
+ assert_equal ["foo"], @config.run_list
36
+ end
37
+
38
+ should "provide a writer for the run list" do
39
+ data = mock("data")
40
+
41
+ assert_nothing_raised {
42
+ @config.run_list = data
43
+ assert_equal data, @config.run_list
44
+ }
45
+ end
46
+
47
+ should "add a recipe to the run list" do
48
+ @config.add_recipe("foo")
49
+ assert_equal "recipe[foo]", @config.run_list[0]
50
+ end
51
+
52
+ should "not wrap the recipe in 'recipe[]' if it was in the name" do
53
+ @config.add_recipe("recipe[foo]")
54
+ assert_equal "recipe[foo]", @config.run_list[0]
55
+ end
56
+
57
+ should "add a role to the run list" do
58
+ @config.add_role("user")
59
+ assert_equal "role[user]", @config.run_list[0]
60
+ end
61
+
62
+ should "not wrap the role in 'role[]' if it was in the name" do
63
+ @config.add_role("role[user]")
64
+ assert_equal "role[user]", @config.run_list[0]
65
+ end
66
+ end
67
+
68
+ context "permissions on provisioning folder" do
69
+ should "create and chown the folder to the ssh user" do
70
+ ssh_seq = sequence("ssh_seq")
71
+ ssh = mock("ssh")
72
+ ssh.expects(:exec!).with("sudo mkdir -p #{Vagrant.config.chef.provisioning_path}").once.in_sequence(ssh_seq)
73
+ ssh.expects(:exec!).with("sudo chown #{Vagrant.config.ssh.username} #{Vagrant.config.chef.provisioning_path}").once.in_sequence(ssh_seq)
74
+ Vagrant::SSH.expects(:execute).yields(ssh)
75
+ @action.chown_provisioning_folder
76
+ end
77
+ end
78
+
79
+ context "generating and uploading json" do
80
+ def assert_json
81
+ Vagrant::SSH.expects(:upload!).with do |json, path|
82
+ data = JSON.parse(json.read)
83
+ yield data
84
+ true
85
+ end
86
+
87
+ @action.setup_json
88
+ end
89
+
90
+ should "merge in the extra json specified in the config" do
91
+ Vagrant.config.chef.json = { :foo => "BAR" }
92
+ assert_json do |data|
93
+ assert_equal "BAR", data["foo"]
94
+ end
95
+ end
96
+
97
+ should "add the directory as a special case to the JSON" do
98
+ assert_json do |data|
99
+ assert_equal Vagrant.config.vm.project_directory, data["vagrant"]["directory"]
100
+ end
101
+ end
102
+
103
+ should "add the config to the JSON" do
104
+ assert_json do |data|
105
+ assert_equal Vagrant.config.vm.project_directory, data["vagrant"]["config"]["vm"]["project_directory"]
106
+ end
107
+ end
108
+
109
+ should "upload a StringIO to dna.json" do
110
+ StringIO.expects(:new).with(anything).returns("bar")
111
+ File.expects(:join).with(Vagrant.config.chef.provisioning_path, "dna.json").once.returns("baz")
112
+ Vagrant::SSH.expects(:upload!).with("bar", "baz").once
113
+ @action.setup_json
114
+ end
115
+ end
116
+ end
@@ -6,21 +6,31 @@ class SshTest < Test::Unit::TestCase
6
6
  end
7
7
 
8
8
  context "connecting to SSH" do
9
- setup do
10
- @script = Vagrant::SSH::SCRIPT
11
- end
12
-
13
9
  test "should call exec with defaults when no options are supplied" do
14
10
  ssh = Vagrant.config.ssh
15
- Kernel.expects(:exec).with("#{@script} #{ssh[:username]} #{ssh[:password]} #{ssh[:host]} #{Vagrant::SSH.port}")
11
+ ssh_exec_expect(Vagrant::SSH.port,
12
+ Vagrant.config.ssh.private_key_path,
13
+ Vagrant.config.ssh.username,
14
+ Vagrant.config.ssh.host)
16
15
  Vagrant::SSH.connect
17
16
  end
18
17
 
19
18
  test "should call exec with supplied params" do
20
- args = {:username => 'bar', :password => 'baz', :host => 'bak', :port => 'bag'}
21
- Kernel.expects(:exec).with("#{@script} #{args[:username]} #{args[:password]} #{args[:host]} #{args[:port]}")
19
+ args = {:username => 'bar', :private_key_path => 'baz', :host => 'bak', :port => 'bag'}
20
+ ssh_exec_expect(args[:port], args[:private_key_path], args[:username], args[:host])
22
21
  Vagrant::SSH.connect(args)
23
22
  end
23
+
24
+ def ssh_exec_expect(port, key_path, uname, host)
25
+ Kernel.expects(:exec).with() do |arg|
26
+ assert arg =~ /^ssh/
27
+ assert arg =~ /-p #{port}/
28
+ assert arg =~ /-i #{key_path}/
29
+ assert arg =~ /#{uname}@#{host}/
30
+ # TODO options not tested for as they may be removed, they may be removed
31
+ true
32
+ end
33
+ end
24
34
  end
25
35
 
26
36
  context "executing ssh commands" do
@@ -29,7 +39,7 @@ class SshTest < Test::Unit::TestCase
29
39
  assert_equal Vagrant.config.ssh.host, host
30
40
  assert_equal Vagrant.config.ssh.username, username
31
41
  assert_equal Vagrant::SSH.port, opts[:port]
32
- assert_equal Vagrant.config.ssh.password, opts[:password]
42
+ assert_equal [Vagrant.config.ssh.private_key_path], opts[:keys]
33
43
  true
34
44
  end
35
45
  Vagrant::SSH.execute
@@ -89,6 +99,17 @@ class SshTest < Test::Unit::TestCase
89
99
  assert !Vagrant::SSH.up?
90
100
  }
91
101
  end
102
+
103
+ should "specifity the timeout as an option to execute" do
104
+ Vagrant::SSH.expects(:execute).with(:timeout => Vagrant.config.ssh.timeout).yields(true)
105
+ assert Vagrant::SSH.up?
106
+ end
107
+
108
+ should "error and exit if a Net::SSH::AuthenticationFailed is raised" do
109
+ Vagrant::SSH.expects(:execute).raises(Net::SSH::AuthenticationFailed)
110
+ Vagrant::SSH.expects(:error_and_exit).once
111
+ Vagrant::SSH.up?
112
+ end
92
113
  end
93
114
 
94
115
  context "getting the ssh port" do
@@ -0,0 +1,43 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'test_helper')
2
+
3
+ class StackedProcRunnerTest < Test::Unit::TestCase
4
+ class TestClass
5
+ include Vagrant::StackedProcRunner
6
+ end
7
+
8
+ setup do
9
+ @instance = TestClass.new
10
+ @instance.proc_stack.clear
11
+ end
12
+
13
+ should "not run the procs right away" do
14
+ obj = mock("obj")
15
+ obj.expects(:foo).never
16
+ @instance.push_proc { |config| obj.foo }
17
+ @instance.push_proc { |config| obj.foo }
18
+ @instance.push_proc { |config| obj.foo }
19
+ end
20
+
21
+ should "run the blocks when run_procs! is ran" do
22
+ obj = mock("obj")
23
+ obj.expects(:foo).times(2)
24
+ @instance.push_proc { obj.foo }
25
+ @instance.push_proc { obj.foo }
26
+ @instance.run_procs!
27
+ end
28
+
29
+ should "run the blocks with the same arguments" do
30
+ passed_config = mock("config")
31
+ @instance.push_proc { |config| assert passed_config.equal?(config) }
32
+ @instance.push_proc { |config| assert passed_config.equal?(config) }
33
+ @instance.run_procs!(passed_config)
34
+ end
35
+
36
+ should "not clear the blocks after running" do
37
+ obj = mock("obj")
38
+ obj.expects(:foo).times(2)
39
+ @instance.push_proc { obj.foo }
40
+ @instance.run_procs!
41
+ @instance.run_procs!
42
+ end
43
+ end
@@ -35,6 +35,29 @@ class VMTest < Test::Unit::TestCase
35
35
  context "vagrant VM instance" do
36
36
  setup do
37
37
  @vm = Vagrant::VM.new(@mock_vm)
38
+ @mock_vm.stubs(:uuid).returns("foo")
39
+ end
40
+
41
+ context "uuid" do
42
+ should "call UUID on VM object" do
43
+ uuid = mock("uuid")
44
+ @mock_vm.expects(:uuid).once.returns(uuid)
45
+ assert_equal uuid, @vm.uuid
46
+ end
47
+
48
+ should "return nil if vm is nil" do
49
+ @vm.expects(:vm).returns(nil)
50
+ assert @vm.uuid.nil?
51
+ end
52
+ end
53
+
54
+ context "reloading" do
55
+ should "load the same VM and set it" do
56
+ new_vm = mock("vm")
57
+ VirtualBox::VM.expects(:find).with(@mock_vm.uuid).returns(new_vm)
58
+ @vm.reload!
59
+ assert_equal new_vm, @vm.vm
60
+ end
38
61
  end
39
62
 
40
63
  context "packaging" do
data/vagrant.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{vagrant}
8
- s.version = "0.1.4"
8
+ s.version = "0.2.0.pre"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mitchell Hashimoto", "John Bender"]
12
- s.date = %q{2010-03-09}
12
+ s.date = %q{2010-03-15}
13
13
  s.description = %q{Vagrant is a tool for building and distributing virtualized development environments.}
14
14
  s.email = ["mitchell.hashimoto@gmail.com", "john.m.bender@gmail.com"]
15
- s.executables = ["vagrant", "vagrant-box", "vagrant-down", "vagrant-halt", "vagrant-init", "vagrant-package", "vagrant-reload", "vagrant-resume", "vagrant-ssh", "vagrant-suspend", "vagrant-up"]
15
+ s.executables = ["vagrant", "vagrant-box", "vagrant-down", "vagrant-halt", "vagrant-init", "vagrant-package", "vagrant-reload", "vagrant-resume", "vagrant-ssh", "vagrant-status", "vagrant-suspend", "vagrant-up"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE",
18
18
  "README.md"
@@ -34,17 +34,23 @@ Gem::Specification.new do |s|
34
34
  "bin/vagrant-reload",
35
35
  "bin/vagrant-resume",
36
36
  "bin/vagrant-ssh",
37
+ "bin/vagrant-status",
37
38
  "bin/vagrant-suspend",
38
39
  "bin/vagrant-up",
39
40
  "config/default.rb",
41
+ "keys/README.md",
42
+ "keys/vagrant",
43
+ "keys/vagrant.pub",
40
44
  "lib/vagrant.rb",
41
45
  "lib/vagrant/actions/base.rb",
42
46
  "lib/vagrant/actions/box/add.rb",
43
47
  "lib/vagrant/actions/box/destroy.rb",
44
48
  "lib/vagrant/actions/box/download.rb",
45
49
  "lib/vagrant/actions/box/unpackage.rb",
50
+ "lib/vagrant/actions/collection.rb",
46
51
  "lib/vagrant/actions/runner.rb",
47
52
  "lib/vagrant/actions/vm/boot.rb",
53
+ "lib/vagrant/actions/vm/customize.rb",
48
54
  "lib/vagrant/actions/vm/destroy.rb",
49
55
  "lib/vagrant/actions/vm/down.rb",
50
56
  "lib/vagrant/actions/vm/export.rb",
@@ -60,6 +66,7 @@ Gem::Specification.new do |s|
60
66
  "lib/vagrant/actions/vm/start.rb",
61
67
  "lib/vagrant/actions/vm/suspend.rb",
62
68
  "lib/vagrant/actions/vm/up.rb",
69
+ "lib/vagrant/active_list.rb",
63
70
  "lib/vagrant/box.rb",
64
71
  "lib/vagrant/busy.rb",
65
72
  "lib/vagrant/commands.rb",
@@ -68,10 +75,14 @@ Gem::Specification.new do |s|
68
75
  "lib/vagrant/downloaders/file.rb",
69
76
  "lib/vagrant/downloaders/http.rb",
70
77
  "lib/vagrant/env.rb",
78
+ "lib/vagrant/provisioners/base.rb",
79
+ "lib/vagrant/provisioners/chef.rb",
80
+ "lib/vagrant/provisioners/chef_server.rb",
81
+ "lib/vagrant/provisioners/chef_solo.rb",
71
82
  "lib/vagrant/ssh.rb",
83
+ "lib/vagrant/stacked_proc_runner.rb",
72
84
  "lib/vagrant/util.rb",
73
85
  "lib/vagrant/vm.rb",
74
- "script/vagrant-ssh-expect.sh",
75
86
  "templates/Vagrantfile",
76
87
  "test/test_helper.rb",
77
88
  "test/vagrant/actions/base_test.rb",
@@ -79,8 +90,10 @@ Gem::Specification.new do |s|
79
90
  "test/vagrant/actions/box/destroy_test.rb",
80
91
  "test/vagrant/actions/box/download_test.rb",
81
92
  "test/vagrant/actions/box/unpackage_test.rb",
93
+ "test/vagrant/actions/collection_test.rb",
82
94
  "test/vagrant/actions/runner_test.rb",
83
95
  "test/vagrant/actions/vm/boot_test.rb",
96
+ "test/vagrant/actions/vm/customize_test.rb",
84
97
  "test/vagrant/actions/vm/destroy_test.rb",
85
98
  "test/vagrant/actions/vm/down_test.rb",
86
99
  "test/vagrant/actions/vm/export_test.rb",
@@ -96,6 +109,7 @@ Gem::Specification.new do |s|
96
109
  "test/vagrant/actions/vm/start_test.rb",
97
110
  "test/vagrant/actions/vm/suspend_test.rb",
98
111
  "test/vagrant/actions/vm/up_test.rb",
112
+ "test/vagrant/active_list_test.rb",
99
113
  "test/vagrant/box_test.rb",
100
114
  "test/vagrant/busy_test.rb",
101
115
  "test/vagrant/commands_test.rb",
@@ -104,7 +118,12 @@ Gem::Specification.new do |s|
104
118
  "test/vagrant/downloaders/file_test.rb",
105
119
  "test/vagrant/downloaders/http_test.rb",
106
120
  "test/vagrant/env_test.rb",
121
+ "test/vagrant/provisioners/base_test.rb",
122
+ "test/vagrant/provisioners/chef_server_test.rb",
123
+ "test/vagrant/provisioners/chef_solo_test.rb",
124
+ "test/vagrant/provisioners/chef_test.rb",
107
125
  "test/vagrant/ssh_test.rb",
126
+ "test/vagrant/stacked_proc_runner_test.rb",
108
127
  "test/vagrant/util_test.rb",
109
128
  "test/vagrant/vm_test.rb",
110
129
  "vagrant.gemspec"
@@ -121,8 +140,10 @@ Gem::Specification.new do |s|
121
140
  "test/vagrant/actions/box/destroy_test.rb",
122
141
  "test/vagrant/actions/box/download_test.rb",
123
142
  "test/vagrant/actions/box/unpackage_test.rb",
143
+ "test/vagrant/actions/collection_test.rb",
124
144
  "test/vagrant/actions/runner_test.rb",
125
145
  "test/vagrant/actions/vm/boot_test.rb",
146
+ "test/vagrant/actions/vm/customize_test.rb",
126
147
  "test/vagrant/actions/vm/destroy_test.rb",
127
148
  "test/vagrant/actions/vm/down_test.rb",
128
149
  "test/vagrant/actions/vm/export_test.rb",
@@ -138,6 +159,7 @@ Gem::Specification.new do |s|
138
159
  "test/vagrant/actions/vm/start_test.rb",
139
160
  "test/vagrant/actions/vm/suspend_test.rb",
140
161
  "test/vagrant/actions/vm/up_test.rb",
162
+ "test/vagrant/active_list_test.rb",
141
163
  "test/vagrant/box_test.rb",
142
164
  "test/vagrant/busy_test.rb",
143
165
  "test/vagrant/commands_test.rb",
@@ -146,7 +168,12 @@ Gem::Specification.new do |s|
146
168
  "test/vagrant/downloaders/file_test.rb",
147
169
  "test/vagrant/downloaders/http_test.rb",
148
170
  "test/vagrant/env_test.rb",
171
+ "test/vagrant/provisioners/base_test.rb",
172
+ "test/vagrant/provisioners/chef_server_test.rb",
173
+ "test/vagrant/provisioners/chef_solo_test.rb",
174
+ "test/vagrant/provisioners/chef_test.rb",
149
175
  "test/vagrant/ssh_test.rb",
176
+ "test/vagrant/stacked_proc_runner_test.rb",
150
177
  "test/vagrant/util_test.rb",
151
178
  "test/vagrant/vm_test.rb"
152
179
  ]
@@ -156,14 +183,14 @@ Gem::Specification.new do |s|
156
183
  s.specification_version = 3
157
184
 
158
185
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
159
- s.add_runtime_dependency(%q<virtualbox>, [">= 0.5.0"])
186
+ s.add_runtime_dependency(%q<virtualbox>, [">= 0.5.2"])
160
187
  s.add_runtime_dependency(%q<net-ssh>, [">= 2.0.19"])
161
188
  s.add_runtime_dependency(%q<net-scp>, [">= 1.0.2"])
162
189
  s.add_runtime_dependency(%q<json>, [">= 1.2.0"])
163
190
  s.add_runtime_dependency(%q<git-style-binaries>, [">= 0.1.10"])
164
191
  s.add_runtime_dependency(%q<archive-tar-minitar>, ["= 0.5.2"])
165
192
  else
166
- s.add_dependency(%q<virtualbox>, [">= 0.5.0"])
193
+ s.add_dependency(%q<virtualbox>, [">= 0.5.2"])
167
194
  s.add_dependency(%q<net-ssh>, [">= 2.0.19"])
168
195
  s.add_dependency(%q<net-scp>, [">= 1.0.2"])
169
196
  s.add_dependency(%q<json>, [">= 1.2.0"])
@@ -171,7 +198,7 @@ Gem::Specification.new do |s|
171
198
  s.add_dependency(%q<archive-tar-minitar>, ["= 0.5.2"])
172
199
  end
173
200
  else
174
- s.add_dependency(%q<virtualbox>, [">= 0.5.0"])
201
+ s.add_dependency(%q<virtualbox>, [">= 0.5.2"])
175
202
  s.add_dependency(%q<net-ssh>, [">= 2.0.19"])
176
203
  s.add_dependency(%q<net-scp>, [">= 1.0.2"])
177
204
  s.add_dependency(%q<json>, [">= 1.2.0"])