Alex Willmer
9dce5fe056
tests: Correct DISTRO vs DISTROS usage in CI configurations
...
The environment variable DISTRO is used to set the target Docker image
used when running the Mitogen unit tests. DISTROS is used for the
Ansible integration tests. VER sets the version of Ansible that is
installed on the controller.
When MODE=Mitogen
- there is no need to set VER, because nothing that installs Ansible
- it does not make sense to set DISTROS.
4 years ago
Alex Willmer
f162a8a7c5
Fix DjangoMixin test imports for setuptools >= 50.0
4 years ago
Steven Robertson
22cce2dfae
Merge branch 'master' into collectionsSupport
4 years ago
Alex Willmer
79b4c0f815
tests: Fix AttributeError in callback plugins used by test suite
...
CALLBACK_VERSION et al are documented as required in
https://docs.ansible.com/ansible/2.10/dev_guide/developing_plugins.html#callback-plugins .
The need for document_fragment is noted in
cfa8075537/lib/ansible/plugins/callback/default.py (L28-L32)
Fixes #758
This addresses the following error, seen while running
`ansible_tests.py`.
```
TASK [Gathering Facts gather_timeout=10, gather_subset=['all']]
****************
task path:
/home/alex/src/mitogen/tests/ansible/regression/issue_109__target_has_old_ansible_installed.yml:4
[WARNING]: Failure using method (v2_runner_on_start) in callback plugin
(<ansible.plugins.callback.nice_stdout.CallbackModule object at
0x7f76b3dad090>): 'show_per_host_start'
Callback Exception:
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/executor/task_queue_manager.py",
line 372, in send_callback
method(*new_args, **kwargs)
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/plugins/callback/default.py",
line 240, in v2_runner_on_start
if self.get_option('show_per_host_start'):
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/plugins/callback/__init__.py",
line 91, in get_option
return self._plugin_options[k]
Callback Exception:
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/executor/task_queue_manager.py",
line 372, in send_callback
method(*new_args, **kwargs)
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/plugins/callback/default.py",
line 240, in v2_runner_on_start
if self.get_option('show_per_host_start'):
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/plugins/callback/__init__.py",
line 91, in get_option
return self._plugin_options[k]
[task 339882] 00:00:08.172036 D ansible_mitogen.affinity: CPU mask for
WorkerProcess: 0x000004
Callback Exception:
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/executor/task_queue_manager.py",
line 372, in send_callback
method(*new_args, **kwargs)
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/plugins/callback/default.py",
line 240, in v2_runner_on_start
if self.get_option('show_per_host_start'):
File
"/home/alex/src/mitogen/.tox/py27-ansible2.10/lib/python2.7/site-packages/ansible/plugins/callback/__init__.py",
line 91, in get_option
return self._plugin_options[k]
```
4 years ago
Steven Robertson
5a0da02e6c
code review changes, using when statements and adding trailing comma
4 years ago
Steven Robertson
741e99f698
ansible 2.10 no longer has a at the end of the error msg... 🤦
4 years ago
Steven Robertson
e6d7cd3aff
skip vanilla Ansible 2.10 hanging task if not is_mitogen
4 years ago
Steven Robertson
9e17c98f3f
adding hopefully new-style import that works for Ansible 2.10
4 years ago
Steven Robertson
941132c040
revert missing interpreter change, it breaks with Mitogen and without Mitogen, something else might be causing new-style detection to not work
4 years ago
Steven Robertson
2ecf227e1f
oops, broke new-style missing interpreter detection. Regex should match now
4 years ago
Steven Robertson
cf3d646613
fix custom_python_new_style_missing_interpreter, looks like Ansible 2.10 changed how new-style module detection works
4 years ago
Steven Robertson
518324c371
fix regression in Darwin 19 (OSX 10.15+) ansible python interpreter detection
4 years ago
Steven Robertson
a3b9622f8b
result length is 3 in Azure, 4 on local Mac
4 years ago
Steven Robertson
9f04d6713b
fixed ansible_become_pass test, looks like regression on Ansible's end
4 years ago
Steven Robertson
aac1e7f76a
fix yml parsing
4 years ago
Steven Robertson
fbcf765fb2
oops, yml file can't be empty
4 years ago
Steven Robertson
31670ff993
ignore another flaky test that works locally
4 years ago
Steven Robertson
d978dffe4e
fix ansible version check error
4 years ago
Steven Robertson
5b40b8d155
fix runner_one_job ansible version comparison
4 years ago
Steven Robertson
24d716aab9
oops, 0664 not 0666
4 years ago
Steven Robertson
355e2ffba2
fix fixup_perms2() test
4 years ago
Steven Robertson
22bc5448b1
default copy perms look like 0644 now based on ansible source and docs
4 years ago
Steven Robertson
8481c50a59
ignore synchronize for now, made ticket
4 years ago
Steven Robertson
207e36194d
try and get some visibility into test failures
4 years ago
Steven Robertson
8b2d930042
cffi super old, try and update it
4 years ago
Steven Robertson
e852c65e36
print what's being ran in tests
4 years ago
Steven Robertson
a7705a3435
add back in ansible tests but don't run synchronize
4 years ago
Steven Robertson
49dd8eee1a
figure out what synchronize is now
4 years ago
Steven Robertson
e8fb4071b2
put future import in wrong place
4 years ago
Steven Robertson
c6d42212dd
add some debugging info, was able to run the failed synchronize test locally just fine using test framework, not sure what's going on
4 years ago
Steven Robertson
1091cd7ca1
try and suppress mode warning clogging up logs
4 years ago
Steven Robertson
b26a636bba
remove ansible 2.4-specific test
4 years ago
Steven Robertson
fbb92e461f
fix fixup_perms2 default file mode
4 years ago
Steven Robertson
acde13f9d6
handles a 'wait_for_connection' call right after a task caused a shutdown
5 years ago
Steven Robertson
c12e3d0f92
disable flaky test on py3.6
5 years ago
Steven Robertson
530f5e6412
read in ansible installation version always
5 years ago
Steven Robertson
957e295ba9
google will always be up, just use that
5 years ago
Steven Robertson
40946277c3
actual link
5 years ago
Steven Robertson
1ce0091dbc
github url changed, switch to taco pic because tacos are delicious
5 years ago
Steven Robertson
595569eeab
don't run flaky test on python 2.6
5 years ago
Steven Robertson
101e200538
disabled flaky test
5 years ago
Steven Robertson
1f61b9ee67
making commit to retrigger tests'
5 years ago
Steven Robertson
5196fbbadf
missed a few more tests
5 years ago
Steven Robertson
bc87fb0c5d
change more tests to compare to 'discovered_interpreter' for python_path
5 years ago
Steven Robertson
389cee8c70
fix assertion of python_path, it should be always what 'discovered_interpreter' is
5 years ago
Steven Robertson
e7e1c3bc86
note on changed interpreter value functionality, need to fix the test
5 years ago
Steven Robertson
33e7d0804f
fixed tests, and removed the action hack code
5 years ago
Steven Robertson
cd3b88d9e3
ignore the source command for now; Mac 10.14 uses /bin/sh rather than /bin/sh pointing to /bin/bash and we can't edit it because of SIP
5 years ago
Steven Robertson
f2f1a530a6
disabling another test that passes locally on Mac
5 years ago
Steven Robertson
2fb6f880f3
remove aliasing sh to bash because I can't disable SIP which means /bin isn't writeable
5 years ago
Steven Robertson
769cdf93b7
disabling another test
5 years ago
Steven Robertson
378f6d3f77
disabling another test for now
5 years ago
Steven Robertson
bb048cc03d
accidentally deleted quotes
5 years ago
Steven Robertson
faf7798c16
revert python3 setup + add TODO; python3 tests aren't working now but python2 is EOL so they should work soon
5 years ago
Steven Robertson
1157ff6f43
try fixing mac python symlink weirdness
5 years ago
Steven Robertson
0a34d378c9
change virtualenv creation when running with python 3
5 years ago
Steven Robertson
6fb0bec4ea
another disable
5 years ago
Steven Robertson
fb7de03555
disabling another flaky test
5 years ago
Steven Robertson
2ceb44c337
another disable
5 years ago
Steven Robertson
0ab5bdb7f9
disabling another test
5 years ago
Steven Robertson
8925f8a9d7
disabled another issue with sudo on this test
5 years ago
Steven Robertson
ebf628a812
disabling another test
5 years ago
Steven Robertson
d813092d69
revert hack done to virtualenv test
5 years ago
Steven Robertson
74a6f18f12
disabling another flaky test
5 years ago
Steven Robertson
ecb15cd5f0
disable failing Azure test but that works locally
5 years ago
Steven Robertson
f274ff8cfd
mitogen_test_distro appeared to not be used which broke centos7 trying to run doas not in debian container, so fixing that
5 years ago
Steven Robertson
f90ec39ba6
add 'validate_certs: no' for get_url old versions of python
5 years ago
Steven Robertson
cfb5ebbdd3
ansible < 2.5 didn't have version, but had version_compare
5 years ago
Steven Robertson
38939b2c1b
can't run ansible 2.8.0+ tests on ansible < 2.8.0
5 years ago
Steven Robertson
633675ecfc
ensure that /bin/sh is executable
5 years ago
Steven Robertson
79b8814142
bump macOS test vm to replicate what passes locally
5 years ago
Steven Robertson
a7fe74cdba
forgot to dump gid info
5 years ago
Steven Robertson
96f896b56c
added debugging to figure out what's up with become_user and sudo runas gid not found
5 years ago
Steven Robertson
4776074e42
set up symlink to bash for source test
5 years ago
Steven Robertson
ea245bbff2
don't set global executable...
5 years ago
Steven Robertson
89788a83ed
run with bash as the default shell for tests so source command works
5 years ago
Steven Robertson
c010feec59
to not have to manage various python installs, use simplified 'source' test
5 years ago
Steven Robertson
de114be821
try and bump ansible to the latest 2.8 version to try and fix tests
5 years ago
Steven Robertson
552ae9c6d3
need become: yes for package install
5 years ago
Steven Robertson
c705645ade
need to ensure we can install rh-python for testing
5 years ago
Steven Robertson
72e6abf6db
attempt at fixing 'sudo runas gid invalid value' since the sudo command looks correct
5 years ago
Steven Robertson
51b43104e0
adding interpreter_discovery tests to ci
5 years ago
Steven Robertson
371ef07683
with statement doesn't exist in early python
5 years ago
Steven Robertson
9eedff97a6
closed fp after writing to temp files
5 years ago
Steven Robertson
c9dd36dbc4
pegging back to ans 2.8
5 years ago
Steven Robertson
90d51fcbbd
'fix' test for virtualenv on mac
5 years ago
Steven Robertson
488ab3553e
upgrade ansible back to 2.9.4, and fix issue with virtualenv on Mac
5 years ago
Steven Robertson
e85720f4d5
peg to a previously-passing ansible version
5 years ago
Steven Robertson
6d179da480
ported over tests from ansible validating python interpreter discovery
5 years ago
Steven Robertson
868de4e5ba
added ability to repro current virtualenv bug behind a proxy, and adding verbosity to see why azure is unhappy
5 years ago
David Wilson
d6329f3446
Merge devel/290 @ 79b979ec8544ef5d8620c64068d4a42fabf50415
5 years ago
David Wilson
3023ab3b7b
issue #633 : skip test on older Ansibles.
5 years ago
David Wilson
efd82dd35a
issue #633 : various task_vars fixes
...
- take host_vars from task_vars too
- make missing task_vars a hard error
- update tests to provide stub task_vars
5 years ago
David Wilson
fc09b81949
issue #633 : handle meta: reset_connection when become is active
...
- don't create a new connection during reset if no existing connection
exists
- strip off last hop in connection stack if PlayContext.become is True.
- log a debug message if reset cannot find an existing connection
5 years ago
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
David Wilson
17d0e1b315
issue #543 : skip test that's hard to do on Mac
5 years ago
David Wilson
0e55bb3eb7
image_prep: ensure Mac users can SSH without manual intervention
5 years ago
David Wilson
501cfca82b
issue #543 : make localhost_ansible_tests run locally
5 years ago
David Wilson
115145555e
[linear2] fix another test relying on Connection.parent
5 years ago
David Wilson
a39169ff16
[linear2] fix mitogen_shutdown_all service context access
5 years ago
David Wilson
1fca0b7a94
[linear2] fix MuxProcess test fixture and some merge fallout
5 years ago