vagrantup 0.6.5 → 0.6.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +1 -1
- data/lib/vagrant/action.rb +8 -4
- data/lib/vagrant/action/builtin.rb +29 -53
- data/lib/vagrant/action/general/validate.rb +19 -0
- data/lib/vagrant/action/vm/forward_ports.rb +1 -1
- data/lib/vagrant/action/vm/forward_ports_helpers.rb +1 -1
- data/lib/vagrant/box.rb +3 -3
- data/lib/vagrant/command/ssh_config.rb +2 -2
- data/lib/vagrant/command/status.rb +4 -5
- data/lib/vagrant/config.rb +3 -7
- data/lib/vagrant/environment.rb +2 -3
- data/lib/vagrant/version.rb +1 -1
- data/lib/vagrant/vm.rb +1 -1
- data/test/vagrant/action/general/validate_test.rb +31 -0
- data/test/vagrant/action/vm/forward_ports_helpers_test.rb +1 -1
- data/test/vagrant/action/vm/forward_ports_test.rb +2 -2
- data/test/vagrant/box_test.rb +4 -4
- data/test/vagrant/config_test.rb +1 -34
- data/test/vagrant/environment_test.rb +5 -1
- data/test/vagrant/vm_test.rb +6 -1
- data/vagrant.gemspec +0 -1
- metadata +3 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd26596b445951778d89c3df2a9717fef063cdb4
|
4
|
+
data.tar.gz: 69c01579f88b14201c8b394527e3ab39697dc6c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bea481a61138290f846ac8bbbe49dc2606db3ae0f98b7664da5ab98fda01bf4c8e43026e9762f616f9eed09883ef3bd5a7c5b0beaf8cec141b88030f7417353
|
7
|
+
data.tar.gz: 04418842db9cc9fcd62f96fc53271862515ef035b59ad78caf6fb2476aef7340f6b6629427d7b92c7cd0e5c894415299fb5bb2ab06cddea3d82599947d41b29d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 0.6.6 (October 14, 2010)
|
2
|
+
|
3
|
+
- `vagrant status NAME` works once again. [GH-191]
|
4
|
+
- Conditional validation of Vagrantfile so that some commands don't validate. [GH-188]
|
5
|
+
- Fix "junk" output for ssh-config. [GH-189]
|
6
|
+
- Fix port collision handling with greater than two VMs. [GH-185]
|
7
|
+
- Fix potential infinite loop with root path if bad CWD is given to environment.
|
8
|
+
|
1
9
|
## 0.6.5 (October 8, 2010)
|
2
10
|
|
3
11
|
- Validations on base MAC address to avoid situation described in GH-166, GH-181
|
data/Gemfile.lock
CHANGED
data/lib/vagrant/action.rb
CHANGED
@@ -90,14 +90,18 @@ module Vagrant
|
|
90
90
|
# Any options given are injected into the environment hash.
|
91
91
|
#
|
92
92
|
# @param [Object] callable An object which responds to `call`.
|
93
|
-
def run(
|
94
|
-
callable =
|
95
|
-
callable =
|
96
|
-
|
93
|
+
def run(callable_id, options=nil)
|
94
|
+
callable = callable_id
|
95
|
+
callable = Builder.new.use(callable_id) if callable_id.kind_of?(Class)
|
96
|
+
callable = self.class.actions[callable_id] if callable_id.kind_of?(Symbol)
|
97
|
+
raise ArgumentError.new("Argument to run must be a callable object or registered action.") if !callable || !callable.respond_to?(:call)
|
97
98
|
|
98
99
|
action_environment = Action::Environment.new(env)
|
99
100
|
action_environment.merge!(options || {})
|
100
101
|
|
102
|
+
# Run the before action run callback, if we're not doing that already
|
103
|
+
run(:before_action_run, action_environment) if callable_id != :before_action_run
|
104
|
+
|
101
105
|
# Run the action chain in a busy block, marking the environment as
|
102
106
|
# interrupted if a SIGINT occurs, and exiting cleanly once the
|
103
107
|
# chain has been run.
|
@@ -6,15 +6,13 @@ module Vagrant
|
|
6
6
|
# in the future this will no longer be necessary with autoloading.
|
7
7
|
def self.builtin!
|
8
8
|
# provision - Provisions a running VM
|
9
|
-
provision
|
9
|
+
register(:provision, Builder.new do
|
10
10
|
use VM::Provision
|
11
|
-
end
|
12
|
-
|
13
|
-
register :provision, provision
|
11
|
+
end)
|
14
12
|
|
15
13
|
# start - Starts a VM, assuming it already exists on the
|
16
14
|
# environment.
|
17
|
-
start
|
15
|
+
register(:start, Builder.new do
|
18
16
|
use VM::CleanMachineFolder
|
19
17
|
use VM::Customize
|
20
18
|
use VM::ClearForwardedPorts
|
@@ -25,104 +23,82 @@ module Vagrant
|
|
25
23
|
use VM::ShareFolders
|
26
24
|
use VM::Network
|
27
25
|
use VM::Boot
|
28
|
-
end
|
29
|
-
|
30
|
-
register :start, start
|
26
|
+
end)
|
31
27
|
|
32
28
|
# halt - Halts the VM, attempting gracefully but then forcing
|
33
29
|
# a restart if fails.
|
34
|
-
halt
|
30
|
+
register(:halt, Builder.new do
|
35
31
|
use VM::DiscardState
|
36
32
|
use VM::Halt
|
37
33
|
use VM::DisableNetworks
|
38
|
-
end
|
39
|
-
|
40
|
-
register :halt, halt
|
34
|
+
end)
|
41
35
|
|
42
36
|
# suspend - Suspends the VM
|
43
|
-
suspend
|
37
|
+
register(:suspend, Builder.new do
|
44
38
|
use VM::Suspend
|
45
|
-
end
|
46
|
-
|
47
|
-
register :suspend, suspend
|
39
|
+
end)
|
48
40
|
|
49
41
|
# resume - Resume a VM
|
50
|
-
resume
|
42
|
+
register(:resume, Builder.new do
|
51
43
|
use VM::Resume
|
52
|
-
end
|
53
|
-
|
54
|
-
register :resume, resume
|
44
|
+
end)
|
55
45
|
|
56
46
|
# reload - Halts then restarts the VM
|
57
|
-
reload
|
47
|
+
register(:reload, Builder.new do
|
58
48
|
use Action[:halt]
|
59
49
|
use Action[:start]
|
60
|
-
end
|
61
|
-
|
62
|
-
register :reload, reload
|
50
|
+
end)
|
63
51
|
|
64
52
|
# up - Imports, prepares, then starts a fresh VM.
|
65
|
-
up
|
53
|
+
register(:up, Builder.new do
|
66
54
|
use VM::CheckBox
|
67
55
|
use VM::Import
|
68
56
|
use VM::MatchMACAddress
|
69
57
|
use VM::CheckGuestAdditions
|
70
58
|
use Action[:start]
|
71
|
-
end
|
72
|
-
|
73
|
-
register :up, up
|
59
|
+
end)
|
74
60
|
|
75
61
|
# destroy - Halts, cleans up, and destroys an existing VM
|
76
|
-
destroy
|
62
|
+
register(:destroy, Builder.new do
|
77
63
|
use Action[:halt], :force => true
|
78
64
|
use VM::ClearNFSExports
|
79
65
|
use VM::DestroyUnusedNetworkInterfaces
|
80
66
|
use VM::Destroy
|
81
67
|
use VM::CleanMachineFolder
|
82
|
-
end
|
83
|
-
|
84
|
-
register :destroy, destroy
|
68
|
+
end)
|
85
69
|
|
86
70
|
# package - Export and package the VM
|
87
|
-
package
|
71
|
+
register(:package, Builder.new do
|
88
72
|
use Action[:halt]
|
89
73
|
use VM::ClearForwardedPorts
|
90
74
|
use VM::ClearSharedFolders
|
91
75
|
use VM::Export
|
92
76
|
use VM::PackageVagrantfile
|
93
77
|
use VM::Package
|
94
|
-
end
|
95
|
-
|
96
|
-
register :package, package
|
78
|
+
end)
|
97
79
|
|
98
80
|
# box_add - Download and add a box.
|
99
|
-
box_add
|
81
|
+
register(:box_add, Builder.new do
|
100
82
|
use Box::Download
|
101
83
|
use Box::Unpackage
|
102
84
|
use Box::Verify
|
103
|
-
end
|
104
|
-
|
105
|
-
register :box_add, box_add
|
85
|
+
end)
|
106
86
|
|
107
87
|
# box_remove - Removes/deletes a box.
|
108
|
-
box_remove
|
88
|
+
register(:box_remove, Builder.new do
|
109
89
|
use Box::Destroy
|
110
|
-
end
|
111
|
-
|
112
|
-
register :box_remove, box_remove
|
90
|
+
end)
|
113
91
|
|
114
92
|
# box_repackage - Repackages a box.
|
115
|
-
box_repackage
|
93
|
+
register(:box_repackage, Builder.new do
|
116
94
|
use Box::Package
|
117
|
-
end
|
118
|
-
|
119
|
-
register :box_repackage, box_repackage
|
120
|
-
|
121
|
-
# post_load - Called after environment is loaded
|
122
|
-
environment_load = Builder.new do
|
123
|
-
end
|
95
|
+
end)
|
124
96
|
|
125
|
-
|
97
|
+
# Other callbacks. There will be more of these in the future. For
|
98
|
+
# now, these are limited to what are needed internally.
|
99
|
+
register(:before_action_run, Builder.new do
|
100
|
+
use General::Validate
|
101
|
+
end)
|
126
102
|
end
|
127
103
|
end
|
128
104
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Vagrant
|
2
|
+
class Action
|
3
|
+
module General
|
4
|
+
# Simply validates the configuration of the current Vagrant
|
5
|
+
# environment.
|
6
|
+
class Validate
|
7
|
+
def initialize(app, env)
|
8
|
+
@app = app
|
9
|
+
@env = env
|
10
|
+
end
|
11
|
+
|
12
|
+
def call(env)
|
13
|
+
@env["config"].validate! if !@env.has_key?("validate") || @env["validate"]
|
14
|
+
@app.call(@env)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -34,7 +34,7 @@ module Vagrant
|
|
34
34
|
def external_collision_check
|
35
35
|
existing = used_ports
|
36
36
|
@env.env.config.vm.forwarded_ports.each do |name, options|
|
37
|
-
if existing.include?(options[:hostport].
|
37
|
+
if existing.include?(options[:hostport].to_i)
|
38
38
|
handle_collision(name, options, existing)
|
39
39
|
end
|
40
40
|
end
|
data/lib/vagrant/box.rb
CHANGED
@@ -58,17 +58,17 @@ module Vagrant
|
|
58
58
|
# is kicked out to the `box_add` registered middleware.
|
59
59
|
def add
|
60
60
|
raise Errors::BoxAlreadyExists.new(:name => name) if File.directory?(directory)
|
61
|
-
env.actions.run(:box_add, { "box" => self })
|
61
|
+
env.actions.run(:box_add, { "box" => self, "validate" => false })
|
62
62
|
end
|
63
63
|
|
64
64
|
# Begins the process of destroying this box. This cannot be undone!
|
65
65
|
def destroy
|
66
|
-
env.actions.run(:box_remove, { "box" => self })
|
66
|
+
env.actions.run(:box_remove, { "box" => self, "validate" => false })
|
67
67
|
end
|
68
68
|
|
69
69
|
# Begins sequence to repackage this box.
|
70
70
|
def repackage(options=nil)
|
71
|
-
env.actions.run(:box_repackage, { "box" => self }.merge(options || {}))
|
71
|
+
env.actions.run(:box_repackage, { "box" => self, "validate" => false }.merge(options || {}))
|
72
72
|
end
|
73
73
|
|
74
74
|
# Returns the directory to the location of this boxes content in the local
|
@@ -9,12 +9,12 @@ module Vagrant
|
|
9
9
|
vm = target_vms.first
|
10
10
|
raise Errors::VMNotCreatedError.new if !vm.created?
|
11
11
|
|
12
|
-
|
12
|
+
$stdout.puts(Util::TemplateRenderer.render("ssh_config", {
|
13
13
|
:host_key => options[:host] || "vagrant",
|
14
14
|
:ssh_user => vm.env.config.ssh.username,
|
15
15
|
:ssh_port => vm.ssh.port,
|
16
16
|
:private_key_path => vm.env.config.ssh.private_key_path
|
17
|
-
})
|
17
|
+
}))
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -1,17 +1,16 @@
|
|
1
1
|
module Vagrant
|
2
2
|
module Command
|
3
|
-
class StatusCommand <
|
4
|
-
argument :name, :type => :string, :optional => true
|
3
|
+
class StatusCommand < NamedBase
|
5
4
|
register "status", "Shows the status of the current Vagrant environment."
|
6
5
|
|
7
6
|
def route
|
8
7
|
state = nil
|
9
|
-
results =
|
8
|
+
results = target_vms.collect do |vm|
|
10
9
|
state ||= vm.created? ? vm.vm.state.to_s : "not_created"
|
11
|
-
"#{name.to_s.ljust(25)}#{state.gsub("_", " ")}"
|
10
|
+
"#{vm.name.to_s.ljust(25)}#{state.gsub("_", " ")}"
|
12
11
|
end
|
13
12
|
|
14
|
-
state =
|
13
|
+
state = target_vms.length == 1 ? state : "listing"
|
15
14
|
|
16
15
|
env.ui.info(I18n.t("vagrant.commands.status.output",
|
17
16
|
:states => results.join("\n"),
|
data/lib/vagrant/config.rb
CHANGED
@@ -68,13 +68,9 @@ module Vagrant
|
|
68
68
|
# and returns the final configured object. This also validates the
|
69
69
|
# configuration by calling {Top#validate!} on every configuration
|
70
70
|
# class.
|
71
|
-
def execute!
|
71
|
+
def execute!
|
72
72
|
config_object ||= config
|
73
73
|
run_procs!(config_object)
|
74
|
-
|
75
|
-
# Validate if we're looking at a config object which represents a
|
76
|
-
# real VM.
|
77
|
-
config_object.validate! if validate && config_object.env.vm
|
78
74
|
config_object
|
79
75
|
end
|
80
76
|
end
|
@@ -90,7 +86,7 @@ module Vagrant
|
|
90
86
|
|
91
87
|
# Loads the queue of files/procs, executes them in the proper
|
92
88
|
# sequence, and returns the resulting configuration object.
|
93
|
-
def load!
|
89
|
+
def load!
|
94
90
|
self.class.reset!(@env)
|
95
91
|
|
96
92
|
queue.flatten.each do |item|
|
@@ -106,7 +102,7 @@ module Vagrant
|
|
106
102
|
end
|
107
103
|
end
|
108
104
|
|
109
|
-
return self.class.execute!
|
105
|
+
return self.class.execute!
|
110
106
|
end
|
111
107
|
end
|
112
108
|
|
data/lib/vagrant/environment.rb
CHANGED
@@ -243,7 +243,7 @@ module Vagrant
|
|
243
243
|
|
244
244
|
root_finder = lambda do |path|
|
245
245
|
return path if File.exist?(File.join(path.to_s, ROOTFILE_NAME))
|
246
|
-
return nil if path.root?
|
246
|
+
return nil if path.root? || !File.exist?(path)
|
247
247
|
root_finder.call(path.parent)
|
248
248
|
end
|
249
249
|
|
@@ -284,7 +284,6 @@ module Vagrant
|
|
284
284
|
@loaded = true
|
285
285
|
self.class.check_virtualbox!
|
286
286
|
load_config!
|
287
|
-
actions.run(:environment_load)
|
288
287
|
end
|
289
288
|
|
290
289
|
self
|
@@ -313,7 +312,7 @@ module Vagrant
|
|
313
312
|
|
314
313
|
# Execute the configuration stack and store the result as the final
|
315
314
|
# value in the config ivar.
|
316
|
-
@config = loader.load!
|
315
|
+
@config = loader.load!
|
317
316
|
|
318
317
|
# (re)load the logger
|
319
318
|
@logger = nil
|
data/lib/vagrant/version.rb
CHANGED
data/lib/vagrant/vm.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class ValidateGeneralActionTest < Test::Unit::TestCase
|
4
|
+
setup do
|
5
|
+
@klass = Vagrant::Action::General::Validate
|
6
|
+
@app, @env = action_env
|
7
|
+
end
|
8
|
+
|
9
|
+
should "initialize fine" do
|
10
|
+
@klass.new(@app, @env)
|
11
|
+
end
|
12
|
+
|
13
|
+
should "validate and call up" do
|
14
|
+
@instance = @klass.new(@app, @env)
|
15
|
+
|
16
|
+
seq = sequence("seq")
|
17
|
+
@env["config"].expects(:validate!).once.in_sequence(seq)
|
18
|
+
@app.expects(:call).with(@env).once.in_sequence(seq)
|
19
|
+
@instance.call(@env)
|
20
|
+
end
|
21
|
+
|
22
|
+
should "not validate if env says not to" do
|
23
|
+
@env["validate"] = false
|
24
|
+
@instance = @klass.new(@app, @env)
|
25
|
+
|
26
|
+
seq = sequence("seq")
|
27
|
+
@env["config"].expects(:validate!).never
|
28
|
+
@app.expects(:call).with(@env).once.in_sequence(seq)
|
29
|
+
@instance.call(@env)
|
30
|
+
end
|
31
|
+
end
|
@@ -64,7 +64,7 @@ class ForwardPortsHelpersVMActionTest < Test::Unit::TestCase
|
|
64
64
|
na.stubs(:nat_driver).returns(ne)
|
65
65
|
ne.stubs(:forwarded_ports).returns(fps)
|
66
66
|
@vms << mock_vm(:network_adapters => [na])
|
67
|
-
assert_equal
|
67
|
+
assert_equal [2222, 80], @instance.used_ports
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
@@ -53,12 +53,12 @@ class ForwardPortsVMActionTest < Test::Unit::TestCase
|
|
53
53
|
end
|
54
54
|
|
55
55
|
should "not raise any errors if no forwarded ports collide" do
|
56
|
-
@used_ports <<
|
56
|
+
@used_ports << 80
|
57
57
|
assert_nothing_raised { @klass.new(@app, @env) }
|
58
58
|
end
|
59
59
|
|
60
60
|
should "handle collision if it happens" do
|
61
|
-
@used_ports <<
|
61
|
+
@used_ports << 2222
|
62
62
|
@klass.any_instance.expects(:handle_collision).with("ssh", anything, anything).once
|
63
63
|
assert_nothing_raised { @klass.new(@app, @env) }
|
64
64
|
end
|
data/test/vagrant/box_test.rb
CHANGED
@@ -36,7 +36,7 @@ class BoxTest < Test::Unit::TestCase
|
|
36
36
|
end
|
37
37
|
|
38
38
|
should "execute the Add action when add is called" do
|
39
|
-
@box.env.actions.expects(:run).with(:box_add, { "box" => @box })
|
39
|
+
@box.env.actions.expects(:run).with(:box_add, { "box" => @box, "validate" => false })
|
40
40
|
@box.add
|
41
41
|
end
|
42
42
|
|
@@ -48,19 +48,19 @@ class BoxTest < Test::Unit::TestCase
|
|
48
48
|
|
49
49
|
context "destroying" do
|
50
50
|
should "execute the destroy action" do
|
51
|
-
@box.env.actions.expects(:run).with(:box_remove, { "box" => @box })
|
51
|
+
@box.env.actions.expects(:run).with(:box_remove, { "box" => @box, "validate" => false })
|
52
52
|
@box.destroy
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
56
|
context "repackaging" do
|
57
57
|
should "execute the repackage action" do
|
58
|
-
@box.env.actions.expects(:run).with(:box_repackage, { "box" => @box })
|
58
|
+
@box.env.actions.expects(:run).with(:box_repackage, { "box" => @box, "validate" => false })
|
59
59
|
@box.repackage
|
60
60
|
end
|
61
61
|
|
62
62
|
should "forward given options into the action" do
|
63
|
-
@box.env.actions.expects(:run).with(:box_repackage, { "box" => @box, "foo" => "bar" })
|
63
|
+
@box.env.actions.expects(:run).with(:box_repackage, { "box" => @box, "foo" => "bar", "validate" => false })
|
64
64
|
@box.repackage("foo" => "bar")
|
65
65
|
end
|
66
66
|
end
|
data/test/vagrant/config_test.rb
CHANGED
@@ -9,8 +9,6 @@ class ConfigTest < Test::Unit::TestCase
|
|
9
9
|
setup do
|
10
10
|
@env = vagrant_env
|
11
11
|
@instance = @klass.new(@env)
|
12
|
-
|
13
|
-
@klass::Top.any_instance.stubs(:validate!)
|
14
12
|
end
|
15
13
|
|
16
14
|
should "initially have an empty queue" do
|
@@ -20,17 +18,10 @@ class ConfigTest < Test::Unit::TestCase
|
|
20
18
|
should "reset the config class on load, then execute" do
|
21
19
|
seq = sequence("sequence")
|
22
20
|
@klass.expects(:reset!).with(@env).in_sequence(seq)
|
23
|
-
@klass.expects(:execute!).
|
21
|
+
@klass.expects(:execute!).in_sequence(seq)
|
24
22
|
@instance.load!
|
25
23
|
end
|
26
24
|
|
27
|
-
should "not validate if told not to" do
|
28
|
-
seq = sequence("sequence")
|
29
|
-
@klass.expects(:reset!).with(@env).in_sequence(seq)
|
30
|
-
@klass.expects(:execute!).with(false).in_sequence(seq)
|
31
|
-
@instance.load!(false)
|
32
|
-
end
|
33
|
-
|
34
25
|
should "run the queue in the order given" do
|
35
26
|
@instance.queue << Proc.new { |config| config.vm.box = "foo" }
|
36
27
|
@instance.queue << Proc.new { |config| config.vm.box = "bar" }
|
@@ -113,7 +104,6 @@ class ConfigTest < Test::Unit::TestCase
|
|
113
104
|
context "initializing" do
|
114
105
|
setup do
|
115
106
|
@klass.reset!(vagrant_env)
|
116
|
-
@klass::Top.any_instance.stubs(:validate!)
|
117
107
|
end
|
118
108
|
|
119
109
|
should "add the given block to the proc stack" do
|
@@ -122,29 +112,6 @@ class ConfigTest < Test::Unit::TestCase
|
|
122
112
|
assert_equal [proc], @klass.proc_stack
|
123
113
|
end
|
124
114
|
|
125
|
-
should "run the validation on an environment which represents a VM" do
|
126
|
-
@klass.reset!(vagrant_env.vms[:default].env)
|
127
|
-
seq = sequence('seq')
|
128
|
-
@klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
|
129
|
-
@klass.config.expects(:validate!).once.in_sequence(seq)
|
130
|
-
@klass.execute!
|
131
|
-
end
|
132
|
-
|
133
|
-
should "not run the validation on an environment that doesn't directly represent a VM" do
|
134
|
-
seq = sequence('seq')
|
135
|
-
@klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
|
136
|
-
@klass.expects(:validate!).never
|
137
|
-
@klass.execute!
|
138
|
-
end
|
139
|
-
|
140
|
-
should "not run the validation if explicitly told not to" do
|
141
|
-
@klass.reset!(vagrant_env.vms[:default].env)
|
142
|
-
seq = sequence('seq')
|
143
|
-
@klass.expects(:run_procs!).with(@klass.config).once.in_sequence(seq)
|
144
|
-
@klass.config.expects(:validate!).never
|
145
|
-
@klass.execute!(false)
|
146
|
-
end
|
147
|
-
|
148
115
|
should "return the configuration on execute!" do
|
149
116
|
@klass.run {}
|
150
117
|
result = @klass.execute!
|
@@ -242,6 +242,7 @@ class EnvironmentTest < Test::Unit::TestCase
|
|
242
242
|
search_seq = sequence("search_seq")
|
243
243
|
paths.each do |path|
|
244
244
|
File.expects(:exist?).with(path.join(@klass::ROOTFILE_NAME).to_s).returns(false).in_sequence(search_seq)
|
245
|
+
File.expects(:exist?).with(path).returns(true).in_sequence(search_seq) if !path.root?
|
245
246
|
end
|
246
247
|
|
247
248
|
assert !@klass.new(:cwd => paths.first).root_path
|
@@ -254,6 +255,10 @@ class EnvironmentTest < Test::Unit::TestCase
|
|
254
255
|
assert_equal path, @klass.new(:cwd => path).root_path
|
255
256
|
end
|
256
257
|
|
258
|
+
should "not infinite loop on relative paths" do
|
259
|
+
assert @klass.new(:cwd => "../test").root_path.nil?
|
260
|
+
end
|
261
|
+
|
257
262
|
should "only load the root path once" do
|
258
263
|
env = @klass.new
|
259
264
|
File.expects(:exist?).with(env.cwd.join(@klass::ROOTFILE_NAME).to_s).returns(true).once
|
@@ -353,7 +358,6 @@ class EnvironmentTest < Test::Unit::TestCase
|
|
353
358
|
call_seq = sequence("call_sequence")
|
354
359
|
@klass.expects(:check_virtualbox!).once.in_sequence(call_seq)
|
355
360
|
env.expects(:load_config!).once.in_sequence(call_seq)
|
356
|
-
env.actions.expects(:run).with(:environment_load).once.in_sequence(call_seq)
|
357
361
|
assert_equal env, env.load!
|
358
362
|
end
|
359
363
|
end
|
data/test/vagrant/vm_test.rb
CHANGED
@@ -165,7 +165,12 @@ class VMTest < Test::Unit::TestCase
|
|
165
165
|
|
166
166
|
context "packaging" do
|
167
167
|
should "execute the package action" do
|
168
|
-
@vm.env.actions.expects(:run).with(
|
168
|
+
@vm.env.actions.expects(:run).once.with() do |action, options|
|
169
|
+
assert_equal :package, action
|
170
|
+
assert_equal :bar, options[:foo]
|
171
|
+
true
|
172
|
+
end
|
173
|
+
|
169
174
|
@vm.package(:foo => :bar)
|
170
175
|
end
|
171
176
|
end
|
data/vagrant.gemspec
CHANGED
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_development_dependency "contest", ">= 0.1.2"
|
28
28
|
s.add_development_dependency "mocha"
|
29
29
|
s.add_development_dependency "ruby-debug"
|
30
|
-
s.add_development_dependency "bundler", ">= 1.0.0.rc.6"
|
31
30
|
|
32
31
|
s.files = `git ls-files`.split("\n")
|
33
32
|
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrantup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mitchell Hashimoto
|
@@ -193,20 +193,6 @@ dependencies:
|
|
193
193
|
- - '>='
|
194
194
|
- !ruby/object:Gem::Version
|
195
195
|
version: '0'
|
196
|
-
- !ruby/object:Gem::Dependency
|
197
|
-
name: bundler
|
198
|
-
requirement: !ruby/object:Gem::Requirement
|
199
|
-
requirements:
|
200
|
-
- - '>='
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
version: 1.0.0.rc.6
|
203
|
-
type: :development
|
204
|
-
prerelease: false
|
205
|
-
version_requirements: !ruby/object:Gem::Requirement
|
206
|
-
requirements:
|
207
|
-
- - '>='
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: 1.0.0.rc.6
|
210
196
|
description: Vagrant is a tool for building and distributing virtualized development
|
211
197
|
environments.
|
212
198
|
email:
|
@@ -243,6 +229,7 @@ files:
|
|
243
229
|
- lib/vagrant/action/env/set.rb
|
244
230
|
- lib/vagrant/action/environment.rb
|
245
231
|
- lib/vagrant/action/general/package.rb
|
232
|
+
- lib/vagrant/action/general/validate.rb
|
246
233
|
- lib/vagrant/action/vm/boot.rb
|
247
234
|
- lib/vagrant/action/vm/check_box.rb
|
248
235
|
- lib/vagrant/action/vm/check_guest_additions.rb
|
@@ -354,6 +341,7 @@ files:
|
|
354
341
|
- test/vagrant/action/env/set_test.rb
|
355
342
|
- test/vagrant/action/environment_test.rb
|
356
343
|
- test/vagrant/action/general/package_test.rb
|
344
|
+
- test/vagrant/action/general/validate_test.rb
|
357
345
|
- test/vagrant/action/vm/boot_test.rb
|
358
346
|
- test/vagrant/action/vm/check_box_test.rb
|
359
347
|
- test/vagrant/action/vm/check_guest_additions_test.rb
|