test_archive_integrity_failure_is_terminal_without_changing_deployment (test_poller.PollerTests.test_archive_integrity_failure_is_terminal_without_changing_deployment) ... ok
test_failed_rollout_is_terminal_until_manifest_changes (test_poller.PollerTests.test_failed_rollout_is_terminal_until_manifest_changes) ... ok
test_missing_manifest_still_synchronizes_feedback_secret (test_poller.PollerTests.test_missing_manifest_still_synchronizes_feedback_secret) ... ok
test_non_404_get_failure_still_synchronizes_secret_without_image_change (test_poller.PollerTests.test_non_404_get_failure_still_synchronizes_secret_without_image_change) ... ok
test_secondary_distribution_failure_is_retried_without_terminal_state (test_poller.PollerTests.test_secondary_distribution_failure_is_retried_without_terminal_state) ... ok
test_secret_version_only_restarts_without_downloading_image (test_poller.PollerTests.test_secret_version_only_restarts_without_downloading_image) ... ok
test_success_is_idempotent_and_does_not_download_again (test_poller.PollerTests.test_success_is_idempotent_and_does_not_download_again) ... ok
test_transient_download_failure_is_retried_without_mutating_deployment (test_poller.PollerTests.test_transient_download_failure_is_retried_without_mutating_deployment) ... ok
test_public_request_uses_the_browser_user_agent_allowed_by_the_waf (test_publish.HealthTests.test_public_request_uses_the_browser_user_agent_allowed_by_the_waf) ... ok
test_retries_until_the_exact_commit_is_healthy (test_publish.HealthTests.test_retries_until_the_exact_commit_is_healthy) ... ok
test_transient_failure_then_timeout_never_accepts_another_commit (test_publish.HealthTests.test_transient_failure_then_timeout_never_accepts_another_commit) ... ok
test_asset_url_cli_uses_the_vite_wasm_asset_by_default (test_publish.PublishTests.test_asset_url_cli_uses_the_vite_wasm_asset_by_default) ... ok
test_existing_archive_without_integrity_metadata_is_not_activated_or_overwritten (test_publish.PublishTests.test_existing_archive_without_integrity_metadata_is_not_activated_or_overwritten) ... ok
test_failed_archive_upload_does_not_activate_release (test_publish.PublishTests.test_failed_archive_upload_does_not_activate_release) ... ok
test_github_main_must_equal_the_build_commit (test_publish.PublishTests.test_github_main_must_equal_the_build_commit) ... ok
test_immutable_objects_are_reused_and_never_overwritten_with_different_bytes (test_publish.PublishTests.test_immutable_objects_are_reused_and_never_overwritten_with_different_bytes) ... ok
test_latest_is_written_after_both_objects_and_current_main_check (test_publish.PublishTests.test_latest_is_written_after_both_objects_and_current_main_check) ... ok
test_main_advance_leaves_verified_objects_without_activating_them (test_publish.PublishTests.test_main_advance_leaves_verified_objects_without_activating_them) ... ok
test_permission_failure_is_not_treated_as_a_missing_object (test_publish.PublishTests.test_permission_failure_is_not_treated_as_a_missing_object) ... ok
test_public_asset_url_rejects_embedded_credentials (test_publish.PublishTests.test_public_asset_url_rejects_embedded_credentials) ... ok
test_rerun_reuses_original_image_when_rebuilt_tar_bytes_differ (test_publish.PublishTests.test_rerun_reuses_original_image_when_rebuilt_tar_bytes_differ) ... ok
test_unexpected_image_is_rejected_before_any_upload (test_publish.PublishTests.test_unexpected_image_is_rejected_before_any_upload) ... ok
test_failed_integrity_removes_partial_file_but_never_an_existing_target (test_r2_s3.S3ClientTests.test_failed_integrity_removes_partial_file_but_never_an_existing_target) ... ok
test_get_query_is_canonical_and_read_is_bounded (test_r2_s3.S3ClientTests.test_get_query_is_canonical_and_read_is_bounded) ... ok
test_http_error_does_not_expose_response_credentials_or_body (test_r2_s3.S3ClientTests.test_http_error_does_not_expose_response_credentials_or_body) ... ok
test_metadata_rejects_header_injection_before_network (test_r2_s3.S3ClientTests.test_metadata_rejects_header_injection_before_network) ... ok
test_streamed_put_signs_metadata_and_does_not_buffer_file (test_r2_s3.S3ClientTests.test_streamed_put_signs_metadata_and_does_not_buffer_file) ... ok
test_docker_archive_allows_only_expected_image_and_safe_paths (test_release.ReleaseValidationTests.test_docker_archive_allows_only_expected_image_and_safe_paths) ... ok
test_dual_manifest_requires_the_same_config_and_ordered_layer_graph (test_release.ReleaseValidationTests.test_dual_manifest_requires_the_same_config_and_ordered_layer_graph) ... ok
test_duplicate_or_oversized_json_is_rejected (test_release.ReleaseValidationTests.test_duplicate_or_oversized_json_is_rejected) ... ok
test_manifest_binds_image_and_archive_to_full_commit (test_release.ReleaseValidationTests.test_manifest_binds_image_and_archive_to_full_commit) ... ok
test_normal_docker_oci_index_checks_every_named_reference (test_release.ReleaseValidationTests.test_normal_docker_oci_index_checks_every_named_reference) ... ok
test_import_requires_exact_expected_tag_after_containerd_import (test_remote_import.RemoteImportTests.test_import_requires_exact_expected_tag_after_containerd_import) ... ok
test_receive_checks_size_hash_and_archive_identity (test_remote_import.RemoteImportTests.test_receive_checks_size_hash_and_archive_identity) ... ok
test_receive_rejects_early_eof (test_remote_import.RemoteImportTests.test_receive_rejects_early_eof) ... ok
test_receive_rejects_trailing_bytes_and_hash_mismatch (test_remote_import.RemoteImportTests.test_receive_rejects_trailing_bytes_and_hash_mismatch) ... ok
test_request_is_exact_and_bounded (test_remote_import.RemoteImportTests.test_request_is_exact_and_bounded) ... ok
test_failed_readiness_restores_actual_previous_image_and_commit (test_rollout.RolloutTests.test_failed_readiness_restores_actual_previous_image_and_commit) ... ok
test_policy_drift_prevents_import (test_rollout.RolloutTests.test_policy_drift_prevents_import) ... ok
test_rollback_does_not_overwrite_concurrent_external_deployment (test_rollout.RolloutTests.test_rollback_does_not_overwrite_concurrent_external_deployment) ... ok
test_secondary_import_failure_never_patches_deployment (test_rollout.RolloutTests.test_secondary_import_failure_never_patches_deployment) ... ok
test_secret_only_sync_preserves_image_and_unrelated_environment (test_rollout.RolloutTests.test_secret_only_sync_preserves_image_and_unrelated_environment) ... ok
test_success_imports_both_nodes_then_changes_image_commit_and_secret_version (test_rollout.RolloutTests.test_success_imports_both_nodes_then_changes_image_commit_and_secret_version) ... ok
test_backfill_downloads_verified_private_archive_and_publishes_only_chunks (test_static_assets.StaticAssetsTests.test_backfill_downloads_verified_private_archive_and_publishes_only_chunks) ... ok
test_backfill_is_bounded_and_validates_the_archive_before_docker_load (test_static_assets.StaticAssetsTests.test_backfill_is_bounded_and_validates_the_archive_before_docker_load) ... ok
test_copy_never_runs_the_image_and_cleans_up_after_failure (test_static_assets.StaticAssetsTests.test_copy_never_runs_the_image_and_cleans_up_after_failure) ... ok
test_empty_and_oversized_assets_are_rejected (test_static_assets.StaticAssetsTests.test_empty_and_oversized_assets_are_rejected) ... ok
test_only_versioned_public_files_are_collected (test_static_assets.StaticAssetsTests.test_only_versioned_public_files_are_collected) ... ok
test_static_asset_failure_never_activates_a_release (test_static_assets.StaticAssetsTests.test_static_asset_failure_never_activates_a_release) ... ok
test_static_assets_are_immutable_and_published_before_activation (test_static_assets.StaticAssetsTests.test_static_assets_are_immutable_and_published_before_activation) ... ok

----------------------------------------------------------------------
Ran 50 tests in 0.172s

OK
