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

source-academy / py-slang / 39252254580
88%

Build:
DEFAULT BRANCH: main
Ran 19 Oct 2026 12:49PM UTC
Jobs 1
Files 182
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

19 Oct 2026 12:27PM UTC coverage: 87.94% (-0.01%) from 87.953%
39252254580

push

github

web-flow
E-stepper: an unreachable frame is in one step only; a run that needs too much memory ends gracefully (#612)

* e-stepper: the steps no longer grow with the square of their number, and a run ends before it uses too much memory

Every step holds the whole store, with all the unreachable frames and objects that
were ever made, so a loop that makes a frame in each iteration (f(x) = f(x)) made
steps of ever larger size: 100000 steps crashed the browser tab (#611). A step now
shows the newest 200000 / stepLimit (at least 10) unreachable frames and objects;
and a run whose steps use more than 64 million characters of JSON ends with a step
that says so, as at the step limit.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* e-stepper: an unreachable frame or object is in one step only, and the host works out the rest

What is unreachable stays so: a frame or object is now in the step where it becomes
so, and in no step after it, instead of being repeated in every step (the steps grew
with the square of their number, #611). Nothing is lost: a host takes the earlier
ones from the earlier steps. The cap on the newest unreachable frames is gone; it
stays for the objects that the CSE snapshot holds itself.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* e-stepper: end a run by the heap limit the host reports, not by a size of our own

A browser kills a tab whose heap reaches its limit, and the limit depends on the device, so
the run reads the heap use and limit that the host reports (Chrome's performance.memory) and
ends once the heap passes 60% of the limit. The size of the steps is the fallback where
the host reports nothing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* The e-stepper's recursion tests run without a limit on memory

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

7132 of 8551 branches covered (83.41%)

Branch coverage included in aggregate %.

59 of 60 new or added lines in 5 files covered. (98.33%)

150 existing lines in 6 files now uncovered.

14590 of 16150 relevant lines covered (90.34%)

318034.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
70.0
src/conductor/estepper/memory.ts

Coverage Regressions

Lines Coverage ∆ File
112
79.86
0.02% src/engines/pvml/pvml-interpreter.ts
12
87.5
0.49% src/engines/py2js/index.ts
11
84.25
-7.15% src/conductor/estepper/getSteps.ts
11
62.91
0.08% src/pvml-runner.ts
2
88.46
-0.11% src/conductor/full-estepper/run.ts
2
96.55
-0.52% src/conductor/stepper/getSteps.ts
Jobs
ID Job ID Ran Files Coverage
1 39252254580.1 19 Oct 2026 12:48PM UTC 182
87.94
GitHub Action Run
Source Files on build 39252254580
  • Tree
  • List 182
  • Changed 9
  • Source Changed 9
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39252254580
  • f5fa55fa on github
  • Prev Build on main (#39138451060)
  • Next Build on main (#39276763364)
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