Commit Graph

818 Commits (7a391022ef300fb27c42c14d08e7e9d9885acebd)

Author SHA1 Message Date
David Wilson b21be478e4 issue #627: add test and tweak Reaper behaviour. 5 years ago
David Wilson e86f371b93 issue #621: send ADD_ROUTE earlier and add test for early logging.
Logs were broken because ADD_ROUTE was being sent *after* messages
started flowing from the new child. That's an explicit non-goal of the
design, so fix it.
5 years ago
David Wilson c81f366fc6 issue #590: whoops, import missing test modules 5 years ago
David Wilson bdf6f1b9a9 issue #590: rework ParentEnumerationMethod to recursively handle bad modules
In the worst case it will start with sys.path and resolve everything
from scratch.
5 years ago
David Wilson 5d6e20bc21 tests: add a few extra service tests. 5 years ago
David Wilson bcca47df3c issue #533: update routing to account for DEL_ROUTE propagation race 5 years ago
David Wilson 3d72cf82e3 tests: use defer_sync() Rather than defer() + ancient sync_with_broker() 5 years ago
David Wilson 11923431a6 tests: one case from doas_test was invoking su 5 years ago
David Wilson 8f99ebdf6f tests: hide memory-mapped files from lsof output
Seems to be no saner way to do this.
5 years ago
David Wilson 8a870f1402 issue #625: use exec() instead of subprocess in mitogen_ansible_playbook
This is just to make CTRL+C handling less confusing. Alternate would be
ignoring SIGINT, but this is simpler.
5 years ago
David Wilson 0e489625ed issue #615: regression test 5 years ago
David Wilson 3f5ff17c8c issue #615: route a dead message to recipients when no reply is expected 5 years ago
David Wilson bc275b2526 tests: another random string changed in 2.8.3 5 years ago
David Wilson 7e0c2fd1af tests: fix sudo_flags_failure for Ansible 2.8.3 5 years ago
David Wilson 206a8d4aeb issue #558: disable test on OSX to cope with boundless mediocrity 5 years ago
David Wilson 8dfb3966df issue #558, #582: preserve remote tmpdir if caller did not supply one
The undocumented 'tmp' parameter controls whether _execute_module()
would delete anything on 2.3, so mimic that. This means
_execute_remove_stat() calls will not blow away the temp directory,
which broke the unarchive plugin.
5 years ago
David Wilson 0c1d882547 issue #613: must await 'exit' and 'disconnect' in wait=False test 5 years ago
David Wilson 4b9b1ca24d tests: work around AnsibleModule.run_command() race.
See https://github.com/ansible/ansible/issues/51393
5 years ago
David Wilson 9b45872246 issue #598: allow disabling preempt in terraform 5 years ago
David Wilson 4fa760cd21 issue #613: add tests for all the weird shutdown methods 5 years ago
David Wilson 57012e0f72 Add mitogen.core.now() and use it everywhere; closes #614. 5 years ago
David Wilson 7d4ae6cec4 issue #615: fix up FileService tests for new logic
Can't perform authorization test in the same process so easily any more
since it checks is_privileged
5 years ago
David Wilson 588859423a issue #615: another Py3x fix. 5 years ago
David Wilson 9e1e1ba015 issue #615: Py3x fix. 5 years ago
David Wilson 5af6c9b26f issue #615: use FileService for target->controll file transfers 5 years ago
David Wilson 8bac1cf368 issue #482: another Py3 fix 5 years ago
David Wilson cf23d0dee6 issue #279: add one more test for max_message_size 5 years ago
David Wilson 1e3621a88b tests: fix format string error 5 years ago
David Wilson 83a86a2ce1 issue #482: tests: fail DockerMixin tests if stray processes exist 5 years ago
David Wilson 5924af1566 [security] core: undirectional routing wasn't respected in some cases
When creating a context using Router.method(via=somechild),
unidirectional mode was set on the new child correctly, however if the
child were to call Router.method(), due to a typing mistake the new
child would start without it.

This doesn't impact the Ansible extension, as only forked tasks are
started directly by children, and they are not responsible for routing
messages.

Add test so it can't happen again.
5 years ago
David Wilson ecc570cbda select: make Select.add() handle multiple buffered items.
Previously given something like:

    l = mitogen.core.Latch()
    l.put(1)
    l.put(2)

    s = mitogen.select.Select([l], oneshot=False)
    assert 1 == s.get(block=False)
    assert 2 == s.get(block=False)

The second call would throw TimeoutError, because Select.add() only
queued the receiver/latch once if it was non-empty, rather than once for
each item as should happen.
5 years ago
David Wilson c0d87c0aa1 testlib: use lsof +E for much clearer leaked FD output 5 years ago
David Wilson f4cee16526 parent: zombie reaping v3
Improvements:

- Refactored off Process, separately testable without a connection
- Don't delay Broker shutdown indefinitely for detached children
5 years ago
David Wilson 9c0cb44ee9 issue #170: replace Timer.cancelled with Timer.active
It's more flexable: False can represent 'cancelled' or 'expired',
whereas setting cancelled=True for an expired timer didn't feel right.
5 years ago
David Wilson 22a07a043b tests: fix error in affinity_test 5 years ago
David Wilson 212f6a3529 tests: stop dumping Docker help output in the log. 5 years ago
David Wilson 711f46aee9 tests: move tty_create_child tests together 5 years ago
David Wilson aa06b960f5 parent: define Connection behaviour during Broker.shutdown()
- Connection attempt fails reliably, and it fails with CancelledError
- Add new mitogen.core.unlisten()
- Add test.
5 years ago
David Wilson 19b259a45f issue #549: skip Docker tests if Docker is unavailable 5 years ago
David Wilson dcfd733e6f issue #549: remove Linux-specific assumptions from create_child_test
Some stat fields are implementation-specific, little value even testing
them on Linux
5 years ago
David Wilson e4321f81a0 issue #600: /etc/environment may be non-ASCII in an unknown encoding 5 years ago
David Wilson b75198396d Fix unit_Test.ClientTest following 108015aa22
Closes #604
5 years ago
David Wilson 28b4d63e49 tests: terraform tweaks 5 years ago
David Wilson 5ed0b93669 tests: update gcloud.py to match terraform config 5 years ago
David Wilson de2e1ec184 tests/ansible/gcloud: terraform conf for load testing 5 years ago
David Wilson 108015aa22 ansible: gracefully handle failure to connect to MuxProcess
It's possible to hit an ugly exception during early CTRL+C
5 years ago
David Wilson a9d3fdf6b7 ansible: fix affinity tests for 5ae45f6612390bbc888b65964fb5c218feed1679 5 years ago
David Wilson ebb4a7ca6a issue #543: dumb fix for file vs. stat :( 5 years ago
David Wilson f3915b5f40 issue #543: disable host key checking 5 years ago
David Wilson 0741876392 issue #543: Hide Mitogen test users from gdm 5 years ago