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

source-academy / py-slang / 37107803452
88%

Build:
DEFAULT BRANCH: main
Ran 03 Oct 2026 08:08AM UTC
Jobs 1
Files 144
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

03 Oct 2026 07:52AM UTC coverage: 85.697% (+0.02%) from 85.676%
37107803452

push

github

web-flow
Headless runs: draw_data returns its first argument everywhere; no-op breakpoint/set_timeout/clear_all_timeout in PVML (#489)

* Headless runs: draw_data returns its first argument everywhere; PVML no-ops

Issue #478: programs that pass in the browser failed in the headless CLI
because draw_data didn't exist there, and draw_data should be the identity
function when there is no canvas.

- draw_data now returns its first argument in every engine (it returned None
  in the CSE machine and py2js; the stepper already returned its first
  argument, like Source's). It draws only when a data visualizer is attached.
- The default groups behind the CLI (runner.ts VARIANT_GROUPS) and the PVML
  evaluators add the dataVisualizer group from chapter 2, as the CSE evaluator
  already did, so the CSE and PVML CLIs have draw_data. PVML maps it to native
  Pynter's own slot 6.
- PVML (and native Pynter) get breakpoint, set_timeout and clear_all_timeout
  as deliberate no-ops (slots 132-134) instead of failing to compile with
  "Primitive function ... not implemented". There is no debugger or event
  loop; set_timeout's callback never runs.
- The CPython sicp package gets draw_data (identity), and the docs say what
  it returns.

Not changed: the CSE machine still reports set_timeout as unsupported, and the
WASM engine lacks most built-ins (tracked in #488, #321).

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

* README: document the headless design decisions

Add a "Headless runs: design decisions" section: what headless means, the
rule that a browser-passing program should run headless with the same output,
and per-function behavior (draw_data, breakpoint, set_timeout and
clear_all_timeout, input, module imports) with the reasons, the wasm gap
(#488), and where the decisions live in the code.

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

* README: fold the headless design decisions into the CLI section

There is already a section for the stan... (continued)

4985 of 6240 branches covered (79.89%)

Branch coverage included in aggregate %.

18 of 18 new or added lines in 5 files covered. (100.0%)

11156 of 12595 relevant lines covered (88.57%)

169923.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37107803452.1 03 Oct 2026 08:08AM UTC 144
85.7
GitHub Action Run
Source Files on build 37107803452
  • Tree
  • List 144
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #37107803452
  • 375575e1 on github
  • Prev Build on main (#37102792467)
  • Next Build on main (#37110161139)
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