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

source-academy / py-slang / 30743731553
86%

Build:
DEFAULT BRANCH: main
Ran 02 Aug 2026 10:38AM UTC
Jobs 1
Files 134
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

02 Aug 2026 10:25AM UTC coverage: 86.121% (-0.009%) from 86.13%
30743731553

push

github

web-flow
Recognize breakpoint() with any number of arguments as a breakpoint (#376)

* Recognize breakpoint() with any number of arguments as a breakpoint (#257)

Real Python's breakpoint(*args, **kws) accepts any number of arguments
(forwarded to sys.breakpointhook); the CSE machine's and stepper's own
no-op breakpoint builtin already ignored whatever args it was given
either way. But both engines' breakpoint-navigation detection only
recognized a zero-arg call, so breakpoint(5) evaluated fine yet was
silently skipped by the double-chevron navigation, with no error or
warning.

CSE machine (interpreter.ts): the zero-arg restriction existed only
because the callee sits on top of the stash before APPLICATION pops
args -- true just for zero args. Adds Stack.peekAt(depth) and uses
peekAt(numOfArgs) to reach the callee regardless of arity.

Stepper (reduce.ts): generalizes the zero-length-arguments check to
"every argument is already a value" (isValue), matching the same
readiness condition contractCall already uses to apply the builtin --
so a still-reducible argument (e.g. breakpoint(1 + 2)) steps through
normally first, and the statement is flagged once all arguments are
values.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PChZPg9vbWzAJrxDV9YQvk

* Tighten breakpoint arity test assertions to exact step count

Addresses CodeRabbit nit on PR #376: toBeGreaterThan(0) would also pass if
a call spuriously recorded duplicate breakpoint steps. Each of these tests
calls breakpoint() exactly once, so assert toHaveLength(1) instead, matching
the pattern already used elsewhere in this file.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013reeqq7jG66DR1vnwby5T3

---------

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

4586 of 5741 branches covered (79.88%)

Branch coverage included in aggregate %.

5 of 6 new or added lines in 2 files covered. (83.33%)

10232 of 11465 relevant lines covered (89.25%)

169504.51 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
83.33
-8.97% src/engines/cse/stack.ts
Jobs
ID Job ID Ran Files Coverage
1 30743731553.1 02 Aug 2026 10:38AM UTC 134
86.12
GitHub Action Run
Source Files on build 30743731553
  • Tree
  • List 134
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30743731553
  • 102b3b6d on github
  • Prev Build on main (#30741646191)
  • Next Build on main (#30760838288)
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