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

penguinolog / urwid / 41618009658
94%

Build:
DEFAULT BRANCH: master
Ran 03 Nov 2026 10:18AM UTC
Jobs 20
Files 74
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

03 Nov 2026 10:12AM UTC coverage: 92.018% (+0.2%) from 91.781%
41618009658

push

github

web-flow
Add get_running_loop() and watch the Terminal pty on the running loop (#1569)

* Add get_running_loop() for the MainLoop of the current thread and task

Widgets and callbacks can find the loop they run under instead of being
handed it; get_running_loop_or_none() returns None where none runs.

- A ContextVar holds a tuple of activation records shared by every
  context that copies it; start() publishes one, stop() clears it, so
  the loop disappears from all of them at once and none keeps it alive.
- Every alarm, watched file, watched pipe, input and idle callback runs
  with the loop current, also where the event loop copied the context
  before start() (asyncio, trio).
- A callback that runs after stop() sees no loop, not another loop
  running in the context it inherited.
- draw_screen() and process_input() called by hand see the loop even
  before start().
- watch_file() hands the event loop a wrapper instead of the callback.
- A failed start() nested in a callback of the same loop keeps the
  outer run current.

* Service watched descriptors in the screen-driven main loop

The loop for a screen without event loop support (the curses screen)
ran alarms but never the callbacks of watch_file() and watch_pipe().

- While something is watched, the wait for input is cut into 0.1 s
  polls, and ready watches run after each read; the screen is redrawn
  after a watch ran.
- A watch removed or replaced by an earlier callback of the same pass
  is skipped.
- On Windows the curses screen cannot stop waiting before a key, so
  watches are checked only after input, as expired alarms already are.

* Watch the Terminal pty on the running loop

A Terminal built without main_loop= watched its pty on a private
SelectEventLoop that nothing ran, so it showed no child output.

- Without main_loop= the pty is watched on the started MainLoop the
  terminal is rendered under; the watch moves at the first render
  under another loop, another start of the same loop, or no ... (continued)

6316 of 7054 branches covered (89.54%)

Branch coverage included in aggregate %.

159 of 161 new or added lines in 2 files covered. (98.76%)

52 existing lines in 3 files now uncovered.

15956 of 17150 relevant lines covered (93.04%)

17.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
98.02
0.29% urwid/event_loop/main_loop.py

Coverage Regressions

Lines Coverage ∆ File
31
92.13
0.53% urwid/vterm.py
14
58.11
0.0% urwid/__init__.py
7
88.35
1.22% urwid/command_map.py
Jobs
ID Job ID Ran Files Coverage
1 run-3.15-macos-latest - 41618009658.1 03 Nov 2026 10:35AM UTC 74
90.85
GitHub Action Run
2 run-pypy3.11-windows-latest - 41618009658.2 03 Nov 2026 10:26AM UTC 74
79.76
GitHub Action Run
3 run-3.11-ubuntu-latest - 41618009658.3 03 Nov 2026 10:19AM UTC 74
90.87
GitHub Action Run
4 run-3.14-ubuntu-latest - 41618009658.4 03 Nov 2026 10:18AM UTC 74
90.85
GitHub Action Run
5 run-pypy3.11-ubuntu-latest - 41618009658.5 03 Nov 2026 10:23AM UTC 74
89.73
GitHub Action Run
6 run-3.12-ubuntu-latest - 41618009658.6 03 Nov 2026 10:18AM UTC 74
90.84
GitHub Action Run
7 run-3.11-macos-latest - 41618009658.7 03 Nov 2026 10:23AM UTC 74
90.87
GitHub Action Run
8 run-3.13-ubuntu-latest - 41618009658.8 03 Nov 2026 10:19AM UTC 74
90.84
GitHub Action Run
9 run-3.15t-ubuntu-latest - 41618009658.9 03 Nov 2026 10:19AM UTC 74
90.19
GitHub Action Run
10 run-3.15t-windows-latest - 41618009658.10 03 Nov 2026 10:23AM UTC 74
79.82
GitHub Action Run
11 run-3.12-windows-latest - 41618009658.11 03 Nov 2026 10:20AM UTC 74
80.11
GitHub Action Run
12 run-3.14t-windows-latest - 41618009658.12 03 Nov 2026 10:22AM UTC 74
79.82
GitHub Action Run
13 run-3.13t-ubuntu-latest - 41618009658.13 03 Nov 2026 10:24AM UTC 74
90.18
GitHub Action Run
14 run-3.15-windows-latest - 41618009658.14 03 Nov 2026 10:21AM UTC 74
79.82
GitHub Action Run
15 run-3.15t-macos-latest - 41618009658.15 03 Nov 2026 10:24AM UTC 74
90.19
GitHub Action Run
16 run-3.14-windows-latest - 41618009658.16 03 Nov 2026 10:20AM UTC 74
80.11
GitHub Action Run
17 run-3.14t-ubuntu-latest - 41618009658.17 03 Nov 2026 10:19AM UTC 74
90.19
GitHub Action Run
18 run-3.13-windows-latest - 41618009658.18 03 Nov 2026 10:21AM UTC 74
80.1
GitHub Action Run
19 run-3.15-ubuntu-latest - 41618009658.19 03 Nov 2026 10:18AM UTC 74
90.85
GitHub Action Run
20 run-3.11-windows-latest - 41618009658.20 03 Nov 2026 10:20AM UTC 74
80.14
GitHub Action Run
Source Files on build 41618009658
  • Tree
  • List 74
  • Changed 19
  • Source Changed 6
  • Coverage Changed 19
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #41618009658
  • cbb4e95c on github
  • Prev Build on master (#41465346988)
  • Next Build on master (#41680469536)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc