mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-22 04:48:57 +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`;
|
* `tsuru_not_command` – fixes wrong `tsuru` commands like `tsuru shell`;
|
||||||
* `tmux` – fixes `tmux` commands;
|
* `tmux` – fixes `tmux` commands;
|
||||||
* `unknown_command` – fixes hadoop hdfs-style "unknown command" for example adds missing '-' to the command on `hdfs dfs ls`;
|
* `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.
|
* `whois` – fixes `whois` command.
|
||||||
|
|
||||||
Enabled by default only on specific platforms:
|
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