gabriel / muse public
feat test dev
AI Agent gabriel · 157 days ago · Apr 19, 2026 · Diff

feat(test): supercharge with TypedDict, -j alias, schema_version, and fix _ci_to_json duration_ms bug

sha256:55ac415923e705f12a781c0ae11fd52c45769d37949c6c1b127444a14f2ffd80 sha
+125 ~7 symbols
sha256:4a107ec413e736fa8f6527a845453fa0114f548a2413a55b55d2666b77bd2828 snapshot
+125
symbols added
~7
symbols modified
0
dead code introduced
Semantic Changes 132 symbols
~ tests/test_test_cmd_supercharge.py .py 123 symbols added
+ TestAliasRegistration class class TestAliasRegistration L520–537
+ test_j_alias_registered method method test_j_alias_registered L521–528
+ test_json_long_form_works method method test_json_long_form_works L530–537
+ TestCiToJson class class TestCiToJson L367–381
+ test_gates_list_length method method test_gates_list_length L373–377
+ test_preserves_passed method method test_preserves_passed L368–371
+ test_result_is_json_serialisable method method test_result_is_json_serialisable L379–381
+ TestDataIntegrity class class TestDataIntegrity L685–728
+ test_ci_to_json_preserves_timestamp method method test_ci_to_json_preserves_timestamp L719–723
+ test_dry_run_json_serialisable method method test_dry_run_json_serialisable L725–728
+ test_gate_to_json_all_required_fields method method test_gate_to_json_all_required_fields L712–717
+ test_history_to_json_all_fields method method test_history_to_json_all_fields L704–710
+ test_mode_field_present_in_all_json_modes method method test_mode_field_present_in_all_json_modes L697–702
+ test_schema_version_is_string method method test_schema_version_is_string L686–690
+ test_schema_version_nonempty method method test_schema_version_nonempty L692–695
+ TestDocstrings class class TestDocstrings L540–556
+ test_register_mentions_json_alias method method test_register_mentions_json_alias L541–544
+ test_run_mentions_duration_ms method method test_run_mentions_duration_ms L554–556
+ test_run_mentions_exit_code method method test_run_mentions_exit_code L550–552
+ test_run_mentions_schema_version method method test_run_mentions_schema_version L546–548
+ TestEndToEnd class class TestEndToEnd L564–629
+ test_dry_run_exits_zero method method test_dry_run_exits_zero L592–594
+ test_dry_run_json_emits_mode method method test_dry_run_json_emits_mode L601–605
+ test_dry_run_json_has_schema_version method method test_dry_run_json_has_schema_version L607–610
+ test_dry_run_shows_would_run method method test_dry_run_shows_would_run L596–599
+ test_flaky_exits_zero_empty method method test_flaky_exits_zero_empty L570–573
+ test_flaky_json_has_schema_version method method test_flaky_json_has_schema_version L618–621
+ test_history_exits_zero_empty method method test_history_exits_zero_empty L565–568
+ test_history_json_emits_mode_history method method test_history_json_emits_mode_history L575–579
+ test_history_json_has_history_list method method test_history_json_has_history_list L586–590
+ test_history_json_has_schema_version method method test_history_json_has_schema_version L581–584
+ test_j_alias_dry_run method method test_j_alias_dry_run L612–616
+ test_no_changes_detected_json method method test_no_changes_detected_json L623–629
+ TestFatal class class TestFatal L225–249
+ test_human_mode_exits_1 method method test_human_mode_exits_1 L226–230
+ test_human_mode_prints_to_stderr method method test_human_mode_prints_to_stderr L232–236
+ test_json_mode_exits_1 method method test_json_mode_exits_1 L245–249
+ test_json_mode_prints_error_key method method test_json_mode_prints_error_key L238–243
+ TestGateToJson class class TestGateToJson L329–359
+ test_preserves_exit_code method method test_preserves_exit_code L335–338
+ test_preserves_name method method test_preserves_name L330–333
+ test_preserves_passed method method test_preserves_passed L340–343
+ test_result_is_json_serialisable method method test_result_is_json_serialisable L357–359
+ test_warning_absent_when_not_set method method test_warning_absent_when_not_set L352–355
+ test_warning_included_when_present method method test_warning_included_when_present L345–350
+ TestHistoryToJson class class TestHistoryToJson L293–321
+ test_preserves_avg_duration_ms method method test_preserves_avg_duration_ms L313–316
+ test_preserves_counts method method test_preserves_counts L300–306
+ test_preserves_flaky_flag method method test_preserves_flaky_flag L308–311
+ test_preserves_node_id method method test_preserves_node_id L294–298
+ test_result_is_json_serialisable method method test_result_is_json_serialisable L318–321
+ TestPerformance class class TestPerformance L778–802
+ test_1000_gate_to_json_under_500ms method method test_1000_gate_to_json_under_500ms L779–786
+ test_1000_history_to_json_under_500ms method method test_1000_history_to_json_under_500ms L788–795
+ test_dry_run_completes_quickly method method test_dry_run_completes_quickly L797–802
+ TestPrintDryRun class class TestPrintDryRun L456–479
+ test_human_no_targets_shows_full_discovery method method test_human_no_targets_shows_full_discovery L462–465
+ test_human_with_targets_shows_would_run method method test_human_with_targets_shows_would_run L457–460
+ test_json_mode_emits_mode_dry_run method method test_json_mode_emits_mode_dry_run L467–471
+ test_json_mode_with_selection method method test_json_mode_with_selection L473–479
+ TestPrintHistory class class TestPrintHistory L389–413
+ test_empty_flaky_prints_no_flaky method method test_empty_flaky_prints_no_flaky L395–398
+ test_empty_history_prints_no_history method method test_empty_history_prints_no_history L390–393
+ test_flaky_only_filters_non_flaky method method test_flaky_only_filters_non_flaky L406–413
+ test_non_empty_shows_node_id method method test_non_empty_shows_node_id L400–404
+ TestPrintPreRun class class TestPrintPreRun L421–448
+ test_fallback_note_shown method method test_fallback_note_shown L444–448
+ test_uncovered_symbols_shown method method test_uncovered_symbols_shown L438–442
+ test_with_selection_shows_changed_count method method test_with_selection_shows_changed_count L422–426
+ test_without_selection_with_targets method method test_without_selection_with_targets L428–431
+ test_without_selection_without_targets method method test_without_selection_without_targets L433–436
+ TestPrintSummary class class TestPrintSummary L487–512
+ test_failed_shows_x method method test_failed_shows_x L494–498
+ test_passed_shows_checkmark method method test_passed_shows_checkmark L488–492
+ test_timed_out_shows_warning method method test_timed_out_shows_warning L500–504
+ test_uncovered_addresses_shown method method test_uncovered_addresses_shown L506–512
+ TestProgressCb class class TestProgressCb L257–285
+ _case method method _case L258–260
+ test_error_prints_e method method test_error_prints_e L272–275
+ test_failed_prints_f method method test_failed_prints_f L267–270
+ test_passed_prints_dot method method test_passed_prints_dot L262–265
+ test_skipped_prints_s method method test_skipped_prints_s L277–280
+ test_unknown_outcome_prints_q method method test_unknown_outcome_prints_q L282–285
+ TestSecurity class class TestSecurity L736–770
+ test_ansi_in_gate_stdout_survives_json method method test_ansi_in_gate_stdout_survives_json L743–747
+ test_hostile_node_id_survives_json method method test_hostile_node_id_survives_json L737–741
+ test_null_byte_in_gate_stderr_does_not_crash method method test_null_byte_in_gate_stderr_does_not_crash L767–770
+ test_sql_injection_in_fatal_msg_does_not_crash method method test_sql_injection_in_fatal_msg_does_not_crash L754–760
+ test_unicode_in_history_node_id method method test_unicode_in_history_node_id L762–765
+ test_very_long_gate_name_does_not_crash method method test_very_long_gate_name_does_not_crash L749–752
+ TestStress class class TestStress L637–677
+ test_1000_history_to_json method method test_1000_history_to_json L638–643
+ test_500_gate_to_json method method test_500_gate_to_json L645–650
+ test_concurrent_history_to_json method method test_concurrent_history_to_json L662–677
+ test_print_history_200_entries method method test_print_history_200_entries L652–660
+ TestTypedDict class class TestTypedDict L181–217
+ test_ci_gate_json_fields method method test_ci_gate_json_fields L212–217
+ test_full_json_has_mode method method test_full_json_has_mode L186–188
+ test_full_json_has_schema_version method method test_full_json_has_schema_version L182–184
+ test_history_json_fields method method test_history_json_fields L205–210
+ test_run_json_has_duration_ms method method test_run_json_has_duration_ms L201–203
+ test_run_json_has_exit_code method method test_run_json_has_exit_code L197–199
+ test_selection_json_fields method method test_selection_json_fields L190–195
+ _commit function function _commit L127–138
+ _invoke function function _invoke L141–147
+ _make_ci_result function function _make_ci_result L79–88
+ _make_gate function function _make_gate L62–76
+ _make_history_summary function function _make_history_summary L44–59
+ _make_run_result function function _make_run_result L91–110
+ _make_selection function function _make_selection L113–124
+ CliRunner import import CliRunner L34–34
+ InvokeResult import import InvokeResult L34–34
+ annotations import import annotations L22–22
+ get_type_hints import import get_type_hints L30–30
+ json import import json L24–24
+ os import import os L25–25
+ pathlib import import pathlib L26–26
+ pytest import import pytest L32–32
+ textwrap import import textwrap L27–27
+ threading import import threading L28–28
+ time import import time L29–29
+ runner variable variable runner L36–36
+ test_repo function function test_repo L151–173
~ muse/cli/commands/test_cmd.py .py 2 symbols added, 7 symbols modified
+ __version__ import import __version__ L113–113
+ start_timer import import start_timer L115–115
~ run
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:55ac415923e705f12a781c0ae11fd52c45769d37949c6c1b127444a14f2ffd80 --body "your comment"