mitogen/tests
David Wilson 48351a1889 issue #155: parent: support Context.shutdown(), reap children on exit.
This permits graceful shutdown of individual contexts, without tearing
down everything.

Update mitogen.parent.Stream to also wait for the child to exit, to
prevent the buildup of zombie processes. This introduces a blocking wait
for process exit on the Broker thread, let's see if we can get away with
it. Chances are reasonable that it'll cause needless hangs on heavily
loaded machines.
2018-03-24 19:19:51 +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
fork_test.py issue #155: skeletal fork_test. 2018-03-24 16:28:13 +05:45
id_allocation_test.py issue #155: allocate child IDs in batches of 1000. 2018-03-22 03:41:04 +05:45
importer_test.py tests: get import_test limping back to health. 2018-03-22 05:07:31 +05:45
latch_test.py core: support throwing LatchError in every sleeping thread 2018-03-19 21:58:35 +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 issue #155: parent: support Context.shutdown(), reap children on exit. 2018-03-24 19:19:51 +05:45
responder_test.py tests: mark some tests as skipped 2018-03-19 21:58:35 +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 tests: test_stream_name: fix non-localhost Docker 2018-03-22 13:25:56 +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