Repository navigation
Test config error messages and propagation checks - #38
Open
claude[bot] wants to merge 1 commit into
Open
claude[bot] wants to merge 1 commit into
claude[bot] wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Benchmarks
Kernels
End to endEach round is the command line in a fresh interpreter, start-up included. Peak RSS is the largest the child process reached over the rounds.
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tests only:
tests/test_config.py.What the new tests check
load(_describe):the file: has unknown keys ['bogus']. No table path exists, so the message names the file.source.magnitudes: 3 is not a dict, using the type's__name__rather than its repr (dict[str, float]).[pulse]sample interval:dt_s = 0.0anddt_s = -1.0are refused withpulse: a sample interval of … s is none. A tiny positive interval (1e-6) is accepted.[segments]shape:segments = 3givessegments: 3 is not a table, andsegments = { next = 3 }givessegments.next: 3 is not a table.[propagation]table is refused.predeterminedtree that names a segment that doesn't exist is refused (propagation.parents: ['nxt'] are not segments).predeterminedtree produces exactly the given parents.Coverage of
rupture_generator/config.pyLine 122 is the
NotImplementedErrorin the private abstract_DepthProfile.field. Every concrete profile overrides it, so it was left uncovered.Surviving mutants (all in
_describe)Killed by the exact-message tests:
mutmut_25: theInvalidFieldValuereason becomesNone.mutmut_26,mutmut_32,mutmut_33: the type is printed asdict[str, float]instead ofdict.mutmut_43,mutmut_44:the filebecomesXXthe fileXX/THE FILE.Judged equivalent:
mutmut_5,mutmut_6(reason = str(error)→None/str(None)): the error passed in is always one of the types thematchhandles.loadand_segmentsonly catchInvalidFieldValue,MissingField,ExtraKeysErrororRuptureGeneratorError, so the first loop iteration always overwrites the starting reason.mutmut_28,mutmut_31(getattr(t, '__name__', t)→getattr(t, '__name__', None)/getattr(t, '__name__')): these differ only for a field type with no__name__. On Python 3.14 every type mashumaro reports here has one, including generic aliases, unions and type aliases.No issues filed.
🤖 Generated with Claude Code