Skip to main content

Testing TCP program, following the Perl's Test::TCP include memcached and redis test server.

Project description

tcptest is following Perl’s “Test::TCP”.

It has the methods like original one, but also has another TestServer implementation.

This package also includes memcached and redis test server support.


import tcptest.memcached
import tcptest.redis
import tcptest.fluentd

# with context
with tcptest.memcached.Server() as server:
    memd = memcache.Client(['' % server.port])

with tcptest.redis.Server() as server:
    db = redis.Redis(host='', port=server.port, db=0)

with tcptest.fluentd.Server() as server:
    import fluentd.sender
    import fluentd.event
    fluent.sender.setup('app', port=server.port)
    fluent.event.Event('follow', {'foo': 'bar'})
    fluent.event.Event('label', {'hoge': 'fuga'})
print server.logs
# [('app.follow:', {u'foo': u'bar'}), ('app.label:', {u'hoge': u'fuga'})]

# manually handling
server = tcptest.memcached.Server()


custom server

import tcptest

class YourTestServer(tcptest.TestServer):
    def build_command(self):
        return ('your server command', 'arg1', 'arg2', ...)

with YourTestServer() as server:
    # your server works on server.port

capture server outputs

import tcptest.redis

res = {}
with tcptest.redis.Server(res=res) as server:
stdout = res['stdout']
stderr = res['stderr']

redis options

import tcptest.redis

with tcptest.redis.Server(settings=dict(databases=4)) as server:

redis replication

import tcptest.redis

master = tcptest.redis.Server()

slave_settings = {'slaveof': 'localhost %d' % master.port}
slave = tcptest.redis.Server(settings=slave_settings)


0.6.0 - 2015/10/29

  • Support Python3 (thanks ikegami-yukino)
  • Improve redis-server port reserve, to support redis cluster

0.5.0 - 2015/06/12

  • Improve error handling (thanks okamuuu)

0.4.0 - 2014/04/05

  • Support fluentd test server

0.3.0 - 2014/01/28

  • Update tcptest.redis
    • pass command args instead of conf file (require redis-server 2.6 or later)
    • cannot overwrite the server port

0.2.4 - 2013/07/16

  • Fix pip installation
    • Add

0.2.1-3 - 2013/05/27

  • Maintain and docs

0.2.0 - 2013/05/21

  • Support Redis test server

0.1.0 - 2013/05/21

  • First release


Project details

Download files

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

Files for tcptest, version 0.6.0
Filename, size File type Python version Upload date Hashes
Filename, size tcptest-0.6.0.tar.gz (4.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page