Skip to content

Add configurable work and output budgets for mock generation#572

Merged
daveshanley merged 1 commit into
mainfrom
render-upgrade
May 21, 2026
Merged

Add configurable work and output budgets for mock generation#572
daveshanley merged 1 commit into
mainfrom
render-upgrade

Conversation

@daveshanley
Copy link
Copy Markdown
Member

Mocking be out of control son!

When running mocks across hundreds of specs, some specs create MAYHEM in string generation. This solves that problem, making the stack even stronger.

…eration

Introduce MockGenerationOptions to bound recursive depth, visited nodes, rendered properties, ref expansions, generated string bytes, regex repeat budgets, and approximate mock size. Route schema rendering through a new mockRenderContext that tracks budgets, detects cycles, and caches completed subtrees, and add RenderSchemaWithError plus ErrMockGenerationBudgetExceeded / MockGenerationBudgetError for callers that want budget enforcement. Extract string value generation into mock_value_renderer.go, tighten doc comments across the renderer, and cover the new behavior with mock_generation_options_test.go and mock_value_renderer_test.go.
@codecov
Copy link
Copy Markdown

codecov Bot commented May 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.69%. Comparing base (e489129) to head (32778d6).

Additional details and impacted files
@@           Coverage Diff            @@
##             main     #572    +/-   ##
========================================
  Coverage   99.69%   99.69%            
========================================
  Files         261      263     +2     
  Lines       29982    30355   +373     
========================================
+ Hits        29890    30263   +373     
  Misses         55       55            
  Partials       37       37            
Flag Coverage Δ
unittests 99.69% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@daveshanley daveshanley merged commit 313d137 into main May 21, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant