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

source-academy / py-slang / 29545691509
87%

Build:
DEFAULT BRANCH: main
Ran 17 Jul 2026 12:52AM UTC
Jobs 1
Files 89
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

17 Jul 2026 12:46AM UTC coverage: 81.011% (+2.8%) from 78.24%
29545691509

push

github

web-flow
Revive PVML-in-browser pathway: full 4-chapter support, bigint/complex numbers, spread/rest args, parser group (#236)

* revamping equality and identity

* wording improved

* taking care of the PVML aspects of this spec change

* Restrict the native Pynter pathway to Python §3, and free up EQP/NEQP for it

Pynter's target is Python (SICPy) §3 specifically (see pynter/README.md,
updated separately in the pynter repo) -- it has no runtime notion of
"chapter" to gate narrower/wider rules for §1/§2/§4, so it implements
§3's semantics unconditionally. Enforce that pathway boundary instead
of silently running other chapters with the wrong rules:

- runCodePvmlDetailed (pvml-runner.ts) and generateNativePynterTestCases
  (tests/utils.ts) now throw a clear error for variant !== 3.
- PyPvmlPynterEvaluator's hardcoded chapter (previously 4, inconsistent
  with Pynter's actual scope) is now 3.
- Every native-Pynter test call site across the suite now declares §3.
  Most are still-valid §3 programs nominally written for another
  chapter (linked-list/stream/pairmutator/list/parser-stdlib), so only
  the declared variant changes. One exception: stdlib.test.ts's
  "Chapter 1 Builtins" miscTests asserts §1-specific restrictions (bool/
  function excluded from ==/!=/ordering, list literals rejected) that
  are genuinely false at §3, not just untested there -- that sweep is
  removed rather than mislabeled.
- operator-conformance-pynter.test.ts's chapter loop is now just [3],
  matching its now-single-chapter scope.

Renumbered EQP/NEQP (added for is/is not's pointer-identity semantics,
distinct from ==/!=' structural equality) from 89/90 down to 85/86, so
PYNTER_OPCODE_MAX can become a single contiguous threshold (0x56) now
that Pynter implements them -- the prior gap (85-88 unimplemented,
89-90 implemented) couldn't be expressed as one cutoff without also
wrongly admitting the still-unimplemented FLOORDIVG/NEWITER/FOR_ITER.

Verified via yarn pynter:report against ... (continued)

3336 of 4409 branches covered (75.66%)

Branch coverage included in aggregate %.

1140 of 1309 new or added lines in 18 files covered. (87.09%)

7 existing lines in 2 files now uncovered.

7287 of 8704 relevant lines covered (83.72%)

80545.68 hits per line

Uncovered Changes

Lines Coverage ∆ File
71
78.53
13.63% src/engines/pvml/pvml-interpreter.ts
39
74.39
-9.65% src/engines/cse/utils.ts
37
79.01
37.98% src/engines/pvml/builtins.ts
6
85.78
1.91% src/tests/utils.ts
5
79.21
-2.15% src/engines/pvml/pvml-assembler.ts
5
92.35
7.59% src/engines/pvml/pvml-compiler.ts
4
88.33
src/engines/pvml/cse-interop.ts
1
86.36
21.36% src/engines/pvml/types.ts
1
79.75
0.34% src/stdlib/misc.ts

Coverage Regressions

Lines Coverage ∆ File
6
78.53
13.63% src/engines/pvml/pvml-interpreter.ts
1
79.01
37.98% src/engines/pvml/builtins.ts
Jobs
ID Job ID Ran Files Coverage
1 29545691509.1 17 Jul 2026 12:52AM UTC 89
81.01
GitHub Action Run
Source Files on build 29545691509
  • Tree
  • List 89
  • Changed 18
  • Source Changed 16
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29545691509
  • 1a9c1196 on github
  • Prev Build on main (#29534975709)
  • Next Build on main (#29571170123)
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