mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 15:12:20 +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: | ||||
| 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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user