🔧 Changed
allow_header_conformancefailures show the receivedAllowheader value.
🐛 Fixed
st fuzz
- Phase line counting failed and errored scenarios as passed.
- Wrong plurals in progress, such as
1 scenariosand1 errors. - Missing "Reports:" section, including reports added via
ctx.add_report().
Output and summary
- Request timeouts not reported for operations that also fail a check.
- Fuzzing request timeouts outlasting the
--max-timebudget counted as errored but not reported. erroredcount in the summary including stateful steps never sent, e.g. after--max-time.- Stateful request timeouts counted as errored without an entry under "ERRORS".
- Unresponsive operations in the stateful phase shown as skipped, not errored, in the summary.
- Wrong plural in
found 1 unique failuresin the summary. - Missing "Reports:" section when
st runstops before testing, such as on schema loading errors. - Missing blank line between the Discord help link and the next output section.
- Missing blank line between the response body and the
Identityline in failure output. - Dictionary mismatch warning title differing between the warnings block and the summary.
- Timeout units warning showing large values in exponent notation, like
--request-timeout=1e+09. - Connection-refused tip suggesting
--urlwhen it is already set, without naming the address. - Auth sign-up line showing
[auth] auto-signup = false, which is not valid TOML on one line. - Missing environment variable error naming the whole config value instead of the variable.
- Report directory errors omitting the
--report-diroption and the full path that failed.
HTML report
- Copyable
<unknown entrypoint>command underpython -m pytestorpython -m schemathesis. - Tested operations counted as errored when some of their cases errored.
- Operations sorted as text, listing
/12before/4. - Exit note giving no reason when a startup warning fails the run.
- Horizontal scrollbar stopping short of the reproduction command's "Copy" button.
- "Top failures" showing "+1 more" instead of the fourth failure.
object_level_authorization
- Clean run reported without warning when no
peersare configured. - Reproduction commands not saying which user sends each request.
st replaysending every step as one user, so failures replayed as fixed.
negative_data_rejection in the stateful phase
- False failures for
"5"sent to numeric path or query parameters. - Missed failures for invalid array and object non-body parameters.
- False failures for unknown query parameters beside
nullvalues of nullable parameters.
pytest, Python API and hooks
- Report seed under
pytest-xdistnot reproducing operations run on other workers. - pytest runs not printing where reports were written.
- Crash when calling a
Casebuilt with an object or array cookie value. - False
negative_data_rejectionfailures after hooks write"5"to numeric parameters.
Others
--phasesnot disabling the stateful phase when links are inferred for GraphQL schemas.UnicodeEncodeErrorfor cookie values with non-Latin-1 characters.- Slow phase startup in processes with large memory use, eating into
--max-time. UnsupportedResultcrash for property names matched by severalpatternProperties.