Conversation
Patch invis chars in CLI
Added feature where invisible chars are highlighted in the Expected vs Actual output terminals
add motivational msgs
--assertion-rewrite as an optional flag to override ENABLE_CHECK50_ASSERT
Add authentication method flags
…ly; add unit tests for JSON serialization
Serialize expected and actual values correctly
internationalization
Added _process_list as a _raw and _truncate helper
Improve diff visibility
|
The assertion rewriting is a really cool idea! Cool to see this still being developed. Some comments:
|
…n, and github-script
…ompatibility with all start methods
This PR introduces several improvements and new features to the
check50codebase, focusing on better assertion handling and error reporting.Assertion Handling Improvements:
check50/assertions/rewrite.pymodule, which rewritesassertstatements intocheck50_assertcalls. This allows for custom exception handling and better integration withcheck50's error reporting.check50/assertions/runtime.pymodule, defining thecheck50_assertfunction. This function evaluates conditions, raises appropriate exceptions (Mismatch,Missing, orFailure), and provides detailed context for failed assertions.rewriteandrewrite_enabledfunctions into the main execution flow incheck50/__main__.py. If the rewrite feature is enabled,assertstatements in check files are replaced withcheck50_assertcalls.Error Reporting Improvements:
Mismatchexception incheck50/_api.pyto provide more detailed and user-friendly error messages, including truncation logic for long outputs._truncatehelper function incheck50/_api.pyto dynamically truncate strings based on differences with other strings or fixed limits. This improves readability of error messages.