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

test(errors): seven-tier coverage for ExitCode, MuseCLIError, RepoNotFoundError, UntrustedRepositoryError, HubFingerprintMismatchError

sha256:027eceacf40950578e0edd7afa0cd04dcad41e7531e21d6fe4530eff736ebbeb sha
+76 symbols
sha256:832f45e6a135792288a7ae8d1d31224fd57da51ace76633c61ffcb92bdd7372f snapshot
+76
symbols added
0
dead code introduced
Semantic Changes 76 symbols
~ tests/test_errors_supercharge.py .py 76 symbols added
+ TestDataIntegrity class class TestDataIntegrity L361–389
+ test_exit_code_values_are_unique method method test_exit_code_values_are_unique L362–365
+ test_fingerprint_mismatch_attributes_independent_of_message method method test_fingerprint_mismatch_attributes_independent_of_message L379–384
+ test_muse_cli_error_exit_code_attribute_is_exit_code_instance method method test_muse_cli_error_exit_code_attribute_is_exit_code_instance L367–370
+ test_repo_not_found_is_exact_alias method method test_repo_not_found_is_exact_alias L386–389
+ test_untrusted_repo_attributes_independent_of_message method method test_untrusted_repo_attributes_independent_of_message L372–377
+ TestEndToEnd class class TestEndToEnd L291–315
+ test_muse_outside_repo_exit_code_is_repo_not_found method method test_muse_outside_repo_exit_code_is_repo_not_found L304–315
+ test_muse_outside_repo_exits_nonzero method method test_muse_outside_repo_exits_nonzero L292–302
+ TestExitCode class class TestExitCode L27–70
+ test_all_six_members_present method method test_all_six_members_present L57–59
+ test_comparable_to_int method method test_comparable_to_int L61–64
+ test_internal_error_is_three method method test_internal_error_is_three L40–42
+ test_is_int_enum method method test_is_int_enum L52–55
+ test_not_found_is_four method method test_not_found_is_four L44–46
+ test_remote_error_is_five method method test_remote_error_is_five L48–50
+ test_repo_not_found_is_two method method test_repo_not_found_is_two L36–38
+ test_success_is_zero method method test_success_is_zero L28–30
+ test_usable_as_system_exit_code method method test_usable_as_system_exit_code L66–70
+ test_user_error_is_one method method test_user_error_is_one L32–34
+ TestHubFingerprintMismatchError class class TestHubFingerprintMismatchError L204–245
+ test_is_exception method method test_is_exception L205–207
+ test_message_mentions_both_fingerprints method method test_message_mentions_both_fingerprints L229–234
+ test_message_mentions_hostname method method test_message_mentions_hostname L224–227
+ test_message_mentions_hub_reset method method test_message_mentions_hub_reset L242–245
+ test_message_mentions_mitm_risk method method test_message_mentions_mitm_risk L236–240
+ test_stores_actual_fingerprint method method test_stores_actual_fingerprint L219–222
+ test_stores_hostname method method test_stores_hostname L209–212
+ test_stores_stored_fingerprint method method test_stores_stored_fingerprint L214–217
+ TestIntegration class class TestIntegration L253–283
+ test_all_exit_codes_valid_process_exit_codes method method test_all_exit_codes_valid_process_exit_codes L275–278
+ test_exit_code_propagates_through_system_exit method method test_exit_code_propagates_through_system_exit L268–273
+ test_repo_not_found_exit_code_matches_enum method method test_repo_not_found_exit_code_matches_enum L280–283
+ test_repo_not_found_not_caught_by_os_error method method test_repo_not_found_not_caught_by_os_error L254–261
+ test_untrusted_repo_caught_by_os_error method method test_untrusted_repo_caught_by_os_error L263–266
+ TestMuseCLIError class class TestMuseCLIError L78–101
+ test_catchable_as_exception method method test_catchable_as_exception L98–101
+ test_custom_exit_code method method test_custom_exit_code L93–96
+ test_default_exit_code_is_internal_error method method test_default_exit_code_is_internal_error L88–91
+ test_is_exception method method test_is_exception L79–81
+ test_message_stored method method test_message_stored L83–86
+ TestMuseNotARepoError class class TestMuseNotARepoError L140–148
+ test_alias_raises_same_exception method method test_alias_raises_same_exception L145–148
+ test_is_same_class_as_repo_not_found class method test_is_same_class_as_repo_not_found L141–143
+ TestPerformance class class TestPerformance L428–451
+ test_exit_code_lookup_under_1ms method method test_exit_code_lookup_under_1ms L429–435
+ test_muse_cli_error_instantiation_under_1ms_each method method test_muse_cli_error_instantiation_under_1ms_each L437–443
+ test_untrusted_repo_error_instantiation_fast method method test_untrusted_repo_error_instantiation_fast L445–451
+ TestRepoNotFoundError class class TestRepoNotFoundError L109–132
+ test_catchable_as_muse_cli_error method method test_catchable_as_muse_cli_error L129–132
+ test_custom_message method method test_custom_message L124–127
+ test_default_message_mentions_muse_init method method test_default_message_mentions_muse_init L114–117
+ test_exit_code_is_repo_not_found method method test_exit_code_is_repo_not_found L119–122
+ test_is_muse_cli_error method method test_is_muse_cli_error L110–112
+ TestSecurity class class TestSecurity L397–420
+ test_ansi_in_untrusted_path_preserved_in_attribute method method test_ansi_in_untrusted_path_preserved_in_attribute L398–403
+ test_fingerprint_mismatch_with_hostile_fingerprint_strings method method test_fingerprint_mismatch_with_hostile_fingerprint_strings L416–420
+ test_null_byte_in_muse_cli_error_message_does_not_crash method method test_null_byte_in_muse_cli_error_message_does_not_crash L405–408
+ test_very_long_message_does_not_crash method method test_very_long_message_does_not_crash L410–414
+ TestStress class class TestStress L323–353
+ test_10000_muse_cli_error_instantiations method method test_10000_muse_cli_error_instantiations L324–328
+ test_10000_untrusted_repo_error_instantiations method method test_10000_untrusted_repo_error_instantiations L349–353
+ test_concurrent_exception_raises_all_succeed method method test_concurrent_exception_raises_all_succeed L330–347
+ TestUntrustedRepositoryError class class TestUntrustedRepositoryError L156–196
+ test_catchable_as_permission_error method method test_catchable_as_permission_error L193–196
+ test_is_permission_error method method test_is_permission_error L157–159
+ test_message_mentions_both_uids method method test_message_mentions_both_uids L181–186
+ test_message_mentions_path method method test_message_mentions_path L176–179
+ test_message_mentions_trust_command method method test_message_mentions_trust_command L188–191
+ test_stores_current_uid method method test_stores_current_uid L171–174
+ test_stores_owner_uid method method test_stores_owner_uid L166–169
+ test_stores_repo_path method method test_stores_repo_path L161–164
+ annotations import import annotations L14–14
+ pytest import import pytest L19–19
+ threading import import threading L16–16
+ time import import time L17–17
← 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:027eceacf40950578e0edd7afa0cd04dcad41e7531e21d6fe4530eff736ebbeb --body "your comment"