← Về thư mục
tests/_contract/schematic.py
- schematic_test_case · function · L40-L134 — def schematic_test_case(skill_root: Path) -> type[unittest.TestCase]
- load · function · L44-L47 — def load()
- SchematicContractTests · class · L49-L131 — class SchematicContractTests(unittest.TestCase)
- setUp · method · L52-L53 — def setUp(self) -> None
- test_only_allowlisted_variables_reach_the_subprocess · method · L55-L68 — def test_only_allowlisted_variables_reach_the_subprocess(self) -> None
- test_the_api_key_is_injected_under_the_expected_name · method · L70-L73 — def test_the_api_key_is_injected_under_the_expected_name(self) -> None
- test_no_key_means_no_key_variable_rather_than_an_empty_one · method · L75-L83 — def test_no_key_means_no_key_variable_rather_than_an_empty_one(self) -> None: # An empty OPENROUTER_API_KEY would look configured to the child and # fail deep inside the request instead of at the boundary.
- test_absent_variables_are_omitted_not_blanked · method · L85-L88 — def test_absent_variables_are_omitted_not_blanked(self) -> None
- test_the_allowlist_covers_proxies_tls_and_windows_startup · method · L90-L101 — def test_the_allowlist_covers_proxies_tls_and_windows_startup(self) -> None
- test_the_allowlist_carries_no_credential_variables · method · L103-L107 — def test_the_allowlist_carries_no_credential_variables(self) -> None
- test_the_allowlist_has_no_duplicates · method · L109-L111 — def test_the_allowlist_has_no_duplicates(self) -> None
- test_the_generator_script_is_shipped_alongside_the_cli · method · L113-L114 — def test_the_generator_script_is_shipped_alongside_the_cli(self) -> None
- test_the_iteration_count_is_rejected_rather_than_clamped · method · L116-L131 — def test_the_iteration_count_is_rejected_rather_than_clamped(self) -> None: # Silently clamping an out-of-range value used to send 0 to the # child, which failed there with a message about the child's own # flag. The check runs before the credential lookup, so this needs # no API key.
- review_parsing_test_case · function · L137-L218 — def review_parsing_test_case(scripts_dir: Path, module_name: str) -> type[unittest.TestCase]
- load · function · L151-L154 — def load()
- ReviewParsingTests · class · L157-L215 — class ReviewParsingTests(unittest.TestCase)
- setUp · method · L160-L161 — def setUp(self) -> None
- test_the_score_survives_the_markdown_the_reviewer_writes_it_in · method · L163-L177 — def test_the_score_survives_the_markdown_the_reviewer_writes_it_in(self) -> None: # Gemini emits "SCORE: 8.5" far more often than the bare form # the rubric asks for. A pattern that only matched the bare form # scored every one of those runs at the old hardcoded default.
- test_an_unparseable_score_is_none_rather_than_a_stand_in · method · L179-L184 — def test_an_unparseable_score_is_none_rather_than_a_stand_in(self) -> None: # A default here reaches the review log indistinguishable from a # number the reviewer actually gave.
- test_the_verdict_comes_from_the_verdict_line_only · method · L186-L198 — def test_the_verdict_comes_from_the_verdict_line_only(self) -> None: # The rubric prompt spells out both tokens when it explains the # response format. A reviewer echoing that back must not be read # as failing the diagram.
- test_a_real_failing_verdict_is_still_recognised · method · L200-L209 — def test_a_real_failing_verdict_is_still_recognised(self) -> None
- test_the_review_result_carries_whether_the_review_happened · method · L211-L215 — def test_the_review_result_carries_whether_the_review_happened(self) -> None
- review_failure_test_case · function · L221-L284 — def review_failure_test_case( scripts_dir: Path, module_name: str, class_name: str, review_args: tuple ) -> type[unittest.TestCase]
- load · function · L233-L236 — def load()
- ReviewFailureTests · class · L239-L281 — class ReviewFailureTests(unittest.TestCase)
- setUp · method · L242-L246 — def setUp(self) -> None
- test_a_response_with_no_choices_does_not_crash_the_run · method · L248-L257 — def test_a_response_with_no_choices_does_not_crash_the_run(self) -> None: # This used to return two values into a three-value unpack, so a # rate-limited review killed a run whose image was already on disk.
- test_a_failed_review_is_not_reported_as_a_passing_one · method · L259-L271 — def test_a_failed_review_is_not_reported_as_a_passing_one(self) -> None
- explode · function · L260-L261 — def explode(**kwargs)
- test_a_scored_review_is_reported_verbatim · method · L273-L281 — def test_a_scored_review_is_reported_verbatim(self) -> None