David Wilson
6859186069
tests: disable affinity_test on Travis :/
2019-02-09 22:45:50 +00:00
David Wilson
19ae7b7a84
issue #508 : fix responder stats test due to new smaller parent.py.
2019-02-09 22:20:54 +00:00
David Wilson
953a910881
issue #508 : tests: skip minify_test Py2.4/2.5 for profiler.py.
2019-02-09 22:20:48 +00:00
David Wilson
263f530496
tests: fix fallout from 36fb318adf5c56e729296c3efce84f4dd75ced4e
2019-02-09 22:20:47 +00:00
David Wilson
8026e54b9b
tests: move affinity_test to Ansible tests.
2019-02-09 22:20:47 +00:00
David Wilson
e703522010
issue #505 : docs: add new detail graph for one scenario.
2019-02-09 22:20:47 +00:00
David Wilson
b2bae9deed
tests: pad out localhost-*
2019-02-09 22:20:47 +00:00
David Wilson
fda7d5c276
bench: tidy up and cpu-pin some more files.
2019-02-09 22:20:40 +00:00
David Wilson
29adfbea59
tests: add localhost-x100
2019-02-09 22:20:40 +00:00
David Wilson
0e193c223c
issue #508 : master: minify all Mitogen/ansible_mitogen sources.
...
Minify-safe files are marked with a magical "# !mitogen: minify_safe"
comment anywhere in the file, which activates the minifier. The result
is naturally cached by ModuleResponder, therefore lru_cache is gone too.
Given:
import os, mitogen
@mitogen.main()
def main(router):
c = router.ssh(hostname='k3')
c.call(os.getpid)
router.sudo(via=c)
SSH footprint drops from 56.2 KiB to 42.75 KiB (-23.9%)
Ansible "shell: hostname" drops 149.26 KiB to 117.42 KiB (-21.3%)
2019-02-09 22:20:34 +00:00
David Wilson
b72d139bd2
tests: make soak testing work reliably on vanilla.
...
It claims to disable host key checking, but it doesn't.
2019-02-09 22:04:19 +00:00
David Wilson
b59a47aecb
tests: make mitogen_shutdown_all be run_once by default.
2019-02-09 22:04:18 +00:00
David Wilson
e77048ec2d
utils: pad out reset_affinity() and integrate with detach_popen()
2019-02-09 22:04:18 +00:00
David Wilson
2209d880e4
ansible/bench: make end= configurable.
2019-02-09 22:04:18 +00:00
David Wilson
954f874085
issue #527 : catch new-style module tracebacks like vanilla.
2019-02-09 19:43:35 +00:00
David Wilson
60fe3fd6f5
issue #429 : enable en_US locale to unbreak debops test.
2019-01-29 06:01:48 +00:00
David Wilson
7531af3ee0
issue #499 : fix another mind-numbingly stupid vanilla inconsistency
2019-01-29 06:01:48 +00:00
David Wilson
a40946297f
issue #497 : do our best to cope with crap upstream code
2019-01-29 06:01:48 +00:00
David Wilson
2fdbd0cfcd
ssh: fix test to match updated log format.
2019-01-29 06:01:48 +00:00
David Wilson
6e9f8e829e
issue #429 : teach sudo about every know i18n password string.
2019-01-29 06:01:48 +00:00
David Wilson
960e505f07
issue #429 : install i18n-related bits in test images.
2019-01-29 06:01:48 +00:00
David Wilson
eb93f82d05
tests: ensure file is closed in connection_test.
2019-01-29 06:01:48 +00:00
David Wilson
73979043ad
gcloud: small updates
2019-01-29 06:01:48 +00:00
David Wilson
59068ca955
tests: give ansible/gcloud/ its own requirements file.
2019-01-29 06:01:48 +00:00
David Wilson
9df314f9c5
issue #499 : another totally moronic implementation difference
2019-01-29 03:55:18 +00:00
David Wilson
53794469a0
issue #499 : disable new test on vanilla.
2019-01-29 03:26:21 +00:00
David Wilson
a1121c5a84
issue #499 : respect C.BECOME_ALLOW_SAME_USER.
2019-01-29 02:53:21 +00:00
David Wilson
b254051416
ansible: add test to ensure UNIX socket is cleaned on exit; closes #488 .
2019-01-27 19:29:16 +00:00
David Wilson
628e8f4466
Bump PyYaML to a 3.7-compatible version.
2019-01-27 19:23:44 +00:00
David Wilson
3435f24e8d
issue #479 : ModuleFinder special case for __main__ on Py3.x.
2019-01-27 16:17:56 +00:00
David Wilson
a7da1b048b
tests: just disable the test.
2019-01-27 06:37:06 +00:00
David Wilson
cdb1434809
tests: hopefully fix this dumb test for the final time
2019-01-27 06:21:14 +00:00
David Wilson
a67cc85bdb
issue #477 : use MITOGEN_INVENTORY_FILE everywhere.
2019-01-27 05:45:24 +00:00
David Wilson
ea23d7fd54
issue #477 : hacksmash weird 2.3 inventory_file var issue.
2019-01-27 05:31:26 +00:00
David Wilson
9aff8edf50
issue #477 : one more conditional test.
2019-01-27 04:44:50 +00:00
David Wilson
e133b8dbb1
issue #477 : some more conditional tests.
2019-01-27 04:43:12 +00:00
David Wilson
599da0689a
issue #477 / ansible: avoid a race in async job startup.
...
Ansible 2.3/Python 2.4 work revealed there is no guarantee a slow target
will have written the initial job status file out before a fast
controller makes an initial check for it. Therefore, provide AsyncRunner
with a sender it should send a message to when the initial job file has
been written.
As a bonus, also catch and report exceptions happening early in
AsyncRunner, rather than leaving them to end up in -vvv output.
2019-01-27 04:27:41 +00:00
David Wilson
c61498202e
issue #477 : use assert_equal for nicer debug.
2019-01-27 03:50:41 +00:00
David Wilson
5e4066bb64
issue #477 : add Connection.homedir test.
2019-01-27 03:30:30 +00:00
David Wilson
8385c38cff
issue #477 : paper over Ansible 2.3 flag handling difference
2019-01-27 02:30:59 +00:00
David Wilson
b67e4e118e
issue #477 : update forking_correct_parent for subprocess isolation
2019-01-27 02:16:43 +00:00
David Wilson
abb0319bbb
issue #477 : get rid of perl JSON module requirement.
2019-01-27 02:03:37 +00:00
David Wilson
7d1b0e0807
issue #477 : Ansible 2.3 did not support gather_facts min subset.
2019-01-27 02:03:15 +00:00
David Wilson
b0ec398755
issue #477 : CentOS 5 image requires perl installed too.
2019-01-27 01:33:44 +00:00
David Wilson
0a9c3dcc40
issue #477 : missing stub-su.py from 137f5fa6c5
2019-01-27 01:25:12 +00:00
David Wilson
2f087859bc
issue #477 : 2.4-compatible syntax.
2019-01-27 01:22:14 +00:00
David Wilson
7abe5ff564
issue #477 : clearing glibc caches is not possible on Py2.4.
2019-01-27 01:21:37 +00:00
David Wilson
9377fed96b
issue #477 : install simplejson for vanilla tests.
2019-01-27 01:13:58 +00:00
David Wilson
137f5fa6c5
issue #477 : add basic su_test and Py2.4 polyfill.
2019-01-27 00:56:19 +00:00
David Wilson
d9efeb950a
issue #477 : import updated Python build scripts
...
Now using Docker to get correct libc.
2019-01-27 00:37:13 +00:00
David Wilson
ba59b80bea
issue #477 : initial Python 2.4.6 build for CI.
2019-01-26 22:51:41 +00:00
David Wilson
217e65dcbc
issue #477 : enable git-lfs for tests/data/*.tar.bz2.
2019-01-26 22:02:54 +00:00
David Wilson
ffb1b842db
issue #477 : import build script for Python 2.4.6.
2019-01-26 22:02:14 +00:00
David Wilson
767331d76f
issue #477 : disable Django parts of module_finder_test on 2.4.
2019-01-26 20:49:58 +00:00
David Wilson
b6634194af
issue #477 : clean up globals after unix_test.
2019-01-26 20:39:24 +00:00
David Wilson
30d933b299
issue #477 : remove unused pytest bits from importer_test.
2019-01-26 20:27:01 +00:00
David Wilson
69c27a33fc
issue #477 : remove fork use from unix_test.
2019-01-26 20:26:24 +00:00
David Wilson
fedd294f96
issue #485 : import new throuhgput bench
2019-01-26 19:14:28 +00:00
David Wilson
6281f231cb
issue #477 : more fork removal
2019-01-26 03:51:48 +00:00
David Wilson
25bffc424d
issue #477 : util/fakessh/two_three_compat fixes.
2019-01-26 02:56:35 +00:00
David Wilson
61297c24e5
issue #477 : call_function_test fixes for 2.4.
2019-01-26 02:46:32 +00:00
David Wilson
dd30a907ce
issue #477 : promote setup_gil() to mitogen.utils
...
This is since ansible_mitogen/process.py is 2.6-only, and I want to use
setup_gil() in 2.4 code.
2019-01-26 02:06:33 +00:00
David Wilson
cef7c1ccc7
issue #477 : fix lxc_test any polyfill import.
2019-01-26 01:59:42 +00:00
David Wilson
f420d876f2
issue #477 : stop using fork in responder_test.
2019-01-26 01:46:43 +00:00
David Wilson
9d5b3d9e02
issue #477 : stop using fork in service_test.
2019-01-26 01:40:02 +00:00
David Wilson
101e1c17b1
issue #477 : stop using fork() in parent_test, compatible enumerate().
2019-01-26 01:39:07 +00:00
David Wilson
9f10695ee2
issue #477 : Popen.terminate() polyfill for Py2.4.
2019-01-26 01:38:03 +00:00
David Wilson
b7f39f26cd
issue #477 : stop using .fork() in router_test, one small 2.4 fix.
2019-01-26 01:14:37 +00:00
David Wilson
9248b6d2b6
issue #477 : old Py zlib did not include extended exception text.
2019-01-26 00:49:18 +00:00
David Wilson
b831b4ab31
issue #477 : stop using router.fork() in receiver_test
2019-01-26 00:49:02 +00:00
David Wilson
a33767d31e
issue #477 : any() polyfill for lxc_test.
2019-01-26 00:48:38 +00:00
David Wilson
3b4f184298
issue #477 : replace type(e) -> __class__ for an exception
...
Due to old style exception classes.
2019-01-26 00:48:06 +00:00
David Wilson
b985224ff6
issue #477 : old Mock does not throw side_effect exceptions from a list
2019-01-26 00:47:35 +00:00
David Wilson
6a2f88d6a3
issue #477 : make mitogen.fork unsupported on Py<2.6.
2019-01-25 23:47:08 +00:00
David Wilson
51294db52d
issue #477 : fix 2 runner tests on Ansible 2.7.
2019-01-25 16:17:29 +00:00
David Wilson
01db198122
issue #477 : fix new KwargsTest on Python 3.x.
2019-01-25 16:02:26 +00:00
David Wilson
d4897d37bb
issue #477 : ModuleFinder now returns Unicode module names.
2019-01-25 15:56:06 +00:00
David Wilson
c443244986
issue #477 : Ansible 2.3 compatible regression/all.yml.
2019-01-24 20:00:44 +00:00
David Wilson
532ae92029
issue #477 : Ansible 2.3 requires placeholder module for assert_equals
2019-01-24 19:58:42 +00:00
David Wilson
572db1a385
issue #477 : build a CentOS 5/Py2.4 container + playbook compat fixes.
2019-01-24 19:57:24 +00:00
David Wilson
0b0ae5c971
issue #477 : backport various test modules to Python 2.4.
2019-01-24 17:21:07 +00:00
David Wilson
462a8567e5
issue #477 : add all() polyfill to custom_python_detect_environmnet
2019-01-24 17:13:42 +00:00
David Wilson
e9706a4a09
issue #477 : _update_linecache() must append newlines.
2019-01-24 16:59:24 +00:00
David Wilson
19b708e141
issue #415 , #477 : Poller must handle POLLHUP too.
...
Linux will fire poll() with simply the POLLHUP bit set even though it
was not requested, resulting in an infinite loop.
2019-01-24 15:04:56 +00:00
David Wilson
97a96f5dd8
issue #477 : rename and add tests for polyfill functions.
2019-01-24 13:27:05 +00:00
David Wilson
dc01f9e47e
issue #477 : Ansible 2.3 module output format difference.
...
Don't test for keys it doesn't set.
2019-01-24 04:21:44 +00:00
David Wilson
b6062afe24
issue #477 : Ansible 2.3 cannot use when: on an include.
...
So just use our magic action module to reset the connection instead.
2019-01-24 04:21:02 +00:00
David Wilson
c1a4597e32
issue #477 : tests: use Ansible 2.3-compatible include rather than import
...
This will break with Ansible 2.8. Probably going to end up with a regex
hack for CI.
2019-01-24 04:17:07 +00:00
David Wilson
83aff538b3
issue #477 : testlib: Py2.4 did not have BaseException.
2019-01-24 03:40:59 +00:00
David Wilson
be8562ce09
issue #477 : Ansible 2.3 had stricter arg spec format.
2019-01-24 03:29:49 +00:00
David Wilson
0ee8ee78b8
issue #477 : Py2.4 cannot tolerate unicode kwargs.
2019-01-23 23:48:09 +00:00
David Wilson
4388e794ce
issue #477 : Py2.4: enumerate() may return stopped threads.
2019-01-23 21:28:50 +00:00
David Wilson
07401d767a
issue #477 : Python 2.4 type(exc) returns old-style instance.
2019-01-23 18:45:46 +00:00
David Wilson
2ead451277
issue #477 : Python 2.4 lacked str.partition.
2019-01-23 16:37:35 +00:00
David Wilson
2ec19f2374
issue #477 : Python 2.4 lacked Thread.name.
2019-01-23 16:37:22 +00:00
David Wilson
2f016b5c7b
issue #477 : Python 2.4 lacked context managers.
2019-01-23 16:37:00 +00:00
David Wilson
66b64cae2c
issue #477 : older Ansibles had no vars plugin base class.
2019-01-23 14:34:51 +00:00
David Wilson
d6945443b7
tests: add exact test for issue 251; closes #251 .
2019-01-22 02:52:42 +00:00
David Wilson
23866084d7
issue #412 : promote "mitogen_get_stack" to the main extension.
...
This is to make it easier for users to diagnose their own problems.
2019-01-22 01:42:15 +00:00
David Wilson
2ad05f1238
issue #251 , #412 , #434 : fix connection configuration brainwrong
...
This refactors connection.py to pull the two huge dict-building
functions out into new transport_transport_config.PlayContextSpec and
MitogenViaSpec classes, leaving a lot more room to breath in both files
to figure out exactly how connection configuration should work.
The changes made in 1f21a30
/ 3d58832
are updated or completely removed,
the original change was misguided, in a bid to fix connection delegation
taking variables from the wrong place when delegate_to was active.
The Python path no longer defaults to '/usr/bin/python', this does not
appear to be Ansible's normal behaviour. This has changed several times,
so it may have to change again, and it may cause breakage after release.
Connection delegation respects the c.DEFAULT_REMOTE_USER whereas the
previous version simply tried to fetch whatever was in the
'ansible_user' hostvar. Many more connection delegation variables closer
match vanilla's handling, but this still requires more work. Some of the
variables need access to the command line, and upstream are in the
process of changing all that stuff around.
2019-01-22 00:40:32 +00:00