gabriel / muse public
test patch task/unified-object-store #4 / 9
AI Agent gabriel · 116 days ago · May 21, 2026 · Diff

test: migrate test suite to unified object store — replace compute_* shims and snapshot_path with hash_commit/hash_snapshot and object_path

sha256:64b7c97d15661242a344ee8ac332982768d3b97fb298d5f4c2d727eb1857ccbf sha
+53 ~453 −74 symbols
sha256:f3067355963cf6d179f0483a8ded71cda04a9c1f1eba3e098f5aeb10c0961019 snapshot
+53
symbols added
~453
symbols modified
−74
symbols removed
0
dead code introduced
Semantic Changes 580 symbols
~ muse/core/mpack.py .py 1 symbol modified
~ muse/core/object_store.py .py 1 symbol modified
~ tests/test_core_graph.py .py 2 symbols removed, 8 symbols modified
~ tests/test_core_snapshot.py .py 14 symbols removed, 7 symbols modified
TestCommitIdentityBytes class class TestCommitIdentityBytes L218–259
test_different_fields_different_bytes method method test_different_fields_different_bytes L255–259
test_importable method method test_importable L234–235
test_parent_order_independent method method test_parent_order_independent L249–253
test_returns_bytes method method test_returns_bytes L237–240
test_sha256_of_bytes_equals_compute_commit_id method method test_sha256_of_bytes_equals_compute_commit_id L242–247
TestSnapshotIdentityBytes class class TestSnapshotIdentityBytes L131–173
test_different_manifests_different_bytes method method test_different_manifests_different_bytes L163–167
test_empty_manifest method method test_empty_manifest L169–173
test_importable method method test_importable L134–135
test_order_independent method method test_order_independent L157–161
test_returns_bytes method method test_returns_bytes L137–140
test_sha256_of_bytes_equals_compute_snapshot_id method method test_sha256_of_bytes_equals_compute_snapshot_id L142–147
test_with_directories method method test_with_directories L149–155
~ tests/test_gc_full.py .py 4 symbols removed, 39 symbols modified
CommitRecord import import CommitRecord L81–81
commit_path import import commit_path L81–81
snapshot_path import import snapshot_path L81–81
write_commit import import write_commit L81–81
~ tests/test_gc_supercharge.py .py 1 symbol modified
~ tests/test_integrity_I4_msgpack_size.py .py 8 symbols added, 10 symbols removed, 18 symbols modified
test_oversized_commit_produces_json_error_not_traceback method method test_oversized_commit_produces_json_error_not_traceback L618–664
_write_oversized_commit method method _write_oversized_commit L235–242
test_read_commit_returns_none_for_oversized_file method method test_read_commit_returns_none_for_oversized_file L244–252
test_read_snapshot_returns_none_for_oversized_file method method test_read_snapshot_returns_none_for_oversized_file L254–264
test_read_commit_checks_stat_before_read_bytes method method test_read_commit_checks_stat_before_read_bytes L171–196
test_read_snapshot_checks_stat_before_read_bytes method method test_read_snapshot_checks_stat_before_read_bytes L198–221
test_warning_logged_for_oversized_commit method method test_warning_logged_for_oversized_commit L572–589
test_warning_logged_for_oversized_snapshot method method test_warning_logged_for_oversized_snapshot L591–606
commit_path import import commit_path L44–44
snapshot_path import import snapshot_path L44–44
+ test_corrupt_commit_produces_json_error_not_traceback method method test_corrupt_commit_produces_json_error_not_traceback L588–632
+ test_read_commit_returns_none_for_corrupt_object method method test_read_commit_returns_none_for_corrupt_object L209–223
+ test_read_snapshot_returns_none_for_corrupt_object method method test_read_snapshot_returns_none_for_corrupt_object L225–234
+ test_read_commit_corrupt_object_returns_none method method test_read_commit_corrupt_object_returns_none L170–184
+ test_read_snapshot_corrupt_object_returns_none method method test_read_snapshot_corrupt_object_returns_none L186–195
+ test_warning_logged_for_corrupt_commit method method test_warning_logged_for_corrupt_commit L542–560
+ test_warning_logged_for_corrupt_snapshot method method test_warning_logged_for_corrupt_snapshot L562–576
+ _obj_path import import _obj_path L44–44
~ tests/test_integrity_I5_commit_integrity.py .py 5 symbols added, 6 symbols removed, 53 symbols modified
test_corrupt_existing_is_overwritten method method test_corrupt_existing_is_overwritten L235–247
test_empty_existing_is_overwritten method method test_empty_existing_is_overwritten L249–259
test_truncated_msgpack_is_overwritten method method test_truncated_msgpack_is_overwritten L261–273
test_commit_id_mismatch_raises_os_error method method test_commit_id_mismatch_raises_os_error L281–295
commit_path import import commit_path L34–34
snapshot_path import import snapshot_path L34–34
+ test_corrupt_existing_is_skipped_by_write_commit method method test_corrupt_existing_is_skipped_by_write_commit L234–248
+ test_empty_existing_is_skipped_by_write_commit method method test_empty_existing_is_skipped_by_write_commit L250–258
+ test_truncated_existing_is_skipped_by_write_commit method method test_truncated_existing_is_skipped_by_write_commit L260–270
+ test_commit_id_mismatch_detected_at_read_time method method test_commit_id_mismatch_detected_at_read_time L278–297
+ _obj_path import import _obj_path L34–34
~ tests/test_mpack_bundle.py .py 2 symbols added, 5 symbols modified
+ object_path import import object_path L30–30
+ read_commit import import read_commit L33–33
~ tests/test_mpack_oserror_integrity.py .py 3 symbols added, 3 symbols removed, 11 symbols modified
test_apply_pack_commits_written_excludes_integrity_violation method method test_apply_pack_commits_written_excludes_integrity_violation L162–176
test_apply_pack_logs_critical_on_store_integrity_violation method method test_apply_pack_logs_critical_on_store_integrity_violation L128–143
commit_path import import commit_path L40–40
+ test_apply_pack_commits_written_excludes_impostor_blocked method method test_apply_pack_commits_written_excludes_impostor_blocked L161–176
+ test_apply_pack_impostor_commit_not_readable method method test_apply_pack_impostor_commit_not_readable L130–142
+ object_path import import object_path L40–40
~ tests/test_mpack_wire.py .py 1 symbol added, 1 symbol removed, 2 symbols modified
test_apply_wire_mpack_writes_no_loose_objects function function test_apply_wire_mpack_writes_no_loose_objects L265–273
+ test_apply_wire_mpack_objects_accessible_after_apply function function test_apply_wire_mpack_objects_accessible_after_apply L265–274
~ tests/test_perf_merge_scale.py .py 1 symbol added, 1 symbol removed, 8 symbols modified
~ tests/test_push_have_filter.py .py 3 symbols added, 3 symbols removed, 10 symbols modified
test_I3_commit_exists_uses_msgpack_extension method method test_I3_commit_exists_uses_msgpack_extension L164–173
test_I4_json_shadow_does_not_fool_commit_exists method method test_I4_json_shadow_does_not_fool_commit_exists L175–182
commit_path import import commit_path L50–50
+ test_I3_commit_exists_uses_unified_object_store method method test_I3_commit_exists_uses_unified_object_store L163–171
+ test_I4_file_at_wrong_path_does_not_fool_commit_exists method method test_I4_file_at_wrong_path_does_not_fool_commit_exists L173–181
+ _obj_path import import _obj_path L47–47
~ tests/test_release.py .py 1 symbol modified
~ tests/test_release_supercharge.py .py 1 symbol modified
~ tests/test_security_agent_impersonation.py .py 2 symbols added, 2 symbols removed, 5 symbols modified
commit_path import import commit_path L32–32
snapshot_path import import snapshot_path L32–32
+ _hash_snapshot import import _hash_snapshot L40–40
+ _obj_path import import _obj_path L32–32
~ tests/test_security_ast_dos.py .py 1 symbol modified
~ tests/test_workdir_integrity.py .py 1 symbol modified
~ tests/test_write_commit_snapshot_hash_verify.py .py 23 symbols added, 24 symbols removed, 10 symbols modified
test_commit_and_snapshot_both_readable_after_repair method method test_commit_and_snapshot_both_readable_after_repair L376–399
test_parent_chain_survives_middle_commit_corruption method method test_parent_chain_survives_middle_commit_corruption L401–425
test_snapshot_repair_does_not_affect_sibling_snapshots method method test_snapshot_repair_does_not_affect_sibling_snapshots L427–449
test_corrupt_snapshot_id_in_commit_cannot_forge_different_snapshot method method test_corrupt_snapshot_id_in_commit_cannot_forge_different_snapshot L459–478
test_injected_manifest_entry_is_removed_on_snapshot_repair method method test_injected_manifest_entry_is_removed_on_snapshot_repair L480–496
TestStressConcurrentRepair class class TestStressConcurrentRepair L504–561
test_50_sequential_repairs_all_succeed method method test_50_sequential_repairs_all_succeed L551–561
test_concurrent_write_commit_repairs_corrupt_snapshot_id method method test_concurrent_write_commit_repairs_corrupt_snapshot_id L506–530
test_concurrent_write_snapshot_repairs_corrupt_manifest method method test_concurrent_write_snapshot_repairs_corrupt_manifest L532–549
test_hard_integrity_violation_still_raises method method test_hard_integrity_violation_still_raises L250–277
test_repairs_corrupt_message method method test_repairs_corrupt_message L223–234
test_repairs_corrupt_parent_commit_id method method test_repairs_corrupt_parent_commit_id L236–248
test_repairs_corrupt_snapshot_id method method test_repairs_corrupt_snapshot_id L196–221
test_repairs_corrupt_object_id_in_manifest method method test_repairs_corrupt_object_id_in_manifest L299–324
test_repairs_empty_manifest method method test_repairs_empty_manifest L342–353
test_repairs_extra_manifest_entry method method test_repairs_extra_manifest_entry L326–340
test_repairs_missing_file_in_manifest method method test_repairs_missing_file_in_manifest L355–366
MsgpackDict import import MsgpackDict L86–86
NULL_COMMIT_ID import import NULL_COMMIT_ID L86–86
commit_path import import commit_path L87–87
commits_dir import import commits_dir L88–88
msgpack import import msgpack L83–83
snapshots_dir import import snapshots_dir L88–88
tempfile import import tempfile L81–81
+ test_clean_commit_and_snapshot_both_readable method method test_clean_commit_and_snapshot_both_readable L326–340
+ test_corrupting_one_snapshot_does_not_affect_siblings method method test_corrupting_one_snapshot_does_not_affect_siblings L362–379
+ test_parent_chain_corrupt_middle_unreadable method method test_parent_chain_corrupt_middle_unreadable L342–360
+ test_corrupt_snapshot_id_in_commit_rejected_at_read method method test_corrupt_snapshot_id_in_commit_rejected_at_read L389–407
+ test_injected_manifest_entry_rejected_at_read method method test_injected_manifest_entry_rejected_at_read L409–427
+ TestStressConcurrentWrite class class TestStressConcurrentWrite L435–482
+ test_50_sequential_commits_all_readable method method test_50_sequential_commits_all_readable L473–482
+ test_concurrent_write_commit_all_idempotent method method test_concurrent_write_commit_all_idempotent L437–455
+ test_concurrent_write_snapshot_all_idempotent method method test_concurrent_write_snapshot_all_idempotent L457–471
+ test_content_hash_mismatch_skipped_not_raised method method test_content_hash_mismatch_skipped_not_raised L207–231
+ test_corrupt_message_detected_at_read method method test_corrupt_message_detected_at_read L183–193
+ test_corrupt_parent_commit_id_detected_at_read method method test_corrupt_parent_commit_id_detected_at_read L195–205
+ test_corrupt_snapshot_id_detected_at_read method method test_corrupt_snapshot_id_detected_at_read L162–181
+ test_corrupt_object_id_in_manifest_detected_at_read method method test_corrupt_object_id_in_manifest_detected_at_read L253–269
+ test_empty_manifest_detected_at_read method method test_empty_manifest_detected_at_read L287–300
+ test_extra_manifest_entry_detected_at_read method method test_extra_manifest_entry_detected_at_read L271–285
+ test_missing_manifest_entry_detected_at_read method method test_missing_manifest_entry_detected_at_read L302–316
+ _DEFAULT_BLOB variable variable _DEFAULT_BLOB L54–54
+ _DEFAULT_SNAP variable variable _DEFAULT_SNAP L55–55
+ _json import import _json L40–40
+ _obj_path import import _obj_path L47–47
+ fake_id import import fake_id L46–46
+ muse_dir import import muse_dir L48–48

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:64b7c97d15661242a344ee8ac332982768d3b97fb298d5f4c2d727eb1857ccbf --body "your comment"