Commit Graph

315 Commits

Author SHA1 Message Date
David Wilson 4ff1d4e523 master: use decorators rather than call_with_deadline(with_context=..) 2017-09-21 13:40:24 +05:30
David Wilson d6d83b3fac fakessh: cleanup master test. 2017-09-21 13:06:59 +05:30
David Wilson 5d0dcd051c fakessh: use decorators rather than call_with_deadline(with_context=..) 2017-09-21 03:26:14 +05:30
David Wilson 456a40ce9c core: synchronize Stream._output_buf by deferring send()
Previously _output_buf was racy. This may or may not be cheaper than
simply using a lock, but it requires much less code, so I prefer it for
now.
2017-09-21 03:21:16 +05:30
David Wilson 05055ebfc0 core: make Side.write() return None rather than crash if side already closed. 2017-09-21 03:20:52 +05:30
David Wilson 9ce71a546a core: better Message.__repr__. 2017-09-21 02:37:27 +05:30
David Wilson b7f5bd82bc Replace `with_context` parameter with mitogen.core.takes_econtext decorator 2017-09-21 01:37:07 +05:30
David Wilson 22df965a46 fakessh: fix non-master context ID allocation. 2017-09-20 20:00:29 +05:30
David Wilson 68515bc9e1 fakessh: Fix NameError. 2017-09-20 18:15:16 +05:30
David Wilson 3bb02161dc fakessh: return child exit status 2017-09-20 18:14:01 +05:30
David Wilson 9c306001f0 fakessh: Use local process's sys.executable. 2017-09-20 18:09:51 +05:30
David Wilson 023c100494 fakessh: IoPump() doesn't need Process reference. 2017-09-20 15:10:06 +05:30
David Wilson 29e4487d6a Make subsystem requests die with a useful error. 2017-09-20 15:05:39 +05:30
David Wilson 69dd35784d Reduce CHUNK_SIZE to paper over a hang with rsync 2017-09-19 01:04:46 +05:30
David Wilson d84b4bf72a Keep allocate_id() in the enhanced router class. 2017-09-18 17:03:30 +05:30
David Wilson f3cdb4e050 Fix format string. 2017-09-18 15:56:33 +05:30
David Wilson 491b5ab575 core: add ALLOCATE_ID message for fakessh. 2017-09-18 15:37:21 +05:30
David Wilson e00c2f2e39 core: allow sending 0-byte messages. 2017-09-18 15:36:30 +05:30
David Wilson 18a0529887 Import unused images. 2017-09-18 15:16:42 +05:30
David Wilson 6cfcd6c2c8 Fix proxy connection: pickling changes broke it. 2017-09-18 15:16:08 +05:30
David Wilson 535ffc25b7 Move more docstrings out of core.py. 2017-09-18 14:50:41 +05:30
David Wilson e7673e72f6 Add TODO 2017-09-18 14:44:17 +05:30
David Wilson 3e020ddd09 Fix Channel constructor and add simple test; closes #32 2017-09-18 14:34:05 +05:30
David Wilson 05a0feb2f9 core: support takes_econtext and takes_router decorators. 2017-09-17 22:52:11 +05:30
David Wilson d9bf091e6f Simple working fakessh_test. 2017-09-17 21:19:06 +05:30
David Wilson 21fb601872 Tidy up logging of command lines for easier cutpaste. 2017-09-17 21:09:52 +05:30
David Wilson bd2c613b9c Fix up a few more ssh_tests, stop sending 400 modules over network.
Defining functions in the current module was causing the entirety of
py.test and all dependencies to be sucked in.
2017-09-17 21:09:03 +05:30
David Wilson cffaa92fc4 Add rsync and git to build_docker_image too. 2017-09-17 21:07:32 +05:30
David Wilson a89c20e54e Fixup some more tests. 2017-09-17 20:33:43 +05:30
David Wilson 0f89756c1e Initial version of ModuleFinder, but it's slooooow. 2017-09-17 19:52:29 +05:30
David Wilson 6f25fac430 Log forwarded events just as the docs suggest they're logged. 2017-09-17 18:35:52 +05:30
David Wilson 60dc0f6058 Typo. 2017-09-17 18:30:06 +05:30
David Wilson 04e3336c32 issue #31: move error log to ticket.
Original commit:

commit 3535e45245
Author: David Wilson <dw@botanicus.net>
Date:   Fri Aug 26 19:35:09 2016 +0100

    Broken SSH unit test.

A  todo/six-module-import-error.py
2017-09-17 18:28:24 +05:30
David Wilson a1525b8bb8 Add subheading to describe each import hack. 2017-09-17 18:27:58 +05:30
David Wilson 38602d5eb3 Link to six bug. 2017-09-17 18:24:57 +05:30
David Wilson 700bfe31a4 Pad out shame.rst. 2017-09-17 18:22:15 +05:30
David Wilson 4110d6de60 Add instructions for running tests. 2017-09-17 18:16:23 +05:30
David Wilson cf506dfdf2 First handful of functional tests for SSH against Docker. 2017-09-17 18:11:48 +05:30
David Wilson a882497b62 ssh: Learn to type passwords and supply pubkeys.
Now ssh requires a tty allocation. This presents a scalability problem,
a future version could selectively allocate a tty only if typing
passwords is desired.

Sudo's tty handling is now moved into mitogen.master.
2017-09-17 18:11:20 +05:30
David Wilson db793003e0 Tidy. 2017-09-17 18:00:12 +05:30
David Wilson 5fd3337ed2 Add more dependencies to dev_requirements.txt. 2017-09-17 17:56:57 +05:30
David Wilson f60e8bc47d Add hacks to allow Mock to be imported. 2017-09-17 17:56:51 +05:30
David Wilson 22c9f82c46 Import Docker build script for integration tests 2017-09-17 17:30:48 +05:30
David Wilson bc437733e5 Working DockerMixin for tests. 2017-09-17 05:27:33 +05:30
David Wilson 36ad9d3f0f Fixup ansible_demo.py for recent Ansibles 2017-09-17 05:26:45 +05:30
David Wilson 1627164165 fix unbelievably dumb variable shadowing 2017-09-17 05:25:30 +05:30
David Wilson 6e3f0702a3 A few more mitogen.slave/master changes 2017-09-17 04:22:57 +05:30
David Wilson ce7a7eddb4 Mention git. 2017-09-17 02:32:52 +05:30
David Wilson d26c46ba7f ssh: Support disabling strict host key checking. 2017-09-16 22:11:12 +05:30
David Wilson bdc742d4db ssh: Support specifying the port too. 2017-09-16 21:55:37 +05:30