← Về thư mục
tests/test_release_pipeline.py
- _completed · function · L53-L54 — def _completed(returncode=0, stdout=b"", stderr=b"")
- _git_aware · function · L61-L78 — def _git_aware(extra=None)
- runner · function · L70-L76 — def runner(argv, cwd=None)
- _write_receipt · function · L81-L121 — def _write_receipt(directory, , source_sha=FAKE_HEAD, failing=(), *overrides)
- _write_build_receipt · function · L124-L160 — def _write_build_receipt(directory, kind, artifacts, , source_sha=FAKE_HEAD, *kwargs)
- _receipt_dist · function · L163-L169 — def _receipt_dist(directory, *, source_sha=FAKE_HEAD)
- assets · function · L173-L180 — def assets(tmp_path)
- _signed_dmg · function · L183-L240 — def _signed_dmg( assets: Path, name: str = "OpenAI4S-0.2.0-arm64.dmg", *, notarized: bool = True, receipt: bool = True, ) -> Path
- _matching_pypi · function · L243-L258 — def _matching_pypi(assets: Path)
- digests · function · L251-L256 — def digests(_project, _version)
- _pipeline · function · L261-L273 — def _pipeline(assets, **kw)
- _gh_for · function · L293-L343 — def _gh_for(assets: Path, *, is_draft=True, corrupt=None, drop=None, extra=None)
- _uploaded_names · function · L303-L313 — def _uploaded_names()
- gh · function · L315-L341 — def gh(argv)
- test_publishing_is_the_last_step · function · L351-L354 — def test_publishing_is_the_last_step()
- test_nothing_external_happens_before_everything_local_has_passed · function · L357-L360 — def test_nothing_external_happens_before_everything_local_has_passed()
- test_assets_are_verified_before_they_are_staged_and_again_after_upload · function · L363-L365 — def test_assets_are_verified_before_they_are_staged_and_again_after_upload()
- test_the_checksum_manifest_is_written_after_everything_it_covers · function · L368-L371 — def test_the_checksum_manifest_is_written_after_everything_it_covers()
- test_a_dry_run_touches_nothing_and_still_reports_every_step · function · L374-L378 — def test_a_dry_run_touches_nothing_and_still_reports_every_step(assets)
- _Hub · class · L386-L393 — class _Hub
- emitter · method · L389-L390 — def emitter(self, root_frame_id)
- broadcast · method · L392-L393 — def broadcast(self, root_frame_id, event)
- _real_gateway · function · L397-L449 — def _real_gateway(tmp_path, *, webui=None, monkeypatch=None)
- Recording · class · L428-L431 — class Recording(handler_cls)
- do_GET · method · L429-L431 — def do_GET(self)
- _installed_cli_reports · function · L452-L459 — def _installed_cli_reports(monkeypatch, url)
- installed_cli · function · L455-L457 — def installed_cli(argv, **_kwargs)
- _shipped_entrypoints · function · L462-L474 — def _shipped_entrypoints()
- test_installed_daemon_smoke_bootstraps_and_loads_the_real_webui · function · L477-L517 — def test_installed_daemon_smoke_bootstraps_and_loads_the_real_webui( monkeypatch, tmp_path )
- test_installed_daemon_smoke_refuses_a_shell_whose_entrypoint_is_not_shipped · function · L520-L543 — def test_installed_daemon_smoke_refuses_a_shell_whose_entrypoint_is_not_shipped( monkeypatch, tmp_path )
- test_installed_daemon_smoke_judges_the_default_shell_not_the_escape_hatch · function · L546-L560 — def test_installed_daemon_smoke_judges_the_default_shell_not_the_escape_hatch( monkeypatch, tmp_path )
- test_the_smoke_counts_only_same_origin_dist_module_entrypoints · function · L577-L580 — def test_the_smoke_counts_only_same_origin_dist_module_entrypoints(markup)
- test_the_smoke_reads_entrypoints_from_the_committed_default_shell · function · L583-L587 — def test_the_smoke_reads_entrypoints_from_the_committed_default_shell()
- test_the_daemon_smoke_never_inherits_the_legacy_shell_switch · function · L590-L625 — def test_the_daemon_smoke_never_inherits_the_legacy_shell_switch(monkeypatch, tmp_path)
- ExitedDaemon · class · L600-L613 — class ExitedDaemon
- init · method · L603-L604 — def init(self, argv, **kwargs)
- poll · method · L606-L607 — def poll(self)
- terminate · method · L609-L610 — def terminate(self): # pragma: no cover - poll() already reports exit
- wait · method · L612-L613 — def wait(self, timeout=None)
- _fake_installed_python · function · L667-L697 — def _fake_installed_python(tmp_path, monkeypatch, stop_mode, patience=20.0)
- served_once_the_daemon_is_up · function · L679-L684 — def served_once_the_daemon_is_up(python, root, env, base_url)
- test_the_daemon_smoke_reaps_its_daemon_while_the_cli_stops_it · function · L701-L721 — def test_the_daemon_smoke_reaps_its_daemon_while_the_cli_stops_it( monkeypatch, tmp_path )
- test_the_daemon_smoke_fails_when_the_cli_stop_fails · function · L725-L735 — def test_the_daemon_smoke_fails_when_the_cli_stop_fails(monkeypatch, tmp_path)
- test_a_staging_run_does_not_rebuild_but_must_prove_the_suite_ran · function · L743-L777 — def test_a_staging_run_does_not_rebuild_but_must_prove_the_suite_ran(assets)
- test_staging_refuses_a_receipt_that_is_not_for_these_sources · function · L780-L793 — def test_staging_refuses_a_receipt_that_is_not_for_these_sources(assets)
- test_staging_refuses_a_missing_receipt · function · L796-L802 — def test_staging_refuses_a_missing_receipt(assets)
- test_staging_refuses_a_receipt_whose_gates_failed · function · L805-L814 — def test_staging_refuses_a_receipt_whose_gates_failed(assets)
- test_a_distribution_that_changed_after_collection_stops_the_run · function · L817-L829 — def test_a_distribution_that_changed_after_collection_stops_the_run(assets)
- rewrite · function · L820-L822 — def rewrite(wheel)
- test_stop_after_runs_a_prefix_and_only_runs_one_step · function · L832-L840 — def test_stop_after_runs_a_prefix_and_only_runs_one_step(assets)
- test_a_failing_step_stops_the_pipeline_there · function · L848-L861 — def test_a_failing_step_stops_the_pipeline_there(assets)
- refuse · function · L849-L852 — def refuse(argv, cwd=None)
- test_the_assets_dir_is_absolute_so_subprocesses_from_root_find_it · function · L864-L874 — def test_the_assets_dir_is_absolute_so_subprocesses_from_root_find_it(tmp_path)
- test_the_build_uses_a_frontend_available_in_the_locked_environment · function · L877-L893 — def test_the_build_uses_a_frontend_available_in_the_locked_environment(assets)
- runner · function · L883-L885 — def runner(argv, cwd=None)
- test_a_stale_distribution_from_a_previous_build_is_not_published · function · L896-L903 — def test_a_stale_distribution_from_a_previous_build_is_not_published(assets)
- test_the_build_clears_stale_artifacts_before_building · function · L906-L927 — def test_the_build_clears_stale_artifacts_before_building(tmp_path)
- runner · function · L913-L917 — def runner(argv, cwd=None): # Simulate the build writing this version's artifacts.
- test_a_wheel_that_does_not_survive_a_clean_install_stops_the_run · function · L930-L936 — def test_a_wheel_that_does_not_survive_a_clean_install_stops_the_run(assets)
- broken · function · L931-L932 — def broken(wheel)
- test_a_release_is_never_published_when_a_check_failed · function · L939-L949 — def test_a_release_is_never_published_when_a_check_failed(assets)
- refuse · function · L940-L943 — def refuse(argv, cwd=None)
- test_missing_assets_stop_the_run_before_anything_is_staged · function · L952-L960 — def test_missing_assets_stop_the_run_before_anything_is_staged(tmp_path)
- test_release_mode_refuses_an_image_with_no_developer_id_signature · function · L968-L989 — def test_release_mode_refuses_an_image_with_no_developer_id_signature( assets, monkeypatch )
- test_a_real_developer_id_receipt_passes_the_gate · function · L992-L1002 — def test_a_real_developer_id_receipt_passes_the_gate(assets, monkeypatch)
- test_local_mode_builds_an_unsigned_image_without_pretending · function · L1005-L1020 — def test_local_mode_builds_an_unsigned_image_without_pretending(assets, monkeypatch)
- test_local_mode_seals_without_a_quality_receipt · function · L1023-L1045 — def test_local_mode_seals_without_a_quality_receipt(assets, monkeypatch)
- test_the_runners_own_run_id_is_the_default_the_receipts_are_checked_against · function · L1048-L1060 — def test_the_runners_own_run_id_is_the_default_the_receipts_are_checked_against( assets, monkeypatch )
- test_a_build_receipt_without_recorded_inputs_is_refused · function · L1063-L1076 — def test_a_build_receipt_without_recorded_inputs_is_refused(assets)
- test_a_missing_receipt_is_not_read_as_a_signature · function · L1079-L1083 — def test_a_missing_receipt_is_not_read_as_a_signature(tmp_path)
- test_a_developer_id_image_with_no_notarization_cannot_be_published · function · L1086-L1107 — def test_a_developer_id_image_with_no_notarization_cannot_be_published( assets, monkeypatch )
- test_a_build_receipt_from_another_workflow_run_is_refused · function · L1110-L1125 — def test_a_build_receipt_from_another_workflow_run_is_refused(assets)
- test_a_receipt_built_under_publish_true_cannot_serve_a_rehearsal · function · L1128-L1152 — def test_a_receipt_built_under_publish_true_cannot_serve_a_rehearsal(assets)
- test_a_partial_run_seals_the_receipts_boundary_not_an_empty_default · function · L1155-L1181 — def test_a_partial_run_seals_the_receipts_boundary_not_an_empty_default(assets)
- test_a_notarized_developer_id_image_is_publishable · function · L1184-L1199 — def test_a_notarized_developer_id_image_is_publishable(assets, monkeypatch)
- test_a_stapler_result_from_another_image_does_not_notarize_this_one · function · L1202-L1212 — def test_a_stapler_result_from_another_image_does_not_notarize_this_one(assets)
- test_omitting_the_macos_asset_is_a_supported_release_shape · function · L1215-L1225 — def test_omitting_the_macos_asset_is_a_supported_release_shape(assets)
- test_a_stale_stapled_ticket_does_not_notarize_rebuilt_bytes · function · L1228-L1241 — def test_a_stale_stapled_ticket_does_not_notarize_rebuilt_bytes(assets)
- test_a_notarized_receipt_without_post_staple_digest_is_not_verified · function · L1244-L1254 — def test_a_notarized_receipt_without_post_staple_digest_is_not_verified(assets)
- test_verify_records_post_staple_digest_and_assessment_returncodes · function · L1257-L1266 — def test_verify_records_post_staple_digest_and_assessment_returncodes(assets)
- test_a_moved_tag_is_reported_as_a_moved_tag_when_sealing · function · L1269-L1280 — def test_a_moved_tag_is_reported_as_a_moved_tag_when_sealing(assets)
- test_the_copied_check_rows_keep_the_commit_they_were_attested_at · function · L1283-L1292 — def test_the_copied_check_rows_keep_the_commit_they_were_attested_at(assets)
- test_staging_records_the_linux_full_boundary_check_run_id · function · L1295-L1305 — def test_staging_records_the_linux_full_boundary_check_run_id(assets)
- test_the_sbom_names_the_assets_and_their_digests · function · L1313-L1323 — def test_the_sbom_names_the_assets_and_their_digests(assets)
- test_the_sbom_components_come_from_the_wheel_and_the_image · function · L1326-L1356 — def test_the_sbom_components_come_from_the_wheel_and_the_image(assets)
- test_an_image_with_no_component_inventory_is_named_not_omitted · function · L1359-L1364 — def test_an_image_with_no_component_inventory_is_named_not_omitted(assets)
- test_a_components_sidecar_from_a_different_image_is_not_trusted · function · L1367-L1399 — def test_a_components_sidecar_from_a_different_image_is_not_trusted(assets)
- test_the_provenance_points_at_the_repository_this_source_lives_in · function · L1402-L1421 — def test_the_provenance_points_at_the_repository_this_source_lives_in( assets, monkeypatch )
- test_the_canonical_uri_prefers_the_running_repository · function · L1424-L1427 — def test_the_canonical_uri_prefers_the_running_repository(monkeypatch)
- test_the_pyproject_fallback_matches_the_host_and_not_a_substring · function · L1430-L1468 — def test_the_pyproject_fallback_matches_the_host_and_not_a_substring( monkeypatch, tmp_path )
- no_origin · function · L1446-L1447 — def no_origin(_a, *_kw)
- test_the_pyproject_fallback_skips_a_line_it_cannot_parse · function · L1471-L1510 — def test_the_pyproject_fallback_skips_a_line_it_cannot_parse(monkeypatch, tmp_path)
- no_origin · function · L1486-L1487 — def no_origin(_a, *_kw)
- test_the_pyproject_fallback_survives_a_hostname_that_raises · function · L1513-L1570 — def test_the_pyproject_fallback_survives_a_hostname_that_raises(monkeypatch, tmp_path)
- no_origin · function · L1530-L1531 — def no_origin(_a, *_kw)
- _HostnameRaises · class · L1535-L1540 — class _HostnameRaises
- hostname · method · L1539-L1540 — def hostname(self)
- fake_urlsplit · function · L1542-L1547 — def fake_urlsplit(value): # Only the sentinel line reaches
.hostname and blows up there; the # genuine line splits for real so the feature still has to resolve it.
- test_the_provenance_binds_the_digests_and_claims_no_author · function · L1573-L1581 — def test_the_provenance_binds_the_digests_and_claims_no_author(assets)
- test_an_sbom_with_nothing_to_list_is_still_honest · function · L1584-L1587 — def test_an_sbom_with_nothing_to_list_is_still_honest()
- test_provenance_subjects_are_sorted_so_two_runs_agree · function · L1590-L1598 — def test_provenance_subjects_are_sorted_so_two_runs_agree(tmp_path)
- test_the_wheel_metadata_is_where_the_component_list_comes_from · function · L1601-L1612 — def test_the_wheel_metadata_is_where_the_component_list_comes_from(tmp_path)
- test_the_checksum_manifest_covers_every_asset_and_is_itself_uploaded · function · L1620-L1636 — def test_the_checksum_manifest_covers_every_asset_and_is_itself_uploaded(assets)
- gh · function · L1623-L1626 — def gh(argv)
- test_the_draft_must_already_exist_and_still_be_a_draft · function · L1644-L1653 — def test_the_draft_must_already_exist_and_still_be_a_draft(assets)
- gh · function · L1645-L1648 — def gh(argv)
- test_an_upload_that_lost_an_asset_stops_before_publish · function · L1656-L1663 — def test_an_upload_that_lost_an_asset_stops_before_publish(assets)
- test_an_asset_whose_name_survived_but_whose_bytes_did_not_is_caught · function · L1666-L1677 — def test_an_asset_whose_name_survived_but_whose_bytes_did_not_is_caught(assets)
- test_an_unexpected_asset_left_in_the_draft_stops_before_publish · function · L1680-L1695 — def test_an_unexpected_asset_left_in_the_draft_stops_before_publish(assets)
- test_the_github_flip_waits_for_the_package_to_be_on_pypi · function · L1703-L1717 — def test_the_github_flip_waits_for_the_package_to_be_on_pypi(assets)
- test_a_complete_release_publishes_last · function · L1720-L1735 — def test_a_complete_release_publishes_last(assets)
- gh · function · L1726-L1728 — def gh(argv)
- _write_checksums · function · L1738-L1749 — def _write_checksums(assets: Path) -> None
- test_the_finalize_step_revalidates_the_draft_before_the_flip · function · L1752-L1772 — def test_the_finalize_step_revalidates_the_draft_before_the_flip(assets)
- gh · function · L1763-L1765 — def gh(argv)
- test_finalize_refuses_to_publish_a_draft_asset_replaced_since_staging · function · L1775-L1789 — def test_finalize_refuses_to_publish_a_draft_asset_replaced_since_staging(assets)
- test_finalize_refuses_when_the_draft_diverges_from_what_pypi_published · function · L1792-L1820 — def test_finalize_refuses_when_the_draft_diverges_from_what_pypi_published(assets)
- diverging · function · L1803-L1807 — def diverging(project, version)
- test_finalize_publishes_when_the_draft_matches_pypi · function · L1823-L1832 — def test_finalize_publishes_when_the_draft_matches_pypi(assets)
- test_finalize_refuses_when_pypi_returns_no_digests · function · L1835-L1853 — def test_finalize_refuses_when_pypi_returns_no_digests(assets)
- test_finalize_refuses_when_pypi_is_missing_a_distribution · function · L1856-L1876 — def test_finalize_refuses_when_pypi_is_missing_a_distribution(assets)
- test_finalize_refuses_a_draft_rewritten_to_drop_its_distributions · function · L1879-L1913 — def test_finalize_refuses_a_draft_rewritten_to_drop_its_distributions(assets)
- test_finalize_refuses_a_draft_that_dropped_only_the_wheel · function · L1916-L1936 — def test_finalize_refuses_a_draft_that_dropped_only_the_wheel(assets)
- test_finalize_anchors_only_python_distributions_not_every_tarball · function · L1939-L1978 — def test_finalize_anchors_only_python_distributions_not_every_tarball(assets)
- test_finalize_still_refuses_when_the_sdist_itself_is_missing_from_pypi · function · L1981-L2002 — def test_finalize_still_refuses_when_the_sdist_itself_is_missing_from_pypi(assets)
- test_finalize_refuses_a_draft_missing_its_checksum_manifest · function · L2005-L2014 — def test_finalize_refuses_a_draft_missing_its_checksum_manifest(assets)
- test_a_receipt_whose_deep_verification_failed_is_not_developer_id · function · L2022-L2044 — def test_a_receipt_whose_deep_verification_failed_is_not_developer_id(tmp_path)
- test_release_mode_rejects_an_image_whose_signature_does_not_verify · function · L2047-L2064 — def test_release_mode_rejects_an_image_whose_signature_does_not_verify(assets)
- test_the_version_is_matched_exactly_not_as_a_substring · function · L2078-L2081 — def test_the_version_is_matched_exactly_not_as_a_substring(filename, version, matches)
- test_a_prerelease_leftover_does_not_stage_for_the_final_tag · function · L2084-L2091 — def test_a_prerelease_leftover_does_not_stage_for_the_final_tag(assets)
- test_a_receipt_from_a_different_image_does_not_sign_this_one · function · L2094-L2119 — def test_a_receipt_from_a_different_image_does_not_sign_this_one(tmp_path)
- test_the_signing_state_is_read_from_evidence_and_never_from_configuration · function · L2127-L2149 — def test_the_signing_state_is_read_from_evidence_and_never_from_configuration()
- test_verified_requires_a_ticket_and_the_build_script_alone_cannot_reach_it · function · L2152-L2187 — def test_verified_requires_a_ticket_and_the_build_script_alone_cannot_reach_it()
- test_the_evidence_bundle_is_read_by_the_products_own_verifier · function · L2195-L2219 — def test_the_evidence_bundle_is_read_by_the_products_own_verifier(tmp_path)
- test_a_tampered_bundle_fails_its_own_verification · function · L2222-L2245 — def test_a_tampered_bundle_fails_its_own_verification(tmp_path)
- test_an_added_payload_is_caught_even_though_every_listed_file_matches · function · L2248-L2266 — def test_an_added_payload_is_caught_even_though_every_listed_file_matches(tmp_path)
- test_the_manifest_vouches_for_itself · function · L2269-L2303 — def test_the_manifest_vouches_for_itself(tmp_path)
- test_a_failed_release_still_seals_its_record · function · L2306-L2316 — def test_a_failed_release_still_seals_its_record(tmp_path)
- test_a_dry_run_leaves_no_evidence_bundle_on_disk · function · L2319-L2336 — def test_a_dry_run_leaves_no_evidence_bundle_on_disk(tmp_path)
- test_a_release_run_that_is_not_staging_still_needs_the_quality_receipt · function · L2342-L2368 — def test_a_release_run_that_is_not_staging_still_needs_the_quality_receipt(assets)
- test_a_release_run_without_a_receipt_stops_before_it_stages · function · L2371-L2376 — def test_a_release_run_without_a_receipt_stops_before_it_stages(assets)
- test_every_shipped_platform_needs_a_build_receipt · function · L2379-L2407 — def test_every_shipped_platform_needs_a_build_receipt(assets)
- test_an_omitted_platform_is_not_demanded · function · L2410-L2415 — def test_an_omitted_platform_is_not_demanded(assets)
- test_the_evidence_bundle_actually_carries_the_sbom · function · L2418-L2438 — def test_the_evidence_bundle_actually_carries_the_sbom(assets)