-
Notifications
You must be signed in to change notification settings - Fork 300
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
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.