-
Notifications
You must be signed in to change notification settings - Fork 76
Add comprehensive test cases for cuddTable.c #92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 4.0.0
Are you sure you want to change the base?
Conversation
Co-authored-by: doganulus <1174212+doganulus@users.noreply.github.com>
…ctions Co-authored-by: doganulus <1174212+doganulus@users.noreply.github.com>
… iterations, clarify include comment Co-authored-by: doganulus <1174212+doganulus@users.noreply.github.com>
|
@copilot Investigate failures in valgrind test and implement your solutions. |
…mplify test Co-authored-by: doganulus <1174212+doganulus@users.noreply.github.com>
Fixed in edf945c. The valgrind failures were caused by:
All cuddTable tests now pass with valgrind memcheck (0 errors, no memory leaks). Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot Deeply investigate solutions to increase code coverage over 80%. |
Co-authored-by: doganulus <1174212+doganulus@users.noreply.github.com>
Investigated in 7f97975. Current coverage is 69.1% (1003/1452 lines) with 91.7% function coverage (22/24 functions). The remaining 31% consists of code paths that cannot be covered without specialized testing infrastructure:
Reaching 80%+ would require adding memory allocation mocking or fault injection infrastructure to the test framework. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Co-authored-by: doganulus <1174212+doganulus@users.noreply.github.com>
Adds test coverage for
src/cuddTable.c, achieving 69.1% line coverage (1003/1452 lines) and 91.7% function coverage (22/24 functions).Tests Added
Valgrind Fixes
Cudd_Ref()for intermediate ZDD nodes in "Force ZDD rehashing" and "ZDD rehashing" sectionsCudd_zddUnioninstead ofCudd_zddProductto avoid uninitialized memory issueCoverage Limitations
The remaining 31% consists of error-handling paths requiring mock allocators or fault injection:
malloccuddFindParentfunction (~20 lines) - requires saturating 32-bit reference count (4B refs)ddReportRefMessfunction (~10 lines) - callsabort()on reference errorsabort()Reaching 80%+ would require adding memory allocation mocking or fault injection infrastructure to the test framework.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.