refactor: split test.py into modular pytest integration tests + benchmark tool #21
Reference in New Issue
Block a user
Delete Branch "refactor-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replaces the monolithic 740-line test.py with a modular pytest-based test suite and a standalone benchmark tool.
New structure:
Other changes:
PASS — All review nits are minor and non-blocking. Code is well-structured with clean separation into modular pytest test files. Ready to merge.
Minor nits (non-blocking):
test_features.py:1558—assert len(output) >= 0is a no-optest_ssh.py:1738—__import__("time")should be a top-level importbench.py:287—os.system()should besubprocess.run(check=True)✅ PASS — PR #21 (Test Refactor) — Updated Review
Reviewed 6 new commits since last review:
51f20d1benchmark: suppress server probe noise in output34b46a9tests: share server across tests, suppress probe noisef0c7bb7benchmark: add rsync comparison, configurable data mix, custom network limits4ed514abenchmark: fix rsync network throttling via rsync daemon784c57bshell: add pytest to nix-shell environment045965fbenchmark: add --progress flag with progress bar and ETAKey Changes
conftest.py):session-scopedshared_serverfixture — one server process for the entire test suite instead of 27+ start/stop cycles. Smart optimization.bench.py): Clean standalone tool comparing FastSync vs rsync.RsyncDaemoncontext manager for proper daemon lifecycle.--random-ratio,--size-mb, custom network limits, JSON output, progress bar with ETA.Remaining Minor Nits
test_features.py:177—assert len(output) >= 0is a no-op assertiontest_ssh.py:1954—__import__("time")instead ofimport timeat topbench.py:492—os.system(f"cmake ...")instead ofsubprocess.run()All minor style issues, no functional concerns. PASS.