Commit Graph

19 Commits

Author SHA1 Message Date
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 1ff27ada49 Add maximum message size checks. Closes #151. 2018-03-29 18:54:55 +05:45
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 ec1de4b4b9 tests: ensure strace is available in the docker image..
..and enable privileged=True since that's needed for ptrace()
2018-03-19 21:58:28 +05:45
Alex Willmer 7e01c5bed5 Import and use unittest2 without aliasing it 2018-03-19 21:58:28 +05:45
Alex Willmer df9556d1d9 Replace custom assertContains() with unitest2 assertIn() 2018-03-19 21:58:27 +05:45
Alex Willmer 17da6e9998 Use unittest2 in all tests
This allows using features such as TestCase,assertIsInstance on Python
2.6 and earlier.
2018-03-19 21:58:27 +05:45
R W H Bricheno df61f6ab4d Prevent MacOS exception on shutdown of closed socket. 2018-03-19 21:58:27 +05:45
David Wilson 65defaa354 tests: initial first_stage_test. 2018-03-19 21:58:27 +05:45
Alex Willmer 8dcfb1b7f7 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)")
```
2018-03-19 21:58:27 +05:45
Alex Willmer dfc7b85504 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
2018-03-19 21:58:27 +05:45
David Wilson 17a05dc14f Try to be compatible with older Docker daemons; (hopefully) closes #46 2018-03-19 21:35:37 +05:45
David Wilson dfe68b33d6 Handle docker running on localhost. 2018-03-19 21:35:37 +05:45
David Wilson bc801bc2ed Allow call_function_test to succeed depite testlib import. 2018-03-19 21:35:37 +05:45
David Wilson bcae62c682 issue #20: TestCase subclass with a nicer assertRaises 2018-03-19 21:35:36 +05:45
David Wilson 3a0f03183c Simple working fakessh_test. 2018-03-19 21:35:35 +05:45
David Wilson e2d3ac9b6a Fixup some more tests. 2018-03-19 21:35:35 +05:45
David Wilson b51e41edb5 Working DockerMixin for tests. 2018-03-19 21:35:17 +05:45
David Wilson e7ff6259a3 Initial commit. 2018-03-19 21:35:13 +05:45