Skip to content

fix: port range 8080:80-82 produces only one mapping #82

@Jaro-c

Description

@Jaro-c

Problem

PORTS-001: ports.rs parse_short with a single host port and a container range (e.g. "8080:80-82") silently produces only one port mapping (80→8080) instead of three (80→8080, 81→8081, 82→8082). The zip truncates to the shortest iterator.

EXEC-001: query.rs exec never calls inspect_exec after streaming — the process always exits with code 0 regardless of the command's actual exit status.

LIFE-004: lifecycle.rs parses stop_grace_period from the compose file but ignores it — all stop_container calls hardcode t: Some(10).

Fix

  • PORTS-001: When host_ports.len() == 1 and container_ports.len() > 1, expand the host range starting from host_ports[0].
  • EXEC-001: Call inspect_exec after the output stream closes; return Err(ComposeError::RunExited(code)) for non-zero.
  • LIFE-004: Parse stop_grace_period via size::parse_duration_secs and pass to t; keep 10s default when absent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions