Skip to content

test: add comprehensive pipeline test coverage - #285

Draft
toddr-bot wants to merge 1 commit into
cpan-authors:mainfrom
toddr-bot:koan.toddr.bot/add-pipeline-tests
Draft

test: add comprehensive pipeline test coverage#285
toddr-bot wants to merge 1 commit into
cpan-authors:mainfrom
toddr-bot:koan.toddr.bot/add-pipeline-tests

Conversation

@toddr-bot

Copy link
Copy Markdown
Contributor

What

Add 29 tests for multi-child pipeline (|) behavior in a new t/pipeline.t.

Why

The pipeline operator is core IPC::Run functionality, yet the test suite had
only 2 pipeline test cases (one in run.t, one in close_stdin.t). This left
data flow, exit code propagation, and resource cleanup across pipeline stages
essentially untested.

How

Tests cover:

  • 2/3/4-stage pipelines verifying data transformation across stages
  • results() and result() exit code inspection per child
  • Per-child stderr capture through shared scalar
  • Async API (start/pump/finish) with streaming pipeline I/O
  • Pipeline timeout behavior
  • File descriptor leak detection across repeated pipeline runs
  • Edge cases: empty input, binary data (0x00-0xFF) preservation

Testing

All 29 new tests pass. Full suite: 892/892 subtests pass (existing pty.t
skip on systems with IO::Pty < 1.25 is unrelated).

🤖 Generated with Claude Code

The '|' pipeline operator is core IPC::Run functionality but had only
2 test cases across the entire suite. Add 29 tests covering:
- 2/3/4-stage pipelines
- Per-child exit code inspection via results()
- Per-child stderr capture
- Async API (start/pump/finish) with pipelines
- Pipeline timeout behavior
- File descriptor leak detection across repeated runs
- Empty input and binary data through pipelines

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant