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
David Wilson
6670cba41c
Introduce handler policy functions; closes #138 .
...
Now you can specify a function to add_handler() that authenticates the
message header, with has_parent_authority() and is_immediate_child()
built in.
2018-03-29 21:40:33 +05:45
David Wilson
46a14d4ae2
core: Fix logging crash if data is non-string.
2018-03-29 21:33:59 +05:45
David Wilson
f726ef86de
tests: first_stage_test regression due to 1ff27ada49
2018-03-29 21:33:18 +05:45
David Wilson
40b978c9b7
core: Fix source verification.
...
Previously:
* src_id could be spoofed
* auth_id was checked but the message was still delivered!
2018-03-29 20:24:54 +05:45
David Wilson
fe614aa966
core: cleanup handlers on broker crash; closes #112 .
2018-03-29 19:32:31 +05:45
David Wilson
29e508fde9
ssh: enable app-level keepalive by default; closes #77
2018-03-29 19:16:21 +05:45
David Wilson
1ff27ada49
Add maximum message size checks. Closes #151 .
2018-03-29 18:54:55 +05:45
David Wilson
e1af2db4ae
issue #155 : handle crash in the forking child better.
...
This code path is probably only necessary during development, but it
prevents tracebacks (etc.) getting written over the Stream socket, which
naturally causes corruption.
Instead keep whatever the parent has for stderr, manually write a
traceback there and hard exit.
2018-03-29 17:59:23 +05:45
David Wilson
6db3588c93
Only call _start_transmit when required; closes #165 .
2018-03-29 16:06:18 +05:45
David Wilson
80a97fbc9b
core: Rename Sender.put() to Sender.send().
...
Been annoying me for months.
2018-03-29 15:43:48 +05:45
David Wilson
b48d63f33b
docs: add to_sender() and update serialization notes
2018-03-29 15:38:44 +05:45
David Wilson
085b3d21bd
core: fix call_function_test regression
...
Second time in 3 weeks. So stupid. This time write tests.
2018-03-29 15:34:20 +05:45
David Wilson
0f29baa077
core: support pickling senders, Receiver.to_sender()
...
CC @moreati, in case this impacts you
2018-03-29 15:32:40 +05:45
David Wilson
692af860ba
core: remove use of defer() from _async_route().
2018-03-29 15:14:01 +05:45
David Wilson
8676c40674
core: make _start_transmit / _stop_transmit async-only
...
For now at least, these APIs are always used in an asynchronous context,
so stop using the defer mechanism.
2018-03-29 15:10:43 +05:45
David Wilson
ee0f21d57f
core: remove Queue locking from broker loop.
...
Move defer handling out of Broker and into Waker (where it belongs?).
Now the lock must only be taken if Waker was actually woken.
Knocks 400-item run_hostname_100_times from 10.62s to 10.05s (-5.3%).
2018-03-29 14:38:30 +05:45
David Wilson
17aef51e6e
tests: Import .local() latency test
2018-03-29 14:36:43 +05:45
David Wilson
a8a31728a0
tests: Import Latch soak test
2018-03-29 14:31:57 +05:45
David Wilson
15194abb8c
Remove testlib.py from test.sh.
2018-03-29 14:15:09 +05:45
David Wilson
d6f49a003b
issue #106 : ansible: beginnings of FileService.
2018-03-29 13:52:19 +05:45
David Wilson
6118d4e6df
tests: set MITOGEN_LOG_LEVEL=debug in .travis.yml too.
2018-03-29 07:26:12 +00:00
David Wilson
03fcf057dd
tests: just call log_to_file() from testlib
...
Now we can run test.sh with MITOGEN_LOG_LEVEL=debug and things just
work.
2018-03-29 07:25:11 +00:00
David Wilson
761cd9eaf8
tests: import tty_create_child_test.py.
2018-03-29 13:03:08 +05:45
David Wilson
7b12f84366
core: support CallError(str) for service.py.
2018-03-29 11:53:02 +05:45
David Wilson
c33bc22f21
docs: fix reading time tracking :(
2018-03-28 18:38:20 +05:45