sslsplit
sslsplit copied to clipboard
End-to-end test framework
Add an initial version of an end-to-end test framework: A set of python scripts that start sslsplit in various configurations, send requests through it, checking all of client-side, server-side and resulting logs. Test case specification with script callbacks (test cases are python modules).
- [ ] Make initial list of tests we'd want to be able to support, decide on minimal viable feature set
- [x] Research if there is already an existing test framework that could support our use cases
- [ ] Write initial set of end-to-end tests covering most frequent/important use cases, which must cover as an absolute minimum at least the
tcpandsslmodes, the single-file connection log, and the single-file content log - [ ] Run the end-to-end tests as part of
make test, including TravisCI builds - [ ] Manage the test dependencies in
GNUmakefile
~~Only if using an existing framework:~~
- [x] ~~Learn and configure it for our purposes~~
Only if not using an existing framework:
- [ ] Design and document basic structure of a test
- [ ] Write test runner: loading all tests, setting up fixtures (e.g. server), running tests, reporting results; consider using Docker as an underlying fabric
Out of scope:
- Achieving comprehensive test coverage, especially for less common features and scenarios
- Performance testing
develop gained a Dockerfile that could serve as a base for test containers.