• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tomerfiliba / plumbum / 26766755654
88%

Build:
DEFAULT BRANCH: master
Ran 01 Jun 2026 04:08PM UTC
Jobs 14
Files 46
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Jun 2026 04:07PM UTC coverage: 87.014% (-0.09%) from 87.104%
26766755654

push

github

web-flow
feat(async): support popen on async pipelines (#795) (#804)

* feat(async): support popen on async pipelines (#795)

popen() on an async pipeline previously formulated the pipeline into a
single argv with a literal "|" and exec'd it as one process, so data
never flowed between stages and readline() returned nothing.

Mirror the synchronous Pipeline.popen by connecting the two stages with
an OS pipe, recursing for nested pipelines, and reaping the upstream
process on wait(). As in a shell, the pipeline's return code is that of
its last stage.

Assisted-by: ClaudeCode:claude-opus-4.8
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: wrap Process to allow setting the returncode

Assisted-by: ClaudeCode:claude-opus-4.8
Signed-off-by: Henry Schreiner <henryfs@princeton.edu>

* fix(async): address pipeline popen review feedback

- Close both pipe fds even if a stage fails to spawn (no read_fd leak)
- Expose the pipeline's stdin from the upstream stage on the proxy,
  matching sync Pipeline.popen (dstproc.stdin = srcproc.stdin)
- Add a communicate() that feeds the head stage and reaps both ends,
  so the upstream process is not left as a zombie

Assisted-by: ClaudeCode:claude-opus-4.8

* fix(async): reap upstream stage if downstream spawn fails

If spawning the downstream pipeline stage raises, the already-started
upstream process was left running and unreaped. Kill and await it on
that error path so no child process or pipe end leaks.

Also reword the return-code comment to describe the pipefail-like
combination accurately.

Assisted-by: ClaudeCode:claude-opus-4.8

* feat(async): support pipeline popen on Windows; propagate signals

- Run the pipeline popen tests on all platforms: move them into a new
  TestAsyncPipelinePopen class (not Windows-skipped) and drive every
  stage with sys.executable instea... (continued)

1260 of 1713 branches covered (73.56%)

75 of 92 new or added lines in 1 file covered. (81.52%)

5354 of 6153 relevant lines covered (87.01%)

11.44 hits per line

Uncovered Changes

Lines Coverage ∆ File
17
87.28
-4.09% plumbum/commands/async_.py
Jobs
ID Job ID Ran Files Coverage
1 test-ubuntu-latest-3.9 - 26766755654.1 01 Jun 2026 04:12PM UTC 46
85.4
GitHub Action Run
2 test-ubuntu-latest-3.11 - 26766755654.2 01 Jun 2026 04:12PM UTC 46
85.22
GitHub Action Run
3 test-windows-latest-3.11 - 26766755654.3 01 Jun 2026 04:12PM UTC 46
69.37
GitHub Action Run
4 test-windows-latest-3.14 - 26766755654.4 01 Jun 2026 04:12PM UTC 46
69.19
GitHub Action Run
5 test-windows-latest-3.9 - 26766755654.5 01 Jun 2026 04:12PM UTC 46
69.33
GitHub Action Run
6 test-macos-latest-3.9 - 26766755654.6 01 Jun 2026 04:12PM UTC 46
85.17
GitHub Action Run
7 test-ubuntu-latest-3.13 - 26766755654.7 01 Jun 2026 04:12PM UTC 46
85.4
GitHub Action Run
8 test-ubuntu-latest-3.10 - 26766755654.8 01 Jun 2026 04:12PM UTC 46
85.44
GitHub Action Run
9 test-ubuntu-latest-3.12 - 26766755654.9 01 Jun 2026 04:12PM UTC 46
85.44
GitHub Action Run
10 test-macos-latest-3.14 - 26766755654.10 01 Jun 2026 04:12PM UTC 46
85.19
GitHub Action Run
11 test-macos-latest-3.11 - 26766755654.11 01 Jun 2026 04:12PM UTC 46
85.22
GitHub Action Run
12 test-ubuntu-latest-3.15 - 26766755654.12 01 Jun 2026 04:12PM UTC 46
85.4
GitHub Action Run
13 test-ubuntu-latest-3.14 - 26766755654.13 01 Jun 2026 04:12PM UTC 46
85.4
GitHub Action Run
14 test-ubuntu-latest-pypy-3.11 - 26766755654.14 01 Jun 2026 04:12PM UTC 46
85.35
GitHub Action Run
Source Files on build 26766755654
  • Tree
  • List 46
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 5da22a78 on github
  • Prev Build on master (#26735487827)
  • Next Build on master (#26772874612)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc