f218f3ebc2
fix: clean stale pid on remove, use shlex.split for ssh_options
2026-05-21 13:13:25 +08:00
1792eab55d
test: add integration tests for full tunnel lifecycle
2026-05-21 13:07:15 +08:00
4b0e81c556
test: add integration tests for full tunnel lifecycle
...
Exercises the complete PID file lifecycle end-to-end using a real subprocess
with a fake autossh (sleep 60 script), covering start, stop, status, stale PID
cleanup, restart, and idempotency scenarios.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 13:01:40 +08:00
c365e668a5
fix: stale stop message, add restart/start-all/stop-all tests
2026-05-21 12:59:04 +08:00
179e3b2b5c
feat: add CLI lifecycle commands (start, stop, restart, status, check)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 12:47:32 +08:00
2bb08e92c7
fix: single load in remove, use dataclasses.replace in config_cmd, add remove-running test
2026-05-21 12:45:08 +08:00
9e9ba66f1f
fix: remove unused TunnelConfig and ensure_dirs imports from test_cli_config.py
2026-05-21 12:37:50 +08:00
daaffd8291
feat: add CLI config management commands (init, add, remove, list, show, config)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 12:34:09 +08:00
06452f48fe
feat: add display formatting helpers
2026-05-21 12:30:21 +08:00
d1c61ee930
fix: remove unused subprocess import from test_check.py
2026-05-21 12:29:22 +08:00
005be7b31c
feat: add SSH connectivity check
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 12:25:16 +08:00
522fa1b57e
fix: remove unused subprocess import, guard logs dir in start_tunnel
2026-05-21 12:24:20 +08:00
5218431349
feat: add tunnel start/stop with PID file tracking
...
Implements build_autossh_cmd, start_tunnel, and stop_tunnel in process.py.
Adds _reap() helper to handle zombie processes in test environments where
the parent process is long-lived (SIGKILL leaves zombies unless waitpid is called).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 12:19:06 +08:00
8a2e4b6cc0
fix: correct PermissionError handling in is_process_alive, add corrupt PID test
2026-05-21 12:15:19 +08:00
6416f8a8e2
feat: add PID file utilities and tunnel status detection
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 12:10:37 +08:00
62414399b1
fix: clean up config.py unused imports, null-YAML safety, and add non-default roundtrip test
2026-05-21 12:08:56 +08:00
53133ccb67
feat: add TunnelConfig dataclass and YAML I/O
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 11:31:19 +08:00
113cc994b1
chore: add .gitignore and remove cached pycache
...
- Created .gitignore with standard Python patterns
- Removed committed __pycache__/__init__.cpython-314.pyc from git tracking
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-21 11:29:32 +08:00
4070533a68
chore: add uv.lock
2026-05-21 11:22:37 +08:00
0408fc2f7d
feat: scaffold autossh-mgr project structure
2026-05-21 11:22:27 +08:00
e6fc5db85a
Add autossh-mgr implementation plan
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-20 21:34:04 +08:00
84514afe57
Add autossh-mgr design spec
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-20 21:19:25 +08:00