mitogen/tests
Alex Willmer e3b700b553 tests: Fix no such option -o running FakeSsh.test_okay()
Full output of failed test

```
ERROR: test_okay (__main__.FakeSshTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests/ssh_test.py", line 16, in test_okay
    ssh_path=testlib.data_path('fakessh.py'),
  File "/home/alex/src/mitogen/mitogen/master.py", line 650, in ssh
    return self.connect('ssh', **kwargs)
  File "/home/alex/src/mitogen/mitogen/parent.py", line 463, in connect
    return self._connect(context_id, klass, name=name, **kwargs)
  File "/home/alex/src/mitogen/mitogen/parent.py", line 449, in _connect
    stream.connect()
  File "/home/alex/src/mitogen/mitogen/ssh.py", line 104, in connect
    super(Stream, self).connect()
  File "/home/alex/src/mitogen/mitogen/parent.py", line 395, in connect
    self._connect_bootstrap()
  File "/home/alex/src/mitogen/mitogen/ssh.py", line 116, in
_connect_bootstrap
    time.time() + 10.0):
  File "/home/alex/src/mitogen/mitogen/parent.py", line 207, in
iter_read
    (''.join(bits)[-300:],)
mitogen.core.StreamError: EOF on stream; last 300 bytes received:
'Usage: fakessh.py [options]\n\nfakessh.py: error: no such option: -o\n'
```
2018-03-19 21:58:34 +05:45
..
data tests: Fix no such option -o running FakeSsh.test_okay() 2018-03-19 21:58:34 +05:45
README.md README: move testing bits into tests directory. 2018-03-19 21:58:32 +05:45
ansible_helpers_test.py tests: Correct path to apply_mode_spec() 2018-03-19 21:58:33 +05:45
build_docker_image.py tests: ensure strace is available in the docker image.. 2018-03-19 21:58:28 +05:45
call_function_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
channel_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
fakessh_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
first_stage_test.py parent: Precompute preamble sizes for first stage 2018-03-19 21:58:34 +05:45
id_allocation_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
importer_test.py core: Standardise type of Importer.whitelist 2018-03-19 21:58:31 +05:45
latch_test.py tests: import very basic latch_test 2018-03-19 21:58:32 +05:45
local_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
master_test.py Split IterReadTest & WriteAllTest into test_parent 2018-03-19 21:58:29 +05:45
module_finder_test.py tests: Fix typo in ResolveRelPathTest 2018-03-19 21:58:30 +05:45
nested_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
parent_test.py Split IterReadTest & WriteAllTest into test_parent 2018-03-19 21:58:29 +05:45
responder_test.py tests: Fix import error 2018-03-19 21:58:33 +05:45
router_test.py core: Ensure add_handler() callbacks really receive _DEAD on shutdown 2018-03-19 21:58:30 +05:45
select_test.py select: clean up API. 2018-03-19 21:58:28 +05:45
ssh_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
testlib.py tests: ensure strace is available in the docker image.. 2018-03-19 21:58:28 +05:45
utils_test.py Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45

README.md

Warning

This directory is full of disorganized crap, including random hacks I checked in that I'd like to turn into tests. The effort to write tests only really started in September 2017. Pull requests in this area are very welcome!

Running The Tests

Build Status

Your computer should have an Internet connection, and the docker command line tool should be able to connect to a working Docker daemon (localhost or elsewhere for OS X etc.) that can run new images.

The IP address of the Docker daemon must allow exposing ports from running containers, e.g. it should not be firewalled or port forwarded.

If in doubt, just install Docker on a Linux box in the default configuration and run the tests there.

Steps To Prepare Development Environment

  1. Get the code git clone https://github.com/dw/mitogen.git
  2. Go into the working directory cd mitogen
  3. Establish the docker image ./tests/build_docker_image.py
  4. Build the virtual environment virtualenv ../venv
  5. Enable the virtual environment we just built source ../venv/bin/activate
  6. Install Mitogen in pip editable mode pip install -e .
  7. Run test.sh