mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-31 02:01:13 +00:00
#346 Add support of other systems with get-pip
This commit is contained in:
parent
f4eebbaaf9
commit
e72c88e344
11
install.sh
11
install.sh
@ -6,12 +6,19 @@ should_add_alias () {
|
||||
|
||||
# Install os dependencies:
|
||||
if [ -f $(which apt-get) ]; then
|
||||
sudo apt-get update
|
||||
sudo apt-get install python-pip
|
||||
# Debian/ubuntu:
|
||||
sudo apt-get update -yy
|
||||
sudo apt-get install -yy python-pip python-dev
|
||||
else
|
||||
if [ -f $(which brew) ]; then
|
||||
# OS X:
|
||||
brew update
|
||||
brew install python
|
||||
else
|
||||
# Genreic way:
|
||||
wget https://bootstrap.pypa.io/get-pip.py
|
||||
sudo python get-pip.py
|
||||
rm get-pip.py
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
from time import sleep
|
||||
from pexpect import TIMEOUT
|
||||
|
||||
|
||||
|
25
tests/functional/test_install.py
Normal file
25
tests/functional/test_install.py
Normal file
@ -0,0 +1,25 @@
|
||||
import pytest
|
||||
from pexpect import TIMEOUT
|
||||
from tests.functional.utils import spawn, functional, bare
|
||||
|
||||
envs = ((u'bash', 'ubuntu-bash', u'''
|
||||
FROM ubuntu:latest
|
||||
RUN apt-get update
|
||||
RUN apt-get install -yy bash
|
||||
'''), (u'bash', 'generic-bash', u'''
|
||||
FROM fedora:latest
|
||||
RUN dnf install -yy python-devel sudo which gcc
|
||||
'''))
|
||||
|
||||
|
||||
@functional
|
||||
@pytest.mark.skipif(
|
||||
bool(bare), reason="Can't be tested in bare run")
|
||||
@pytest.mark.parametrize('shell, tag, dockerfile', envs)
|
||||
def test_installation(request, shell, tag, dockerfile):
|
||||
proc = spawn(request, tag, dockerfile, shell, install=False)
|
||||
proc.sendline(u'cat /src/install.sh | sh - && $0')
|
||||
proc.sendline(u'thefuck --version')
|
||||
assert proc.expect([TIMEOUT, u'The Fuck'], timeout=600)
|
||||
proc.sendline(u'fuck')
|
||||
assert proc.expect([TIMEOUT, u'No fucks given'])
|
@ -24,7 +24,7 @@ def build_container(tag, dockerfile):
|
||||
shutil.rmtree(tmpdir)
|
||||
|
||||
|
||||
def spawn(request, tag, dockerfile, cmd):
|
||||
def spawn(request, tag, dockerfile, cmd, install=True):
|
||||
if bare:
|
||||
proc = pexpect.spawnu(cmd)
|
||||
else:
|
||||
@ -32,7 +32,9 @@ def spawn(request, tag, dockerfile, cmd):
|
||||
build_container(tag, dockerfile)
|
||||
proc = pexpect.spawnu('docker run --volume {}:/src --tty=true '
|
||||
'--interactive=true {} {}'.format(root, tag, cmd))
|
||||
proc.sendline('pip install /src')
|
||||
if install:
|
||||
proc.sendline('pip install /src')
|
||||
|
||||
proc.sendline('cd /')
|
||||
|
||||
proc.logfile = sys.stdout
|
||||
|
Loading…
x
Reference in New Issue
Block a user