Commit Graph

73 Commits (ed3a945104e206d4d24e0d68ea61e162455311af)

Author SHA1 Message Date
R W H Bricheno 8fb0234176 Prevent MacOS exception on shutdown of closed socket. 7 years ago
R W H Bricheno 5a9c9d7101 Fix getting the directory path on Mac OS X. 7 years ago
Alex Willmer 29529c9a5c tests: Fix GetModuleViaPkgutilTest fetching .pyc
On my laptop (Ubuntu 17.10, Python 2.7.14 in a virtualenv),
`test_regular_mod` fails with

```
AssertionError: "\nimport sys\n\n\ndef say_hi():\n    print 'hi'\n" !=
'\x03\xf3\r\n\xbbW\xd5Yc\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00@\x00\x00\x00s\x19\x00\x00\x00d\x00\x00d\x01\x00l\x00\x00Z\x00\x00d\x02\x00\x84\x00\x00Z\x01\x00d\x01\x00S(\x03\x00\x00\x00i\xff\xff\xff\xffNc\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00C\x00\x00\x00s\t\x00\x00\x00d\x01\x00GHd\x00\x00S(\x02\x00\x00\x00Nt\x02\x00\x00\x00hi(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00sF\x00\x00\x00/home/alex/src/mitogen/tests/data/module_finder_testmod/regular_mod.pyt\x06\x00\x00\x00say_hi\x05\x00\x00\x00s\x02\x00\x00\x00\x00\x01(\x02\x00\x00\x00t\x03\x00\x00\x00sysR\x01\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00sF\x00\x00\x00/home/alex/src/mitogen/tests/data/module_finder_testmod/regular_mod.pyt\x08\x00\x00\x00<module>\x02\x00\x00\x00s\x02\x00\x00\x00\x0c\x03'
```

`__file__` contains the path of the compiled `.pyc`, not the `.py`
source file.
7 years ago
David Wilson f1660d5011 tests: initial first_stage_test. 7 years ago
David Wilson 2e8ed68609 Merge branch 'pr/50' 7 years ago
Alex Willmer fe2bf7111a ssh_test: Correct hostname in SShTest.test_stream_name()
I presume that `u1704` is a relic of a bygone container/host.
7 years ago
Alex Willmer a0fbe99be0 testlib: Wait for sshd before running tests
On Ubuntu 17.10 something (probably Docker) appears to be accepting
connections, before sshd is fully ready. This results in a race
condition, and hence connection errors for the first few tests (2-3 on
my laptop).

testlib.wait_for_port() checks not only that the port can be connected
to, but also something resembling the sshd banner is sent.

Fixes #51
7 years ago
Alex Willmer cae6989932 testlib: Auto negotiate Docker API version
Ubuntu 17.04 provides Docker 1.12.6, which has API version 1.24.
`dev_requirements.txt` specifies the docker-py 2.5.1, which by default
requests API version 1.30.

Hence when the SSH unit tests try to run the container specified in
`DockerizedSshDaemon` an error occurs

```
APIError: 400 Client Error: Bad Request ("client is newer than server
(client API version: 1.30, server API version: 1.24)")
```
7 years ago
David Wilson 492777f61b tests: stop responder_test spamming the logs 7 years ago
David Wilson 9e884d3d8b tests: stop fakessh spamming the logs 7 years ago
David Wilson c83d86f050 importer: Delete _get_module_via_parent entirely
Can't figure out what it's supposed to do any more, and can't find a
version of Ansible before August 2016 (when I wrote that code) that
seems to need it.

Add some more mitigations to avoid sending dylibs.
7 years ago
David Wilson 397ff50a58 Try to be compatible with older Docker daemons; (hopefully) closes #46 7 years ago
David Wilson 8439e889ed core: More robust shutdown
Now there is a separate SHUTDOWN message that relies only on being
received by the broker thread, the main thread can be hung horribly and
the process will still eventually receive a SIGTERM.
7 years ago
David Wilson 1784f3c83a Add test that hangs the main thread during shutdown. 7 years ago
David Wilson fa9def91f2 Implement test_aborted_on_local_context_disconnect 7 years ago
David Wilson e3b51de6b1 Handle docker running on localhost. 7 years ago
David Wilson d7c15859bf Let utils_test run directly too. 7 years ago
David Wilson eac5daf28d Fix select_test failure, remove crap old timing_test. 7 years ago
David Wilson 291a44dc34 Remove proxy_test (duplicates sudo_test) 7 years ago
David Wilson 1f73c32d4c frameworkize nested_test. 7 years ago
David Wilson eb6afee514 Beginnings of module_finder_test 7 years ago
David Wilson fccf1b1cab Fix importer_test constructor signature. 7 years ago
David Wilson e6795a5c43 core: loosen assertion to allow fakessh_test to succeed. 7 years ago
David Wilson 2ed39c411f Allow call_function_test to succeed depite testlib import. 7 years ago
David Wilson 2659cf0ae0 Use enhanced assertRaises in call_function_test.py. 7 years ago
David Wilson b0e13fefdd Fix 2 call_function_test failures. 7 years ago
David Wilson 909937cc21 Simple scan_code_imports test. 7 years ago
David Wilson f57a12b3f9 Fix context naming for sudo and via=. 7 years ago
David Wilson 1a48e37981 Allow running responder_test with unittest. 7 years ago
David Wilson 839a1cbeb1 receiver: only permit one notify callback
There is no point spamming a list for every function call, there is no
use case where multiple notify callbacks would be useful.
7 years ago
David Wilson 031c0f3cf4 issue #20: TestCase subclass with a nicer assertRaises 7 years ago
David Wilson 186d823600 issue #20: tests and fixes for mitogen.master.Select(). 7 years ago
David Wilson 0db472c97b Fix up importer_test. 7 years ago
David Wilson 55bdb50d4f Add README.md to tests subdir. 7 years ago
David Wilson d553295135 Syntax error. 7 years ago
Alex Willmer a8d216eeab Update lingering references to with_broker & run_with_broker
A previous commit renamed run_with_broker() and with_broker() to
run_with_router() and with_router() respctively. Some references were
missed.
7 years ago
David Wilson c585f1bc5a fakessh: Add integration test for inter-child rsync. 7 years ago
David Wilson 5da8dc0cdc Allow running without py.test. 7 years ago
David Wilson 959af50c1f Make log_to_file accept string level rather than logging package constant
Saves an import, pain in the ass to type all the time.
7 years ago
David Wilson 729356b5f0 master: make write_all() handle O_NONBLOCK and deadlines. 7 years ago
David Wilson 16950a1620 core: Make iter_read() handle deadline (and non-blocking IO) properly 7 years ago
David Wilson aa5bc53f6d Update test. 7 years ago
David Wilson d6d83b3fac fakessh: cleanup master test. 7 years ago
David Wilson d84b4bf72a Keep allocate_id() in the enhanced router class. 7 years ago
David Wilson 491b5ab575 core: add ALLOCATE_ID message for fakessh. 7 years ago
David Wilson 3e020ddd09 Fix Channel constructor and add simple test; closes #32 7 years ago
David Wilson d9bf091e6f Simple working fakessh_test. 7 years ago
David Wilson bd2c613b9c Fix up a few more ssh_tests, stop sending 400 modules over network.
Defining functions in the current module was causing the entirety of
py.test and all dependencies to be sucked in.
7 years ago
David Wilson cffaa92fc4 Add rsync and git to build_docker_image too. 7 years ago
David Wilson a89c20e54e Fixup some more tests. 7 years ago