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

source-academy / py-slang / 28924649834
78%

Build:
DEFAULT BRANCH: main
Ran 08 Jul 2026 07:17AM UTC
Jobs 1
Files 87
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

08 Jul 2026 07:13AM UTC coverage: 77.401% (+0.03%) from 77.373%
28924649834

push

github

web-flow
feat(stepper): support breakpoint() as a debugger breakpoint (#197)

* feat(stepper): support breakpoint() as a debugger breakpoint

Python's breakpoint() now plays the role of JavaScript's `debugger;` in the
substitution stepper (issue #188): a no-op for evaluation, dropped like `pass`
(including the same green "flash before discard"), that also marks a step the
host's breakpoint navigation (the double-arrow) can jump to.

- translate: a no-arg `breakpoint()` statement becomes a DebuggerStatement, the
  shared language-agnostic node type the host already recognises for breakpoints,
  so no host/plugin change is needed. Used as an expression it stays an ordinary
  call to the built-in.
- reduce: the DebuggerStatement contraction drops the statement like `pass` and
  keeps it highlighted green on its after step (postRedex/postNewBody).
- getSteps: emit `redexNodeType` on the before marker only, so the double-arrow
  lands on "Evaluating breakpoint statement" and never on the following
  "Evaluated breakpoint statement" — even though the statement is highlighted on
  both steps (green flash) via redexId/redexType.
- builtins: register `breakpoint` as a no-op returning None so the name resolves
  during preprocessing (it joins getAvailableBuiltinNames) and degrades gracefully
  in expression position, e.g. `x = breakpoint()`.
- syntaxProfile: render DebuggerStatement as `breakpoint()`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs: document breakpoint() in the MISC library

breakpoint() is a MISC builtin — a no-op returning None that, in the stepper,
marks a breakpoint the navigation can jump to (the analogue of JavaScript's
`debugger;`). Document it in both the JSDoc source (docs/lib/misc.js) and the
LaTeX spec (docs/specs/python_misc.tex), grouped with print/error.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(stepper): detect breakpoint() by resolved identity, not source text

`translate.ts` used to recognise a Pyt... (continued)

2611 of 3652 branches covered (71.5%)

Branch coverage included in aggregate %.

8 of 8 new or added lines in 4 files covered. (100.0%)

6116 of 7623 relevant lines covered (80.23%)

14062.17 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28924649834.1 08 Jul 2026 07:17AM UTC 87
77.4
GitHub Action Run
Source Files on build 28924649834
  • Tree
  • List 87
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28924649834
  • f8b9b845 on github
  • Prev Build on main (#28924131249)
  • Next Build on main (#28991235533)
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