1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-03-14 14:48:49 +00:00

adding functional test for cd_correction rule

This commit is contained in:
Alex Barcelo 2018-02-16 22:48:22 +01:00
parent d1dbbb57d9
commit e73dd3f6d1

View File

@ -0,0 +1,40 @@
import pytest
dockerfile = u'''
FROM python:3
RUN adduser --disabled-password --gecos '' test
WORKDIR /src
USER test
RUN echo 'eval $(thefuck --alias)' > /home/test/.bashrc
RUN echo > /home/test/.bash_history
RUN mkdir -p /home/test/some/random/folder
RUN mkdir -p /home/test/another/random/folder
USER root
'''
def plot(proc, TIMEOUT):
proc.sendline(u'cd /home/test/some/random')
proc.sendline(u'fuck')
assert proc.expect([TIMEOUT, u'No fucks given'])
proc.sendline(u'cd flder')
proc.sendline(u'fuck')
assert proc.expect([TIMEOUT, u'cd "/home/test/some/random/folder"'])
proc.send('\n')
proc.sendline(u'pwd')
assert proc.expect([TIMEOUT, u'/home/test/some/random/folder'])
proc.sendline(u'cd /home/test/another/randm/folder/')
proc.sendline(u'fuck')
assert proc.expect([TIMEOUT, u'cd "/home/test/another/random/folder"'])
proc.send('\n')
proc.sendline(u'pwd')
assert proc.expect([TIMEOUT, u'/home/test/another/random/folder'])
@pytest.mark.functional
def test_performance(spawnu, TIMEOUT, benchmark):
proc = spawnu(u'thefuck/python3-cd_correction-functional',
dockerfile, u'bash')
proc.sendline(u'pip install /src')
proc.sendline(u'su test')
assert benchmark(plot, proc, TIMEOUT) is None