mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-20 20:09:07 +00:00
starts up vagrant if not already running
This commit is contained in:
parent
abbbd1f8eb
commit
004c0d06eb
@ -192,6 +192,7 @@ using the matched rule and runs it. Rules enabled by default are as follows:
|
||||
* `tsuru_not_command` – fixes wrong `tsuru` commands like `tsuru shell`;
|
||||
* `tmux` – fixes `tmux` commands;
|
||||
* `unknown_command` – fixes hadoop hdfs-style "unknown command" for example adds missing '-' to the command on `hdfs dfs ls`;
|
||||
* `vagrant_up` – starts up the vagrant instance;
|
||||
* `whois` – fixes `whois` command.
|
||||
|
||||
Enabled by default only on specific platforms:
|
||||
|
25
tests/rules/test_vagrant_up.py
Normal file
25
tests/rules/test_vagrant_up.py
Normal file
@ -0,0 +1,25 @@
|
||||
import pytest
|
||||
from thefuck.rules.vagrant_up import match, get_new_command
|
||||
from tests.utils import Command
|
||||
|
||||
@pytest.mark.parametrize('command', [
|
||||
Command(script='vagrant ssh', stderr='VM must be running to open SSH connection. Run `vagrant up`\nto start the virtual machine.'),
|
||||
Command(script='vagrant ssh devbox', stderr='VM must be running to open SSH connection. Run `vagrant up`\nto start the virtual machine.'),
|
||||
Command(script='vagrant rdp',
|
||||
stderr='VM must be created before running this command. Run `vagrant up` first.'),
|
||||
Command(script='vagrant rdp devbox',
|
||||
stderr='VM must be created before running this command. Run `vagrant up` first.')])
|
||||
def test_match(command):
|
||||
assert match(command, None)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command, new_command', [
|
||||
(Command(script='vagrant ssh', stderr='VM must be running to open SSH connection. Run `vagrant up`\nto start the virtual machine.'), 'vagrant up && vagrant ssh'),
|
||||
(Command(script='vagrant ssh devbox', stderr='VM must be running to open SSH connection. Run `vagrant up`\nto start the virtual machine.'), 'vagrant up devbox && vagrant ssh devbox'),
|
||||
(Command(script='vagrant rdp',
|
||||
stderr='VM must be created before running this command. Run `vagrant up` first.'), 'vagrant up && vagrant rdp'),
|
||||
(Command(script='vagrant rdp devbox',
|
||||
stderr='VM must be created before running this command. Run `vagrant up` first.'), 'vagrant up devbox && vagrant rdp devbox')])
|
||||
def test_get_new_command(command, new_command):
|
||||
assert get_new_command(command, None) == new_command
|
||||
|
12
thefuck/rules/vagrant_up.py
Normal file
12
thefuck/rules/vagrant_up.py
Normal file
@ -0,0 +1,12 @@
|
||||
from thefuck import shells
|
||||
|
||||
|
||||
def match(command, settings):
|
||||
return command.script.startswith('vagrant ') and 'run `vagrant up`' in command.stderr.lower()
|
||||
|
||||
def get_new_command(command, settings):
|
||||
cmds = command.script.split(' ')
|
||||
machine = ""
|
||||
if len(cmds) >= 3:
|
||||
machine = cmds[2]
|
||||
return "vagrant up " + machine + " && " + command.script
|
Loading…
x
Reference in New Issue
Block a user