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
David Wilson
9035884c77
ansible: abstract worker process model.
...
Move all details of broker/router setup out of connection.py, instead
deferring it to a WorkerModel class exported by process.py via
get_worker_model(). The running strategy can override the configured
worker model via _get_worker_model().
ClassicWorkerModel is installed by default, which implements the
extension's existing process model.
Add optional support for the third party setproctitle module, so
children have pretty names in ps output.
Add optional support for per-CPU multiplexers to classic runs.
5 years ago
David Wilson
6da991fae9
[stream-refactor] Py3.x test fixes
5 years ago
David Wilson
87440ec6f7
[stream-refactor] Debian Docker container image initctl
5 years ago
David Wilson
0e6de532de
[stream-refactor] fix testlib assertion format string
5 years ago
David Wilson
5f7ab220cb
[stream-refactor] statically link doas binary using musl
...
So it can run on CentOS 5
5 years ago
David Wilson
462c4ff59f
[stream-refactor] stop writing to /tmp/foo in fd_check.py.
5 years ago
David Wilson
cd0a557602
[stream-refactor] yet another 2.4 issue in create_child_test
5 years ago
David Wilson
54987100b2
[stream-refactor] allow up to 30 seconds to connect in unix_test
...
It reliably fails when running on a (intentionally) heavily loaded
machine
5 years ago
David Wilson
db9066fbfb
[stream-refactor] mark setns module as requiring Python >2.4
5 years ago
David Wilson
856dfcebcd
[stream-refactor] another 2.4 fix for create_child_test
5 years ago
David Wilson
bed5931194
[stream-refactor] remove one more getuser() usage
5 years ago
David Wilson
2f950b3bda
[stream-refactor] allow doas_test to succeed on CentOS
...
Unlike on Debian, some environment variables that tickle
getpass.getuser() are being inherited. So use getuid() instead.
Also install the doas binary on CentOS. CI was changed (I believe) to
shrink the configuration matrix, and now these tests run on CentOS too.
5 years ago
David Wilson
2ba3973bc5
Pin idna==2.7 when running on Python<2.7.
5 years ago
David Wilson
07f3179e58
[stream-refactor] Py2.4 compat fix for iter_split_test.
5 years ago
David Wilson
f0065d76d8
[stream-refactor] add descriptive task names to _container_prep
5 years ago
David Wilson
bd80d4b0af
[stream-refactor] avoid os.wait3() for Py2.4.
5 years ago
David Wilson
1aceacf89e
[stream-refactor] replace old detach_popen() reference
5 years ago