You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
# 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](https://api.travis-ci.org/dw/mitogen.svg?branch=master)](https://travis-ci.org/dw/mitogen)
|
|
|
|
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``
|
|
1. Go into the working directory ``cd mitogen``
|
|
1. Establish the docker image ``./tests/build_docker_image.py``
|
|
1. Build the virtual environment ``virtualenv ../venv``
|
|
1. Enable the virtual environment we just built ``source ../venv/bin/activate``
|
|
1. Install Mitogen in pip editable mode ``pip install -e .``
|
|
1. Run ``test``
|
|
|
|
|
|
# Selecting a target distribution
|
|
|
|
Docker target images exist for testing against CentOS and Debian, with the
|
|
default being Debian. To select CentOS, specify `MITOGEN_TEST_DISTRO=centos` in
|
|
the environment.
|
|
|
|
|
|
# User Accounts
|
|
|
|
A set of standard user account names are used by in the Docker container and
|
|
also by Ansible's `osx_setup.yml`.
|
|
|
|
`root`
|
|
In the Docker image only, the password is "rootpassword".
|
|
|
|
`mitogen__has_sudo`
|
|
The login password is "has_sudo_password" and the account is capable of
|
|
sudoing to root, by supplying the account password to sudo.
|
|
|
|
`mitogen__has_sudo_pubkey`
|
|
The login password is "has_sudo_pubkey_password". Additionally
|
|
`tests/data/docker/mitogen__has_sudo_pubkey.key` SSH key may be used to log
|
|
in. It can sudo the same as `mitogen__has_sudo`.
|
|
|
|
`mitogen__has_sudo_nopw`
|
|
The login password is "has_sudo_nopw_password". It can sudo to root without
|
|
supplying a password.
|
|
|
|
`mitogen__user1` .. `mitogen__user21`
|
|
These accounts do not have passwords set. They exist to test the Ansible
|
|
interpreter recycling logic.
|
|
|
|
`mitogen__webapp`
|
|
A plain old account with no sudo access, used as the target for fakessh
|
|
tddests.
|