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

kubernetes-sigs / inference-perf / 39817891024
84%

Build:
DEFAULT BRANCH: main
Ran 22 Oct 2026 05:03PM UTC
Jobs 1
Files 136
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

22 Oct 2026 04:53PM UTC coverage: 84.133% (+0.3%) from 83.794%
39817891024

push

github

web-flow
test: in-process unit tests for the load generator execution core (#704)

Part of #659. Tracked in #792 under Test backfill.

`Worker.loop`, `run_stage` and `run_session_stage` had no in-process
tests. They were only reached through a full `mp_run` with real worker
processes. This adds 27 tests that drive them in the test process, with
real multiprocessing primitives and a mocked client.

Changes:
* `test_worker_loop.py`: the real `Worker.loop`, awaited on the test's
event loop and never started as a process. A controller thread ends each
stage in the same order as `_teardown_stage` and sets `stop_signal`
last, as `mp_run` does. Every stage end fails unless the worker acks the
published boundary. Covers request and counter accounting, lazy-load
failures, cancellation, semaphore bounds, CONCURRENT skip and resize,
the rendezvous ack, and a worker resuming into a second stage.
* `test_run_stage_dispatch.py`: `run_stage` enqueue counts and payloads,
affinity remap modulo active workers with and without
`concurrency_level`, trace-bound request counts, and the dead-worker
breakout to FAILED. The surviving worker is never terminated and only
the dead one is respawned.
* `test_run_session_stage.py`: session pool refill up to
`concurrent_sessions`, the cross-stage session cursor, rate limiting
under the stage timeout, event stamping, affinity remap of ids past
`num_workers`, and unbuildable sessions (counted complete, unreported).
* `test_load_timer.py`: the dispatch schedule contract. `int(rate *
duration)` requests, strictly increasing, the last one at exactly
`initial + duration`.
* `test_mp_run_stages.py`: a two-stage `mp_run` with a real worker
process. Both stages must finish COMPLETED with their own requests. It
runs with a zero teardown grace, so a worker that misses the rendezvous
is terminated after 35 s and its stage ends FAILED, well inside the
test's 120 s bound.

Other changes:
* Root `conftest.py` sets the macOS fork start method once, before a... (continued)

12439 of 14785 relevant lines covered (84.13%)

0.84 hits per line

Jobs
ID Job ID Ran Files Coverage
1 39817891024.1 22 Oct 2026 05:03PM UTC 136
84.13
GitHub Action Run
Source Files on build 39817891024
  • Tree
  • List 136
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39817891024
  • ecf5c680 on github
  • Prev Build on main (#39817639190)
  • Next Build on main (#39819962875)
  • 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