Commit bb30538
committed
feat: add ContainerGuardSet for multi-container test management
Implements Issue #220 - ContainerGuardSet for managing multiple
containers as a group with coordinated lifecycle.
Features:
- Type-erased storage for heterogeneous template types
- Shared network support with automatic creation/cleanup
- Coordinated startup via start_all()
- Access containers by name via contains() and names()
- Automatic cleanup on drop with panic handling
- Builder pattern for configuration
API:
- ContainerGuardSet::new() returns builder
- Builder.add(template) adds containers
- Builder.with_network() sets shared network
- Builder.keep_on_panic() preserves containers on test failure
- Builder.wait_for_ready() controls readiness checks
- Builder.start_all() starts containers and returns guard set
- GuardSet.contains(name) checks for container
- GuardSet.names() iterates container names
- GuardSet.network() returns shared network name
Closes #2201 parent 0d14769 commit bb30538
2 files changed
Lines changed: 526 additions & 2 deletions
0 commit comments