Skip to main content

Process coordinator for tests

Project description

Current status: work in progress. The code is lacking proper documentation and is broken on Python 3.3.

https://travis-ci.org/mlen/summon_process.png?branch=master

Python process orchestration library.

About

As developers we have to work on project that rely on multiple processes to run their tests suites. Sometimes these processes need some time to boot.

The simple (and wrong) solution is to add time.sleep and pretend that it works. Unfortunately there is no way the estimate the amount of time to sleep and not loose too much time.

summon_process is an attempt to solve this problem. What you can see below is an example test that waits for a HTTP server to boot, and then it checks whether the returned status is OK.

from unittest import TestCase
from summon_process.executors import HTTPCoordinatedExecutor
from summon_process.utils import orchestrated
from httplib import HTTPConnection, OK


class TestServer(TestCase):
    def test_it_works(self):
        executor = HTTPCoordinatedExecutor("./server",
                                           url="http://localhost:8000/")

        with orchestrated(executor):
            conn = HTTPConnection("localhost", 8000)
            conn.request('GET', '/')
            assert conn.getresponse().status is OK

The server command in this case is just a bash script that sleeps for some time and then launches the builtin SimpleHTTPServer on port 8000.

Author

The project was developed by Mateusz Lenik.

License

summon_process is licensed under LGPL license, version 3.

Contributing and reporting bugs

Source code is available at: mlen/summon_process. Issue tracker is located at GitHub Issues. Projects PyPi page.

Project details


Release history Release notifications

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
summon_process-0.1.3.tar.gz (6.6 kB) Copy SHA256 hash SHA256 Source None Feb 19, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page