refactor: split test.py into modular pytest integration tests + benchmark tool
CI / build-and-test (push) Failing after 0s
CI / build-and-test (pull_request) Successful in 3m17s

- tests/integration/common.py: ServerManager (reuses server across tests),
  run_client, test data generation, verification utilities
- tests/integration/test_tcp.py: 14 TCP transport correctness tests
- tests/integration/test_ssh.py: 10 SSH transport tests (skip when unavailable)
- tests/integration/test_tls.py: 5 TLS encryption tests (new coverage!)
- tests/integration/test_features.py: 13 feature tests (incremental, delete,
  exclude, include, max/min size, bwlimit, dry run, archive, progress)
- tests/integration/test_preflight.py: 7 CLI validation/error tests
- benchmark/bench.py: standalone benchmark with JSON output, p50/p95, multi-run
- Updated Dockerfile with python3-pytest, openssl, openssh-client
- Updated CI to use pytest (gitea.tap-tap.win/taptap/fastsync-ci:v6)
- Removed old monolithic test.py
This commit is contained in:
2026-07-18 19:19:33 +02:00
parent 43ba149ad5
commit b28bac9f41
12 changed files with 1279 additions and 743 deletions
+2 -2
View File
@@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
build-and-test:
runs-on: ubuntu-latest
container: gitea.tap-tap.win/taptap/fastsync-ci:v5
container: gitea.tap-tap.win/taptap/fastsync-ci:v6
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -20,4 +20,4 @@ jobs:
run: ./build/tests
- name: Integration Tests
run: python3 test.py
run: python3 -m pytest tests/ -v --tb=short