David Wilson
d503956493
ansible: Remove duplicate casts already done in Connection
7 years ago
David Wilson
6aeb4e9f05
issue #164 : precisely emulate Ansible's stdio behaviour.
...
* Use identical logic to select when stdout/stderr are merged, so
'stdout', 'stdout_lines', 'stderr', 'stderr_lines' contain the same
output before/after the extension.
* When stdout/stderr are merged, synthesize carriage returns just like
the TTY layer.
* Mimic the SSH connection multiplexing message on stderr. Not really
for user code, but so compare_output_test.sh needs fewer fixups.
7 years ago
David Wilson
c5ca2e87ea
issue #164 : stop tests on first failure
7 years ago
David Wilson
26cc0f2724
issue #164 : fix remote_tmp handling on <2.5
7 years ago
David Wilson
3ebe600389
issue #164 : convert "examples" into actual tests
...
- Add new Travis mode, "ansible_tests.sh" that runs
integrations/all.yml. Slowly build this up over time to cover more of
the existing junk.
- Add basic assertions on the output of the existing runner__* files.
- Wire up 2.4.3/2.5.0 jobs in Travis.
7 years ago
David Wilson
ae75a0ca8c
issue #164 : rearrange playbooks a little more
7 years ago
David Wilson
563639961d
issue #164 : dir structure is gross, but at least tab completion works :>
7 years ago
David Wilson
475d459185
issue #164 : rename 'test' to 'run_tests' to avoid tab complete conflict
7 years ago
David Wilson
49aa8834b0
issue #164 : split "examples" out into regression/integration tests.
7 years ago
David Wilson
aa8d7a0250
issue #164 : verify remote_tmp respected by code running remotely.
7 years ago
David Wilson
e0381606af
Ensure remote_tmp is respected everywhere.
...
Logic is still somewhat different from Ansible: we don't have to care
about sudo/non-sudo cases, etc.
7 years ago
David Wilson
4805f3cf36
issue #164 : slightly flatten docker image layers
7 years ago
David Wilson
8249fa2019
issue #164 : typo x2.
7 years ago
David Wilson
b9afde0e61
issue #164 : typo.
7 years ago
David Wilson
058ddeee58
issue #164 : run against 4 targets.
7 years ago
David Wilson
4c842751d0
issue #164 : run twice to make timing comparable to old reports
7 years ago
David Wilson
2128ffafce
issue #164 : cure type error.
7 years ago
David Wilson
5bf5664667
issue #164 : speed up DH generation step
7 years ago
David Wilson
de5028ac18
issue #164 : arrange for DebOps common.yml to run under Travis.
7 years ago
David Wilson
38311336e1
docs: link to Ansible video demo
7 years ago
David Wilson
0e648dbd53
ansible: tidy up planner.py.
7 years ago
David Wilson
a731be32a2
ansible: use _ansible_shell_executable in ScriptRunner.
...
Now we match Ansible error output and exit status. Ansible:
$ ansible localhost -e end=2 -m custom_binary_single_null
localhost | FAILED! => {
"changed": false,
"module_stderr": "Shared connection to localhost closed.\r\n",
"module_stdout": "/bin/sh: /Users/dmw/.ansible/tmp/ansible-tmp-1522661797.42-158833651208060/custom_binary_single_null: cannot execute binary file\r\n",
"msg": "MODULE FAILURE",
"rc": 126
}
Mitogen now:
localhost | FAILED! => {
"changed": false,
"module_stderr": "/bin/sh: /var/folders/gw/f6w3dgy16fsg5y4kdthbqycw0000gn/T/ansible_mitogenAYF8LM-binary: cannot execute binary file\n",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 126
}
Previously:
localhost | FAILED! => {
"changed": false,
"module_stderr": "<type 'exceptions.OSError'>: [Errno 8] Exec format error",
"module_stdout": "",
"msg": "MODULE FAILURE",
"rc": 1
}
7 years ago
David Wilson
e2542c1683
"examples": add perl script regression tests.
7 years ago
David Wilson
20044ba956
"examples": import all.yml
7 years ago
David Wilson
293567e9d5
ansible: fix low_level_execute_command regression.
7 years ago
David Wilson
fe9bf1d81d
ansible: match Ansible behaviour when script lacks interpreter line.
7 years ago
David Wilson
1fab6d9c25
ansible: permit execve() of temporary files on Linux.
7 years ago
David Wilson
d2c009f70f
"examples": rename regtest.py -> compare_output_test.py
...
Incomplete, but getting better all the time.
7 years ago
David Wilson
8ca8b43df1
tests/bench: import "slightly more reliable time" script
7 years ago
David Wilson
eb402c8bd4
tests/bench: import wrapper script used for blog charts
7 years ago
David Wilson
047458a8b3
"examples": start adding structure to regression tests.
7 years ago
David Wilson
95ca29262a
examples: add README.md to playbook/.
7 years ago
David Wilson
f6b82bb8db
examples: add make output to gitignore.
7 years ago
David Wilson
380ef7376d
ansible: Add support for free strategy.
7 years ago
David Wilson
586318c475
Fix preamble_size.py.
7 years ago
David Wilson
8425b196e7
docs: merge duplicate risks
7 years ago
David Wilson
470d8399a3
ansible: document planner.Planner.
7 years ago
David Wilson
6dcefd631a
issue #106 : docs: remove built-in only limitation :>
7 years ago
David Wilson
c65911e811
Merge branch 'issue106'
7 years ago
David Wilson
822502125d
issue #106 : 2.3.x compatible get_shebang-alike.
7 years ago
David Wilson
e5723e4f5f
ansible: fix _make_tmp_path() regression on 2.3.x.
...
Due to issue #177 .
7 years ago
David Wilson
a5e4a6f346
issue #106 : move helpers.get_bytecode() into NewStyleRunner
7 years ago
David Wilson
41ca3ad94b
issue #106 : delete junk from example module.
7 years ago
David Wilson
2c17d60ffd
issue #106 : import basic regtest.py
7 years ago
David Wilson
a98a51a328
issue #106 : handle JSONARGS modules too.
7 years ago
David Wilson
971b366162
issue #106 : import many more test cases
7 years ago
David Wilson
8cc20856a8
issue #106 : support custom new-style modules + 'reexec by default'
...
Rather than assume any structure about the Python code:
* Delete the exit_json/fail_json monkeypatches.
* Patch SystemExit rather than a magic monkeypatch-thrown exception
* Setup fake cStringIO stdin, stdout, stderr and return those along with
SystemExit exit status
* Setup _ANSIBLE_ARGS as we used to, since we still want to override
that with '{}' to prevent accidental import hangs, but also provide
the same string via sys.stdin.
* Compile the module bytecode once and re-execute it for every
invocation. May change this back again later, once some benchmarks are
done.
* Remove the fixups stuff for now, it's handled by ^ above.
Should support any "somewhat new style" Python module, including those
that just give up and dump stuff to stdout directly.
7 years ago
David Wilson
a954d54644
issue #106 : support old-style too.
7 years ago
David Wilson
16b64392e2
issue #106 : support WANT_JSON modules.
7 years ago
David Wilson
df6daaf3c4
issue #106 : working/semantically compatible binary support.
7 years ago