Commit Graph

733 Commits (bf9feac61c4b6897a4f81f976731ff8befd70afe)
 

Author SHA1 Message Date
Alex Willmer bf9feac61c tests: Find all *_test.py scripts and run them
Don't rely on maintaining a list of test files, it's too easy to forget
one and silently fail to run it.
7 years ago
Alex Willmer f89a594a1a tests: Rely on unittest2 to print failure messages 7 years ago
David Wilson 36d81f7771 docs: update limitations list for Ansible. 7 years ago
David Wilson d8a68c52a1 issue #118: log exceptions for emulated commands, fix AttributeError in helpers.py
Turns out Ansible can't be trusted to actually check the result
dictionary everywhere it expects one, so put the real exception text
into -vvv output too.
7 years ago
David Wilson f304bf7cb4 ansible: repro for issue #118. 7 years ago
David Wilson 978e0621d8 ansible: log ansible_mitogen.* to -v too. 7 years ago
David Wilson 7975af527e docs: So many typos 7 years ago
David Wilson 01627991f3 docs: Ansible logging update (#111) 7 years ago
David Wilson 1149decb20 Log and track PIDs everywhere for Ansible. 7 years ago
David Wilson a9c6c139b4 importer: take priority over system packages when whitelisting is enabled
Might want to de-overload the meaning of whitelist in future, but in
the meantime it works fine for Ansible and I can't think of a
whitelisting use case that would break because of it.

Closes #114.
7 years ago
David Wilson d04144e56c ansible: implement _transfer_data for <2.4 template action 7 years ago
David Wilson 6dd1d77bad importer: don't include related modules that are blacklisted
Cuts down on even more spam
7 years ago
David Wilson 5aaa2451a1 importer: _is_stdlib_name() needed to handle relative paths
Was causing tons of log spam due to 'skipping absent related name'
7 years ago
David Wilson 8ac3f3134c Minor cleanup. 7 years ago
David Wilson 6931cc10c4 importer: avoid duplicate module load(!); closes #113.
Amazed this one managed to scrape through for so long. Calling
__import__ from within find_module() was causing the target module, in
this case cookielib, to be loaded *then overwritten* by a subsequent
duplicate load higher in the stack.

The result is that cookielib was loaded twice, and, per usual Python
import semantics, a reference to the partially initialized first
cookielib was installed in sys.modules while its code executed.

At the end of cookielib on 2.x, it imports _LWPCookieJar, which in turn
imports the partially built cookielib from sys.modules, then subclasses
the CookieJar from /that/ module.

Everything is wonderful. Then the call returns back up into the import
mechanism which restarts the entire process -- only this time,
_LWPCookieJar is /not/ reinitialized, so the copy in sys.modules is
still left with types pointing at the old module!

So the duplicate import creates a new CookieJar which is not the base
class of LWPCookieJar. Tada! 3 hours debugging.

This is probably a performance fix in disguise, didn't realize things
were so broken. It may also be a regression elsewhere. Urgently need to
finish the tests.
7 years ago
David Wilson dc0b28491a examples: enable the strategy by default 7 years ago
David Wilson d3712bbacb ansible: redirect logging into display 'framework'. closes #111 7 years ago
David Wilson fc3085b26f importer: quieten one more warning 7 years ago
David Wilson 045745dffe Pin Sphinx version 7 years ago
David Wilson 1a2a5b052f issue #113: import crash reproduction 7 years ago
David Wilson d89b214164 issue #109: do exactly what Ansible does
Could it be that some empty dict magically gets populated from somewhere
invisible?
7 years ago
David Wilson ff151e5145 examples: beginnings of repro for issue #109 7 years ago
David Wilson 61923f1604 importer: quieten 'cannot find source' warning, closes #110 7 years ago
David Wilson ade2b888b1 docs: update Python 3 support to match reality. 7 years ago
David Wilson 2b5e40b708 parent: Add hack for OS X /usr/bin/python
It's a magical switcher that needs argv[0], which we don't provide.
7 years ago
David Wilson ab4439e64f sudo: accept -n too (issue #108) 7 years ago
David Wilson 00b2615a1b sudo: accept but discard -S option. fixes #108 7 years ago
David Wilson bcc61fa869 docs: fix float 7 years ago
David Wilson 60328ac6d4 README: move testing bits into tests directory. 7 years ago
David Wilson b41058e156 ansible: doc updates 7 years ago
David Wilson b1e9e45c49 ssh: Fix AttributeError. 7 years ago
David Wilson 7211e6f816 docs: small fix 7 years ago
David Wilson 49eef4c0ad ansible: correct sys.path fixup. 7 years ago
David Wilson a39ab8fa54 ansible: basic support for ssh_args 7 years ago
David Wilson 8f399083f5 docs: get rid of "medium risk" category 7 years ago
David Wilson 6bc0fd494a ansible: Support ansible_ssh_private_key_file 7 years ago
David Wilson 3beddf39be ansible: limited support for become_flags, more docs. 7 years ago
David Wilson 56b13be718 sudo: support parsing sudo flags back out into parameters 7 years ago
David Wilson 7d10ebbef3 test.sh: make it work on OS X out of the box 7 years ago
David Wilson 2a88b6264f examples: longer (but still crap) async_polling.yml 7 years ago
David Wilson a26e1589e2 examples: import broken non_python_modules.yml. 7 years ago
David Wilson 9133ceac08 docs: Fix install docs now Ansible package layout changed. 7 years ago
David Wilson 3a3356e52e ansible: teach ActionModule to disappear for non-Mitogen Connections
Closes #103.
7 years ago
David Wilson e77c8055fb ansible: restructure package to avoid yet more madness
Ansible's PluginLoader makes up bullshit when it imports a module
(mostly because it has to make up something), therefore we ended up with
duplicate copies of ansible_mitogen loaded: one under
ansible.plugins.*.mitogen, and one under the canonical namespace.

Which broke isinstance().
7 years ago
David Wilson 1e20887416 ansible: mixins.py docstrings. 7 years ago
David Wilson 1b03a79107 docs: mitogen.core.Latch docs 7 years ago
David Wilson 785ccbcb7a tests: import very basic latch_test 7 years ago
David Wilson 979f0a8e2e master: tidy up trixxy importer syntax slightly 7 years ago
David Wilson 950e9f3364 ansible: support environment: too. 7 years ago
David Wilson e3842db315 scirpts: drop old buggy DTrace script 7 years ago