Brian Cain
69b3b44505
Fixes #10393 : Only use Shellwords on non-windows hosts
...
This commit updates how the trigger `run` inline option works by only
applying `Shellwords.split` to the inline command if it is going to be
run on non-Windows hosts. Otherwise pass the inline script directly to
be executed by Powershell.
2018-11-13 13:07:39 -08:00
Brian Cain
f4d618eb58
Fixes #9840 : Introduce ruby option for trigger
...
This commit introduces a new option to the core trigger feature: `ruby`.
It can be defined to run ruby code when the trigger is configured to
fire. If you give the ruby block an env and machine argument, the
defined ruby code can use those variables internally.
2018-10-05 12:53:41 -07:00
Brian Cain
58ebd52f99
Add abort option to core triggers
...
This commit adds a new option `abort`, which when configured, will exit
the Vagrant process completely. If set to `true`, it will exit cleanly
with exit code 0. Otherwise, the exit code can be configured.
2018-09-25 09:40:36 -07:00
Brian Cain
5723c7181a
Add test for trigger run path with spaces
2018-08-17 15:17:49 -07:00
Brian Cain
8bce4f3828
Update tests to include passed in arg values
2018-08-14 13:24:42 -07:00
Brian Cain
29aba535ce
( #10104 ) Ensure trigger run args are an array prior to join
...
Prior to this commit, if the args key was a string rather than an array
of strings, the `join` command would fail when appending the arguments
to the run command for a given script. This commit updates that by
ensuring the `args` option is an array prior to joining the arguments.
2018-08-14 10:29:51 -07:00
Brian Cain
52c3dcc70e
( #9997 ) Catch and allow for non-standard exit codes
...
Prior to this commit, the run trigger option wouldn't catch for failures
outside of the #Subprocess.execute raising exceptions. This commit fixes
that by inspecting the exit code result of the subprocess and using the
new `exit_codes` option to determine how to move forward with the
trigger.
2018-07-09 15:56:26 -07:00
Brian Cain
2000a11042
Add tests for powershell run functions
2018-04-20 10:51:38 -07:00
Brian Cain
e7d07cb110
Add rspec tests for trigger plugin
2018-04-20 10:51:38 -07:00
Brian Cain
6ea7819402
Update rspec tests for trigger plugin
2018-04-20 10:51:38 -07:00
Brian Cain
fbad4c749d
Add basic spec test for trigger class
2018-04-20 10:51:38 -07:00
Brian Cain
8b1043c199
Remove stub methods and replace with allows for rpsec 3
2017-08-04 15:02:59 -07:00
Chris Roberts
1a62743bc5
Update rspec to recent version and fix deprecations
2017-08-03 17:54:07 -07:00
Mitchell Hashimoto
85f1e05e2a
core: prune machine if non-existent CWD from index [GH-4742]
2015-11-18 15:48:59 -08:00
Mitchell Hashimoto
69d9bc0fe8
Environment can_install_provider and install_provider
2015-11-05 11:50:10 -08:00
Mitchell Hashimoto
e759df11a0
core: fix crash for missing options [GH-5550]
2015-07-06 10:36:41 -06:00
Seth Vargo
f3c35855f0
Add a newline because #ocd
2014-12-08 11:35:11 -08:00
Seth Vargo
7f6a4fa3bd
Add tests for plugin manager push_configs
2014-12-08 11:35:11 -08:00
Seth Vargo
60a8472891
Use a pushes registry instead of data hash
2014-12-08 11:35:09 -08:00
Matt Wrock
dc628cd722
fixes infinite loop in machine state call if provider calls machine.action
2014-11-06 08:51:47 -08:00
Kalman Hazins
bb052366f7
Change symbols inside hashes to 1.9 JSON-like syntax
2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
c5b3dbbf75
core: fix final test
2014-05-01 10:12:36 -07:00
Mitchell Hashimoto
429bd73495
core: provider has default priority of 5
2014-05-01 09:26:36 -07:00
Mitchell Hashimoto
e78d087c27
Tests passing
2014-04-21 13:54:59 -07:00
Mitchell Hashimoto
bc2e3727a9
core: Add usable? check to providers
2014-04-21 13:53:07 -07:00
Mitchell Hashimoto
a0e9f46251
core: commands can use the IDs from anywhere to control
2014-04-21 13:51:24 -07:00
Fabio Rehm
54656151cf
Convert specs to RSpec 2.14.8 syntax with Transpec
...
This conversion is done by Transpec 1.10.2 with the following command:
transpec test/unit/
* 507 conversions
from: obj.should
to: expect(obj).to
* 394 conversions
from: == expected
to: eq(expected)
* 260 conversions
from: obj.should_receive(:message)
to: expect(obj).to receive(:message)
* 85 conversions
from: obj.stub(:message)
to: allow(obj).to receive(:message)
* 25 conversions
from: its(:attr) { }
to: describe '#attr' do subject { super().attr }; it { } end
* 19 conversions
from: obj.should_not
to: expect(obj).not_to
* 7 conversions
from: obj.should_not_receive(:message)
to: expect(obj).not_to receive(:message)
* 3 conversions
from: Klass.any_instance.should_receive(:message)
to: expect_any_instance_of(Klass).to receive(:message)
2014-03-14 12:02:07 -03:00
Mitchell Hashimoto
d40dc919d8
core: plugin tests no longer obliterate manager
2014-02-06 20:50:51 -08:00
Mitchell Hashimoto
f72db0c611
core: config raises NoMethodError on bad calls once finalized
2014-02-05 16:14:58 -08:00
Mitchell Hashimoto
a924a7b48c
core: provider capabilities
2014-01-26 14:15:06 -08:00
Mitchell Hashimoto
f713e43b00
Fix tests for new UI methods
2014-01-17 21:03:02 -08:00
Mitchell Hashimoto
08b1aee00d
core: default commands to primary
2014-01-11 09:15:14 -08:00
Mitchell Hashimoto
4a99cdccdf
core: allow command plugins to have options
2014-01-11 08:38:27 -08:00
Mitchell Hashimoto
010874ffad
core: has_plugin? uses the new plugin manager class to check for gems
2014-01-08 10:50:28 -08:00
Mitchell Hashimoto
5922241fcb
core: Modify plugin interfaces and API for hosts
2014-01-07 18:38:49 -08:00
Teemu Matilainen
e5032071f6
core: Vagrant.has_plugin? tries to match gem name first
...
Search primary from the list of gem names which have been loaded by
`Vagrant.require_plugin`. Fall back to matching registered plugin names.
2013-12-20 17:36:10 -03:00
Mitchell Hashimoto
93a4066339
core: SyncedFolders built-in middleware
2013-11-22 16:12:51 -08:00
Mitchell Hashimoto
ee0086ddee
core: Add synced_folder plugin type
2013-11-21 15:56:37 -08:00
Mitchell Hashimoto
819ef46fca
Tests for registering guest capabilities
2013-04-03 22:43:35 -07:00
Mitchell Hashimoto
c5c15fdaa6
Machine#guest returns the proper guest detected
2013-04-03 22:40:30 -07:00
Mitchell Hashimoto
2e50a238fc
Provider plugins can provide arbitrary options
2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
be01d57034
action_hooks can hook into specific actions
2013-02-22 12:12:55 -08:00
Mitchell Hashimoto
aa7193471f
Plugins can define action hooks via action_hook
2013-02-06 15:27:14 -08:00
Mitchell Hashimoto
8f24d2d98c
Remove the "easy" plugins until a future version
2013-02-06 13:46:34 -08:00
Mitchell Hashimoto
25fcb59e38
Use registries for the V2 plugin manager
2013-01-13 13:05:31 -08:00
Mitchell Hashimoto
f3b340aae0
Use registry merging for provider configs
2013-01-13 13:00:06 -08:00
Mitchell Hashimoto
e66c5066e4
Plugin configuration can have scopes now, ex. provider
2013-01-13 12:38:17 -08:00
Mitchell Hashimoto
cf2c5a10c1
One more final fix for 1.8.7
2012-12-30 18:16:51 -10:00
Mitchell Hashimoto
037dbf24db
Fix some failing tests for 1.8.7.
2012-12-30 18:13:27 -10:00
Mitchell Hashimoto
4c46091746
Environment#primary_machine_name and use it for with_target_vms
...
This makes the single-provider and default provider semantics work with
primary VMs.
2012-12-30 11:12:56 -10:00