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

source-academy / py-slang / 28806044086
78%

Build:
DEFAULT BRANCH: main
Ran 06 Jul 2026 04:18PM UTC
Jobs 1
Files 86
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

06 Jul 2026 04:14PM UTC coverage: 77.481% (+0.04%) from 77.44%
28806044086

push

github

web-flow
Cleanly skip complex-number test cases in the native Pynter parity harness (#219)

* Cleanly skip complex-number test cases in the native Pynter parity harness

Pynter's VM has no complex number type at all (it mirrors Sinter: values
are booleans, 32-bit ints, or single-precision floats only), and
py-slang's own PVML compiler rejects complex literals outright
(PVMLCompiler.visitComplexExpr throws unconditionally). Every test case
whose code contains a complex literal was therefore always failing to
compile — previously surfacing as either a genuine test failure, or, for
cases expecting an error class, a coincidental "pass" (any thrown error,
including this unrelated compile failure, satisfied the loose
"threw *some* error" check).

Detect and skip these cases explicitly instead: involvesComplexNumbers()
checks the expected value's type (PyComplexNumber) or a complex-literal
regex over the source (since a case can involve a complex number as an
intermediate value without one being the final expected result, e.g. a
comparison or an error case like `arity(1+0j)` expecting TypeError).
generateNativePynterTestCases() now partitions each group's cases into
`supported` (run normally) and `unsupportedComplex` (test.skip.each, with
a label saying why), so they show up individually as clean skips rather
than muddying the pass/fail counts.

Net effect on the stdlib suite: 226 cases move out of the pass/fail
tally (96 were coincidental passes as above, 130 were genuine failures);
every other suite (global-keyword, nonlocal, loops, linked-list,
pairmutator, list, stream) is untouched, having no complex-number cases;
parser-stdlib loses 2 cases the same way. Verified against a local Pynter
build: stdlib 408/685 attempted (was misleadingly 504/911), parser-stdlib
12/95 attempted (was 12/97), all other suites unchanged, and the full
suite still reports the same 1300 skipped with PYNTER_RUNNER_PATH unset
(confirming no behavior change when the harness itself is inacti... (continued)

2475 of 3479 branches covered (71.14%)

Branch coverage included in aggregate %.

15 of 15 new or added lines in 1 file covered. (100.0%)

5979 of 7432 relevant lines covered (80.45%)

13479.29 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28806044086.1 06 Jul 2026 04:18PM UTC 86
77.48
GitHub Action Run
Source Files on build 28806044086
  • Tree
  • List 86
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28806044086
  • cfae036b on github
  • Prev Build on main (#28802687945)
  • Next Build on main (#28822804975)
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