-
Notifications
You must be signed in to change notification settings - Fork 297
4.0.0 #368
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: develop
Are you sure you want to change the base?
4.0.0 #368
Conversation
Patch invis chars in CLI
Added feature where invisible chars are highlighted in the Expected vs Actual output terminals
add motivational msgs
Assert statements will now raise a check50.Failure by default
…t; in which builtins were overwritten by context; added tokenization of vars
--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:
|
This PR introduces several improvements and new features to the
check50
codebase, focusing on better assertion handling and error reporting.Assertion Handling Improvements:
check50/assertions/rewrite.py
module, which rewritesassert
statements intocheck50_assert
calls. This allows for custom exception handling and better integration withcheck50
's error reporting.check50/assertions/runtime.py
module, defining thecheck50_assert
function. This function evaluates conditions, raises appropriate exceptions (Mismatch
,Missing
, orFailure
), and provides detailed context for failed assertions.rewrite
andrewrite_enabled
functions into the main execution flow incheck50/__main__.py
. If the rewrite feature is enabled,assert
statements in check files are replaced withcheck50_assert
calls.Error Reporting Improvements:
Mismatch
exception incheck50/_api.py
to provide more detailed and user-friendly error messages, including truncation logic for long outputs._truncate
helper function incheck50/_api.py
to dynamically truncate strings based on differences with other strings or fixed limits. This improves readability of error messages.