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

ponder-lab / Hybridize-Functions-Refactoring / #3312
88%

Build:
DEFAULT BRANCH: main
Ran 02 Oct 2026 10:52AM UTC
Jobs 1
Files 45
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 Oct 2026 10:33AM UTC coverage: 87.916% (+0.05%) from 87.869%
#3312

push

github

web-flow
See a guard through the user frames between it and the guarded call (#1022)

* See a guard through the user frames between it and the guarded call

The expected-failure walk stopped at the first user-code frame calling
the function, so a guard written further up the stack was not seen. A
call that its own frame neither guards nor handles raises out of that
frame, so the walk now continues to the frame's callers. A frame with
no callers keeps its call, so a root's unguarded call is still evidence.
The walk memoizes each frame's sites, so a frame reached twice in one
walk is not read as unguarded the second time.

This matters once the analysis dispatches a user `__call__` override,
which then sits between a test's guard and the layer's `call`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTnpjPjJj2aZy1ZkUD1eAn

* Pin the walk's memo with a frame reached along two paths

A frame calling the next one from two sites gives each site its own
node, so the `called_twice` case exercised what `forwarded` already
does. Contexts merge two frames up, though, so a frame above a helper
called twice is reached along two paths in one walk, and the memo is
what keeps the second path from reading as unguarded. The `diamond`
case replaces `called_twice` and fails when the memo is reverted to a
`seen` set.

The walk's Javadoc now says what the memo is for, and notes that a
hopped call counts as guarded whether or not its argument comes from
the guarded call's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTnpjPjJj2aZy1ZkUD1eAn

---------

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

28 of 29 new or added lines in 1 file covered. (96.55%)

4787 of 5445 relevant lines covered (87.92%)

0.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
91.15
1.09% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/ExpectedFailureContextAnalysis.java
Jobs
ID Job ID Ran Files Coverage
1 #3312.1 02 Oct 2026 10:52AM UTC 45
87.92
Source Files on build #3312
  • Tree
  • List 45
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ab4f9d34 on github
  • Prev Build on gh-readonly-queue/main/pr-1021-9864b192c90d05151190de03165116a5fb5ce282
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