ghantoos / lshell

lshell is a shell coded in Python, that lets you restrict a user's environment to limited sets of commands, choose to enable/disable any command over SSH (e.g. SCP, SFTP, rsync, etc.), log user's commands, implement timing restriction, and more.
GNU General Public License v3.0
435 stars 112 forks source link

tox fails #145

Closed joehakimrahme closed 8 years ago

joehakimrahme commented 8 years ago

I cannot seem to make the tests pass. This is the output of tox from my OSX laptop:

$ tox -e py27
py27 develop-inst-noop: /Users/joehakimrahme/code/lshell
py27 installed: astroid==1.4.7,backports.functools-lru-cache==1.2.1,bandit==1.0.1,configparser==3.5.0,coverage==4.1,flake8==2.6.2,gitdb==0.6.4,GitPython==2.0.6,isort==4.2.5,lazy-object-proxy==1.2.2,-e git+https://github.com/ghantoos/lshell@d9e7eea92952397a256c5a079023b2a7df76b363#egg=lshell,mccabe==0.5.0,nose==1.3.7,nose-timer==0.6.0,pbr==1.10.0,pexpect==4.2.0,ptyprocess==0.5.1,pycodestyle==2.0.0,pyenchant==1.6.6,pyflakes==1.2.3,pylint==1.6.1,PyYAML==3.11,six==1.10.0,smmap==0.9.0,stevedore==1.15.0,termcolor==1.1.0,wrapt==1.10.8
py27 runtests: PYTHONHASHSEED='3907311693'
py27 runtests: commands[0] | nosetests -v --cover-package=lshell --with-coverage test/ --with-timer
F01 | lshell welcome message ... ERROR
F02 | built-in ls command ... ERROR
F03 | external echo number ... ERROR
F04 | external echo random string ... ERROR
F05 | echo forbidden syntax $(bleh) ... ERROR
F06 | built-in cd - change directory ... ERROR
F07 | built-in cd - tilda bug ... ERROR
F08 | built-in - quotes in cd "/" ... ERROR
F09 | external command forbidden path - ls /root ... ERROR
F10 | built-in command forbidden path - cd ~root ... ERROR
F11 | /etc/passwd: empty variable 'ls "$a"/etc/passwd' ... ERROR
F12 | /etc/passwd: empty variable 'ls -l .*./.*./etc/passwd' ... ERROR
F13 | /etc/passwd: empty variable 'ls -l .?/.?/etc/passwd' ... ERROR
F14 | path completion with ~/ ... ERROR
F15 | command completion: tab to list commands ... ERROR
F16 | external command exit codes with separator ... ERROR
F17 | external command exit codes without separator ... ERROR
F18 | built-in command exit codes with separator ... ERROR
F19 | built-in exit codes without separator ... ERROR
F20 | test built-in cd with command when dir does not exist ... ERROR
F21 | user should able to allow / access minus some directory ... ERROR
F22 | expanding of environment variables ... ERROR
F23 | expanding of environment variables when using cd ... ERROR
F24 | cd && command should not be interpreted by internal function ... ERROR
F25 | test cat(1) with KeyboardInterrupt, should not exit ... ERROR
Failure: IndexError (list index out of range) ... ERROR

======================================================================
ERROR: F01 | lshell welcome message
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d165e90>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20145
child_fd: 13
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F02 | built-in ls command
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d193e50>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20146
child_fd: 14
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F03 | external echo number
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d193f90>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20147
child_fd: 15
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F04 | external echo random string
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c110>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20148
child_fd: 16
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F05 | echo forbidden syntax $(bleh)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c250>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20149
child_fd: 17
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F06 | built-in cd - change directory
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c390>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20150
child_fd: 19
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F07 | built-in cd - tilda bug
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c4d0>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20151
child_fd: 20
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F08 | built-in - quotes in cd "/"
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c610>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20152
child_fd: 21
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F09 | external command forbidden path - ls /root
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c750>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20153
child_fd: 22
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F10 | built-in command forbidden path - cd ~root
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c890>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20154
child_fd: 23
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F11 | /etc/passwd: empty variable 'ls "$a"/etc/passwd'
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19c9d0>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20155
child_fd: 24
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F12 | /etc/passwd: empty variable 'ls -l .*./.*./etc/passwd'
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19cb10>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20156
child_fd: 25
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F13 | /etc/passwd: empty variable 'ls -l .?/.?/etc/passwd'
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19cc50>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20157
child_fd: 26
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F14 | path completion with ~/
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19cd90>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20158
child_fd: 27
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F15 | command completion: tab to list commands
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d19ced0>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20159
child_fd: 28
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F16 | external command exit codes with separator
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4050>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20160
child_fd: 29
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F17 | external command exit codes without separator
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4190>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20161
child_fd: 30
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F18 | built-in command exit codes with separator
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a42d0>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20162
child_fd: 31
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F19 | built-in exit codes without separator
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4410>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20163
child_fd: 32
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F20 | test built-in cd with command when dir does not exist
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4550>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20164
child_fd: 33
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F21 | user should able to allow / access minus some directory
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4690>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20165
child_fd: 34
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F22 | expanding of environment variables
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a47d0>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20166
child_fd: 35
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F23 | expanding of environment variables when using cd
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4910>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20167
child_fd: 36
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F24 | cd && command should not be interpreted by internal function
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4a50>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20168
child_fd: 37
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: F25 | test cat(1) with KeyboardInterrupt, should not exit
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/test/test_functional.py", line 22, in setUp
    self.child.expect('%s:~\$' % self.user)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 321, in expect
    timeout, searchwindowsize, async)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/spawnbase.py", line 345, in expect_list
    return exp.expect_loop(timeout)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 105, in expect_loop
    return self.eof(e)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/pexpect/expect.py", line 50, in eof
    raise EOF(msg)
EOF: End Of File (EOF). Empty string style platform.
<pexpect.pty_spawn.spawn object at 0x10d1a4b90>
command: /Users/joehakimrahme/code/lshell/bin/lshell
args: ['/Users/joehakimrahme/code/lshell/bin/lshell', '--config', '/Users/joehakimrahme/code/lshell/etc/lshell.conf', '--strict', '1']
buffer (last 100 chars): ''
before (last 100 chars): 'onfig_sub\r\n    elif key == \'allowed\' and split[0] == "\'all\'":\r\nIndexError: list index out of range\r\n'
after: <class 'pexpect.exceptions.EOF'>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 20169
child_fd: 38
closed: False
timeout: 30
delimiter: <class 'pexpect.exceptions.EOF'>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: 0.05
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
    0: re.compile("joehakimrahme:~\$")

======================================================================
ERROR: Failure: IndexError (list index out of range)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/joehakimrahme/code/lshell/.tox/py27/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/joehakimrahme/code/lshell/test/test_unit.py", line 16, in <module>
    class TestFunctions(unittest.TestCase):
  File "/Users/joehakimrahme/code/lshell/test/test_unit.py", line 18, in TestFunctions
    userconf = CheckConfig(args).returnconf()
  File "/Users/joehakimrahme/code/lshell/lshell/checkconfig.py", line 71, in __init__
    self.get_config()
  File "/Users/joehakimrahme/code/lshell/lshell/checkconfig.py", line 286, in get_config
    self.get_config_sub('default')
  File "/Users/joehakimrahme/code/lshell/lshell/checkconfig.py", line 347, in get_config_sub
    elif key == 'allowed' and split[0] == "'all'":
IndexError: list index out of range

Name                    Stmts   Miss  Cover
-------------------------------------------
lshell.py                   0      0   100%
lshell/builtins.py         80     61    24%
lshell/checkconfig.py     445    196    56%
lshell/sec.py             133     43    68%
lshell/shellcmd.py        269    223    17%
lshell/utils.py            61     11    82%
lshell/variables.py        13      1    92%
-------------------------------------------
TOTAL                    1001    535    47%
test_functional.TestFunctions.test_08_builtin_cd_quotes: 0.0653s
test_functional.TestFunctions.test_09_external_forbidden_path: 0.0625s
test_functional.TestFunctions.test_05_external_echo_forbidden_syntax: 0.0612s
test_functional.TestFunctions.test_10_builtin_cd_forbidden_path: 0.0609s
test_functional.TestFunctions.test_25_KeyboardInterrupt: 0.0608s
test_functional.TestFunctions.test_14_path_completion_tilda: 0.0597s
test_functional.TestFunctions.test_04_external_echo_command_string: 0.0591s
test_functional.TestFunctions.test_17_exitcode_without_separator_external_cmd: 0.0590s
test_functional.TestFunctions.test_01_welcome_message: 0.0587s
test_functional.TestFunctions.test_13_etc_passwd_3: 0.0586s
test_functional.TestFunctions.test_18_cd_exitcode_with_separator_internal_cmd: 0.0582s
test_functional.TestFunctions.test_12_etc_passwd_2: 0.0582s
test_functional.TestFunctions.test_16_exitcode_with_separator_external_cmd: 0.0579s
test_functional.TestFunctions.test_24_cd_and_command: 0.0577s
test_functional.TestFunctions.test_21_allow_slash: 0.0575s
test_functional.TestFunctions.test_22_expand_env_variables: 0.0574s
test_functional.TestFunctions.test_20_cd_with_cmd_unknwon_dir: 0.0574s
test_functional.TestFunctions.test_07_builtin_cd_tilda: 0.0573s
test_functional.TestFunctions.test_19_cd_exitcode_without_separator_external_cmd: 0.0572s
test_functional.TestFunctions.test_15_cmd_completion_tab_tab: 0.0569s
test_functional.TestFunctions.test_23_expand_env_variables_cd: 0.0567s
test_functional.TestFunctions.test_02_builtin_ls_command: 0.0566s
test_functional.TestFunctions.test_03_external_echo_command_num: 0.0562s
test_functional.TestFunctions.test_11_etc_passwd_1: 0.0545s
test_functional.TestFunctions.test_06_builtin_cd_change_dir: 0.0536s
nose.failure.Failure.runTest: 0.0003s
----------------------------------------------------------------------
Ran 26 tests in 1.507s

FAILED (errors=26)
ERROR: InvocationError: '/Users/joehakimrahme/code/lshell/.tox/py27/bin/nosetests -v --cover-package=lshell --with-coverage test/ --with-timer'
___________________________________ summary ____________________________________
ERROR:   py27: commands failed

I've obtained similar errors running the tox suite on a Fedora box.

ghantoos commented 8 years ago

Thanks for reporting this @joehakimrahme ! I am not sure how this was not detected in the tox run a couple of month ago, and now fails. There must have been some update somewhere. :)

Anyways, I will be fixing this asap.

ghantoos commented 8 years ago

Confirmed here: https://travis-ci.org/ghantoos/lshell/jobs/117203996

ghantoos commented 8 years ago

Every system fails differently on this test. :-/

ghantoos commented 8 years ago

(the rest has been corrected though)

ghantoos commented 8 years ago

At last :)

https://travis-ci.org/ghantoos/lshell/builds/146163249