Commit Graph

473 Commits (58e30cd117a0322a4493b6462e27df42eac242fa)
 

Author SHA1 Message Date
David Wilson bc482c6be8 docs: Add spacing between list items in body text. 7 years ago
David Wilson 839a1cbeb1 receiver: only permit one notify callback
There is no point spamming a list for every function call, there is no
use case where multiple notify callbacks would be useful.
7 years ago
David Wilson 39924c432f Tidy up select docs. 7 years ago
David Wilson e7bcbdd068 Remove context.key from preamble_size.py too. 7 years ago
David Wilson 9e2c74eebc importer: Don't respond to non-.py[co] imports. 7 years ago
David Wilson 031c0f3cf4 issue #20: TestCase subclass with a nicer assertRaises 7 years ago
David Wilson 9625e77f87 More concise text. 7 years ago
David Wilson af8890b31f issue #20: fix queue.get() parameter list. 7 years ago
David Wilson 6dc0e13f5f issue #20: Return type fix. 7 years ago
David Wilson 0ef26f250e Package rename cleanup. 7 years ago
David Wilson 186d823600 issue #20: tests and fixes for mitogen.master.Select(). 7 years ago
David Wilson 6869292738 issue #20: initial implementation of mitogen.master.Select(). 7 years ago
David Wilson 1bb4a32271 issue #9: log warning when a cross-sibling CALL_FUNCTION occurs
First step to making it a fatal error.
7 years ago
David Wilson 05c22909b0 issue #9: ensure messages arrive on the expected stream
If no ADD_ROUTE message has been received from the master associating a
stream with a particular context ID, then it is expected messages
originating from that context ID can only be routed via the parent.
7 years ago
David Wilson 88d01c571f Adjust get_boot_command to match _first_stage change
inspect module includes the staticmethod decorator added by
a8d1dc6730
7 years ago
David Wilson d1faf5ba1d Remove set from permitted types. 7 years ago
David Wilson 0db472c97b Fix up importer_test. 7 years ago
David Wilson 2092568e7c issue #19: whoops, implement sliding window properly 7 years ago
David Wilson 231a300649 issue #19: second attempt at import scanner
This version is based on the modulefinder standard library module,
pruned back just to handle modules we know have been loaded already, and
to scan module-level imports only, rather than imports occurring in
class and function scope (crappy heuristic, but assume they are lazy
imports).

The ast and compiler modules were far too slow, whereas this version can
bytecode compile and scan all the imports for django.db.models (58
modules) in around 200ms.. 3.4ms per dependency, it's probably not going
to get much faster than that.
7 years ago
David Wilson 55bdb50d4f Add README.md to tests subdir. 7 years ago
David Wilson 60ed8525b0 Fix inverted logic. 7 years ago
David Wilson d553295135 Syntax error. 7 years ago
David Wilson ea3404ce21 Only import compiler when necessary, it's not available in 3.x. 7 years ago
dw a8d1dc6730 Merge pull request #35 from moreati/pylint
Fix some PyLint errors
7 years ago
Alex Willmer c854bec6f6 Handle failure to import the ast module 7 years ago
David Wilson 57de31344b core: use an output deque rather than string to improve worst case perf
This probably worsens performance in the common case, but it prevents
runaway producers (see e.g. issue #36) from spending all their CPU
copying around huge strings.

It's also a small step towards a solution to issue #6, which will
replace the output buffer with some sort of fancier queue anyway.

This reduces a particular 40 second run of rsync to 1.5 seconds.
7 years ago
David Wilson 22dcbf9e48 Document Router.profiling. 7 years ago
Alex Willmer 81fe37b108 Fix stale references to m.master.connect & m.ssh.connect
I'm fairly sure these updates are correct, but I'm not able to run the
test suite to confirm.
7 years ago
Alex Willmer a8d216eeab Update lingering references to with_broker & run_with_broker
A previous commit renamed run_with_broker() and with_broker() to
run_with_router() and with_router() respctively. Some references were
missed.
7 years ago
Alex Willmer 794a8a7a07 Add missing LOG import
Fixes an undefined variable error found by pylint
7 years ago
Alex Willmer 0384e6189c Use fully qualified Context
Fixes an undefined variable error found by pylint
7 years ago
Alex Willmer 8ac45565a5 Add missing import of AnsibleError
Found with pylint
7 years ago
Alex Willmer 7245d574ef Add missing auth_incorrect_msg used to in exception message
Found using pylint
7 years ago
Alex Willmer 6b9ac07e65 Declare self-less method as static
Found using pylint
7 years ago
Alex Willmer bc4498e59e Add missing imports: ast, compiler
Found using pylint
7 years ago
David Wilson 53ef6cda25 Treat EPIPE as disconnect too; needed for fakessh. 7 years ago
David Wilson df1dc41d4f Remove final vestiges of context.key. 7 years ago
David Wilson f186b4c9d8 docs: Use sphinx-programoutput plugin for preamble_size.py 7 years ago
David Wilson f62d4f1891 Update preamble_size output. 7 years ago
David Wilson 3e4cb308d5 core: Support profiling 7 years ago
David Wilson b9cd5656a3 Delete mitogen.utils.log_to_tmp() 7 years ago
David Wilson a836a7e555 fakessh: SSH server uses user's shell to parse command line. 7 years ago
David Wilson f3ec8079be fakessh: add to preamble_size.py 7 years ago
David Wilson 1ed8bb6924 Document a bunch of mitogen.master and move more docstrings into Sphinx. 7 years ago
David Wilson c585f1bc5a fakessh: Add integration test for inter-child rsync. 7 years ago
David Wilson 5fc59f72cb master: propagate routes for IDs allocated via ALLOCATE_ID
needed for inter-child rsync.
7 years ago
David Wilson 5da8dc0cdc Allow running without py.test. 7 years ago
David Wilson 959af50c1f Make log_to_file accept string level rather than logging package constant
Saves an import, pain in the ass to type all the time.
7 years ago
David Wilson 3eda5ec671 core: remove pointless eval() of ARGV0 environment variable. 7 years ago
David Wilson 729356b5f0 master: make write_all() handle O_NONBLOCK and deadlines. 7 years ago