mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-30 22:54:14 +00:00 
			
		
		
		
	#346 Add support of other systems with get-pip
				
					
				
			This commit is contained in:
		
							
								
								
									
										11
									
								
								install.sh
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								install.sh
									
									
									
									
									
								
							| @@ -6,12 +6,19 @@ should_add_alias () { | |||||||
|  |  | ||||||
| # Install os dependencies: | # Install os dependencies: | ||||||
| if [ -f $(which apt-get) ]; then | if [ -f $(which apt-get) ]; then | ||||||
|     sudo apt-get update |     # Debian/ubuntu: | ||||||
|     sudo apt-get install python-pip |     sudo apt-get update -yy | ||||||
|  |     sudo apt-get install -yy python-pip python-dev | ||||||
| else | else | ||||||
|     if [ -f $(which brew) ]; then |     if [ -f $(which brew) ]; then | ||||||
|  |         # OS X: | ||||||
|         brew update |         brew update | ||||||
|         brew install python |         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 | ||||||
| fi | fi | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,4 +1,3 @@ | |||||||
| from time import sleep |  | ||||||
| from pexpect import TIMEOUT | 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) |         shutil.rmtree(tmpdir) | ||||||
|  |  | ||||||
|  |  | ||||||
| def spawn(request, tag, dockerfile, cmd): | def spawn(request, tag, dockerfile, cmd, install=True): | ||||||
|     if bare: |     if bare: | ||||||
|         proc = pexpect.spawnu(cmd) |         proc = pexpect.spawnu(cmd) | ||||||
|     else: |     else: | ||||||
| @@ -32,7 +32,9 @@ def spawn(request, tag, dockerfile, cmd): | |||||||
|         build_container(tag, dockerfile) |         build_container(tag, dockerfile) | ||||||
|         proc = pexpect.spawnu('docker run --volume {}:/src --tty=true ' |         proc = pexpect.spawnu('docker run --volume {}:/src --tty=true ' | ||||||
|                               '--interactive=true {} {}'.format(root, tag, cmd)) |                               '--interactive=true {} {}'.format(root, tag, cmd)) | ||||||
|         proc.sendline('pip install /src') |         if install: | ||||||
|  |             proc.sendline('pip install /src') | ||||||
|  |  | ||||||
|     proc.sendline('cd /') |     proc.sendline('cd /') | ||||||
|  |  | ||||||
|     proc.logfile = sys.stdout |     proc.logfile = sys.stdout | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user