David Wilson
16b64392e2
issue #106 : support WANT_JSON modules.
2018-04-01 18:19:34 +01:00
David Wilson
df6daaf3c4
issue #106 : working/semantically compatible binary support.
2018-04-01 16:39:10 +01:00
David Wilson
23366b4580
issue #106 : import binary modules.
2018-04-01 16:39:10 +01:00
David Wilson
0dd5e04eae
issue #106 : partially working BinaryRunner/Planner.
...
Refactor planner.py to look a lot more like runner.py. This 'structural
cutpaste' looks messy -- probably we can simplify this code, even though
it's pretty simple already.
2018-04-01 16:39:10 +01:00
David Wilson
1a040cf5c0
issue #106 : get FileService working.
2018-04-01 16:39:10 +01:00
David Wilson
6aac37e157
issue #106 : allow any context to contact FileService.
...
Also fix privilege check for register command.
2018-04-01 16:39:10 +01:00
David Wilson
8fffb34752
issue #106 : helpers.get_file(), command logging.
...
* Add helpers.get_file() that calls back up into FileService as
necessary. This is a stopgap measure.
* Add logging to exec_args() to simplify debugging of binary runners.
2018-04-01 16:39:10 +01:00
David Wilson
dbaca05ac8
issue #106 : Runner module docstring
2018-04-01 16:39:10 +01:00
David Wilson
f6d436783c
issue #106 : add Service.__repr__, reply to bad calls
...
* Don't hang callers that fail validate_args(), instead tell them their
message was rejected.
* Add Service.repr for nicer logging.
2018-04-01 16:39:10 +01:00
David Wilson
8f175bf7a8
issue #106 : _unpickle_context() did not allow nameless contexts.
...
These are generated by any child calling .context_by_id() without
previously knowing the context's name, such as Contexts set in
ExternalContext.master and ExternalContext.parent.
2018-04-01 16:39:10 +01:00
David Wilson
17bfb596d0
issue #106 : mitogen.service missing from modules list.
2018-04-01 16:39:10 +01:00
David Wilson
504032e6e8
issue #106 : has_parent_authority should accept own context ID.
...
When a stream (such as unix.connect()) has its auth_id set to the
current context's, we should allow those requests too, since the request
is working with the privilege of the current context.
2018-04-01 16:39:10 +01:00
David Wilson
43e4f5009a
issue #106 : remove 2 needless Invocation attributes.
2018-04-01 16:39:10 +01:00
David Wilson
2470f486e1
issue 106: ansible: make the context name available
...
For use later to track/deduplicate streaming uploads to targets.
2018-04-01 16:39:10 +01:00
David Wilson
de27fb3a28
issue #174 : test all io_op() logic.
2018-04-01 16:39:10 +01:00
David Wilson
c891ab078a
issue #106 : working old-style native module execution
...
Still abusing Python import mechanism, but one big step closer to
eliminating that.
2018-04-01 16:39:10 +01:00
David Wilson
34a37a0ba5
issue #106 : ansible: rename and significant pad out runners.py
...
Aiming to have working NativeRunner and BinaryRunner to begin with.
2018-04-01 16:39:10 +01:00
David Wilson
98c15942f7
issue #177 : fix bizarre syntax error in last commit.
2018-04-01 16:38:22 +01:00
David Wilson
17b94c56f4
issue #177 : import reproduction.
2018-04-01 15:59:58 +01:00
David Wilson
cf25437019
issue #177 : populate Shell.tempdir global on creating a tempdir.
...
It looks a lot like multiple calls to _make_tmp_path() will result in
multiple temporary directories on the remote machine, only the last of
which will be cleaned up.
We must be bug-for-bug compatible for now, so ignore the problem in the
meantime.
2018-04-01 15:58:44 +01:00
David Wilson
6eed3aa1fa
issue #177 : fetch and cache HOME value during connection setup.
...
This ensures only 1 roundtrip is required for every invocation of
_remote_expand_user().
2018-04-01 15:57:46 +01:00
dw
772e229b7d
Merge pull request #180 from moreati/procedure-033-03
...
Switch to using unit2 test runner
2018-04-01 10:31:49 +01:00
Alex Willmer
0896e95e2c
Set strict mode in test script
...
Exits with an error if a command is not found, any undefined variable is
used, or a command in a pipeline returns an error.
Should make Travis detect failed tests.
2018-04-01 02:11:37 +01:00
Alex Willmer
f92d88c241
travis: Cache wheels and other pip artifacts
...
Should speedup builds
2018-04-01 02:05:36 +01:00
Alex Willmer
94a082177d
tests: Add coverage as a dev requirement
2018-04-01 02:04:41 +01:00
Alex Willmer
b5848e7116
Ignore compiled Python files
2018-04-01 01:45:22 +01:00
Alex Willmer
5e66f6c4fa
Ignore hidden directory containing tox environments
2018-04-01 01:44:29 +01:00
Alex Willmer
dc60f05a40
tests: Switch to unit2 test runner, with coverage
...
This means test files are imported as modules, not run as scripts. THey
can still be run individually if so desired. Test coverage is measured,
and an html report generated in htmlcov/. Test cases are automativally
discovered, so they need not be listed twice. An overall
passed/failed/skipped summary is printed, rather than for each file.
Arguments passed to ./test are passed on to unit2. For instance
./test -v
will print each test name as it is run.
2018-04-01 01:43:45 +01:00
Alex Willmer
7b8fef5284
tests: Make the tests directory an importable package
...
Required for test discovery by e.g. unit2, pytest
2018-04-01 01:32:13 +01:00
Alex Willmer
a22294dda9
call_function_test: Fix assumption that we run as a script
2018-04-01 01:23:13 +01:00
Alex Willmer
0dcaeb21a2
master_test: Don't assume __file__ points to source code
...
When run under a test runner the unit tests are imported as modules.
This triggers .pyc generation, after which __file__ resolves to the .pyc
file.
2018-04-01 01:21:42 +01:00
Alex Willmer
841c2b13a1
fakessh_test: Apply timeout decorators to rsync tests
...
timeoutcontext.timeout uses SIGALRM, hence it will only work on Unix
like operating systems.
2018-04-01 01:17:29 +01:00
David Wilson
3dc90b7618
issue #106 : import skeletal planner module.
2018-03-30 16:06:23 +05:45
David Wilson
28cd17cf56
issue #106 : import skeletal new executor.
2018-03-30 15:55:38 +05:45
David Wilson
9067a7b173
ansible: Move setLevel() bits together.
2018-03-30 14:42:54 +05:45
David Wilson
6958b8ff09
docs: More getting started.
2018-03-30 13:05:47 +05:45
David Wilson
76ac49dbdc
examples: more comments.
2018-03-30 12:50:12 +05:45
David Wilson
9eccfb4972
examples: add top-level doc
2018-03-30 12:41:53 +05:45
David Wilson
a68e833463
examples: add a ton of comments to mitop.py.
2018-03-30 12:35:41 +05:45
dw
f440e88f2f
Merge pull request #175 from wezm/become-pass
...
Use become_pass for sudo password
2018-03-30 12:01:21 +05:45
Wesley Moore
3d5bbb9a63
Use become_pass for sudo password
2018-03-30 13:00:43 +11:00
David Wilson
682a4ca8d4
issue #174 : reproduction.
2018-03-30 02:31:14 +05:45
David Wilson
fa271fcc8e
issue #174 : select.error interface differs to OSError
...
Only OSError got the magical attribute treatment, select.error still
behaves like a tuple.
2018-03-30 02:25:09 +05:45
David Wilson
ffdd192397
issue #155 : must catch select.error too.
...
Regression caused by merging exception handlers in 9079176
.
2018-03-30 02:22:07 +05:45
David Wilson
8674ec42dd
docs: add new risk
2018-03-30 01:37:17 +05:45
David Wilson
36e1ae15fd
issue #172 : prevent 'No handlers..' error being printed.
2018-03-30 01:10:30 +05:45
David Wilson
e0c4d6b348
ansible: Quick fix for #172 .
2018-03-30 00:13:22 +05:45
David Wilson
bbb0f1bbd8
issue #155 : fix double-fork behaviour and test it this time.
2018-03-29 23:57:24 +05:45
David Wilson
4c433dbed1
parent_test: Add explanation.
2018-03-29 23:49:45 +05:45
David Wilson
bde1778373
tests: merge tty_create_child() test into parent_test and fix hang
2018-03-29 23:36:50 +05:45