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

ReactiveX / RxPY / 24955540858
94%

Build:
DEFAULT BRANCH: master
Ran 26 Apr 2026 11:31AM UTC
Jobs 1
Files 414
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

26 Apr 2026 11:30AM UTC coverage: 93.519% (+0.003%) from 93.516%
24955540858

push

github

web-flow
test: fix pyright strict-mode errors in tests/test_observable (batch 2) (#782)

* test: fix pyright strict-mode errors in test_observable (batch 2)

Fix pyright strict-mode type errors in 30 files under tests/test_observable/,
continuing the incremental cleanup of the pyright exclusion list.

Error patterns fixed:
- _raise("string") → _raise(Exception("string"))
- def action(): → def action(_): for on_next callbacks (OnNext[T] requires a param)
- Notification union-attr access annotated with # type: ignore[union-attr]
- subscribe(scheduler="not_set") → subscribe(scheduler=None) for proper typing
- mapper/generate iterate lambdas annotated with # type: ignore[arg-type]
- do_action callback removing spurious return value
- factory(ex: Exception) → factory(ex: Exception | None) for on_error_resume_next
- return lambda: None → return None in subscribe functions
- Hoisted variables to avoid unbound-var errors inside assertRaises blocks
- Various other minor fixes (arg-type, call-arg, misc type: ignore)

260 tests pass. Part of ongoing effort to clean up pyright exclusions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor(tests): replace type:ignore comments with proper type annotations

Builds on PR #782 to replace the `# type: ignore` suppressions with
real type annotations and structural fixes:

- Use `isinstance(value, OnError|OnNext)` to narrow `Recorded.value` instead
  of `# type: ignore[union-attr]` (test_average, test_elementat, test_reduce,
  test_toiterable).
- Properly annotate test-local `subscribe` functions with
  `ObserverBase[T] / SchedulerBase | None / DisposableBase` and return
  `Disposable()` so `reactivex.create(...)` accepts them without
  `# type: ignore[misc]/[arg-type]` (test_concat, test_observeon, test_map,
  test_skipuntil, test_while_do).
- Type `xs` as `list[ColdObservable[int] | None]` in test_defer instead of
  bare `[None]`, and add `assert xs[0] is not None` narrowing.
- Annotate `_raise` a... (continued)

93 of 94 new or added lines in 25 files covered. (98.94%)

1 existing line in 1 file now uncovered.

25368 of 27126 relevant lines covered (93.52%)

0.94 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
67.74
0.0% tests/test_observable/test_of.py

Coverage Regressions

Lines Coverage ∆ File
1
99.44
-0.56% tests/test_observable/test_debounce.py
Jobs
ID Job ID Ran Files Coverage
1 24955540858.1 26 Apr 2026 11:31AM UTC 414
93.52
GitHub Action Run
Source Files on build 24955540858
  • Tree
  • List 414
  • Changed 21
  • Source Changed 0
  • Coverage Changed 21
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ba351a0f on github
  • Prev Build on master (#24926923816)
  • Next Build on master (#25023177805)
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