vagrant 0.1.4 → 0.2.0.pre

Sign up to get free protection for your applications and to get access to all the features.
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"])